TinyML Frequently Asked Questions

TinyML Frequently Asked Questions

Q: What is TinyML?

A: TinyML is a branch of machine learning that uses small form factor devices attached with sensors including bare metal or RTOS based microcontrollers to execute ML models and algorithms as software.

Good things, like TinyML, come in small packages.

Another way to look at TinyML technology is as a smaller subset of Machine Learning & Deep Learning technology including software, models, algorithms, applications and devices.

Q: Is TinyML same as Embedded ML?

A: TinyML is implemented of a subset of embedded devices with power lower than 1 Watt. TinyML devices mostly run on AA or coin-cell battery, whereas most embedded devices may use Li-Ion battery or plugged in an electric outlet. Because of power restriction, TinyML devices tends to be bare metal devices. TinyML devices do not have enough resources like hard disk (flash) and RAM to load an operating system. Some TinyML devices may have a variation of RTOS (Real Time OS), whereas embedded Linux is a popular choice for OS among plugged embedded boards.

Not all embedded devices are TinyML devices, but all TinyML devices are embedded devices.

TinyML and Embedded ML

TinyML vs Embedded ML

Q: What is a TinyML device?

A: TinyML devices include Microcontrollers and in some cases Programmable logic controllers (PLCs). These controllers are ubiquitous with low-power and compact form factor that allows them to be used as edge devices for low-latency, low-power, and low-bandwidth model inference. Current count of these devices exceed over 300 billion globally.

Future of ML is like a Blackhole - Tiny & Mighty

In contrast to a typical CPU's power consumption of 65 to 85 watts and a typical GPU's power consumption of 200 to 500 watts, a typical microcontroller uses power on the order of milliwatts or microwatts. This is over a thousand time power savings and a thousand times less energy. Due to their low power consumption, tinyML devices can run ML applications on the edge while remaining unplugged from internet or electricity for weeks, months, and in some cases, even years.

Q: What is TinyML used for?

A: TinyML is popular among applications that run in remote areas with connectivity contested or denied environments like deep space, defense, farming and others. Here are the 4 popular applications on TinyML mentioned in the book - Introduction to TinyML.

  1. Audio Wake Word Detection

  2. Predictive Maintenance

  3. Visual Wake Word Detection

  4. American Sign Language

There is a list of over 130 TinyML projects as part of verticals in AITS Cainvas.

Q: What are the popular applications of TinyML?

A: There are over a thousand applications that have gained popularity in over 20 verticals including.

  1. Smart Industrial IoT

  2. Smart Aviation

  3. Smart Farming

  4. Smart Transportation and Logistics

  5. Smart Security

  6. Smart Oil and Gas

  7. Smart Environment

  8. Smart Space

  9. Smart Home

  10. Smart City

  11. Smart Retail

  12. Smart Energy

  13. Smart Auto

  14. Smart Society

  15. Smart Finance

  16. Smart Health

A significant number of of verticals are listed in AITS Cainvas.

Q: What are the best TinyML books?

A: TinyML is a relatively new field, so amount of literature is still evolving. Here is what is available so far for TinyML projects:

  1. Non-Tech and Beginner’s No Code TinyML Book - Introduction to TinyML (Price: $0 to $2.99)

  2. Data Scientist TinyML Book - Machine Learning with TensorFlow Lite on Arduino (Price $30.99)

  3. Embedded Developer TinyML Book - TinyML Cookbook for embedded devices (Price $36.99)

Q: Is TinyML a open source framework?

A: TinyML is a foundational technology term (similar to embedded) used as an extension to describe other technologies like tinyML devices, tinyML boards, timyML software, tinyML compiler etc. TinyML compilers and interpreters like AITS deepC compiler and Google's TensorFlow Lite Micro are open source.

Q: How can I learn TinyML?

A: Most of the courses and information on TinyML free. Here is a free TinyML course for beginners and intermediate learners.

  1. TinyML Cainvas Lectures Free on YouTube

  2. TinyML course on EDX

Q: What is a TinyML device?

A: TinyML devices include Microcontrollers and in some cases Programmable logic controllers (PLCs). These controllers are ubiquitous with low-power and compact form factor that allows them to be used as edge devices for low-latency, low-power, and low-bandwidth model inference. Current count of these devices exceed over 300 billion globally.

Future of ML is like a Blackhole - Tiny & Mighty

In contrast to a typical CPU's power consumption of 65 to 85 watts and a typical GPU's power consumption of 200 to 500 watts, a typical microcontroller uses power on the order of milliwatts or microwatts. This is over a thousand time power savings and a thousand times less energy. Due to their low power consumption, tinyML devices can run ML applications on the edge while remaining unplugged from internet or electricity for weeks, months, and in some cases, even years.