What is TinyML?

TinyML stands for Tiny Machine Learning and describes die Application of Machine learning in small or tiny electronic components and devices such as microcontrollers or IoT devices or in embedded systems. This is to enable the devices to use and implement machine learning.

Due to the conditions in such devices, there are other prerequisites for machine learning than in other use cases. Since the devices are normally operated with low energy requirements, this premise must also apply to the computing capacities for solving machine learning problems. The great special feature in this approach lies in the Resource constraint in the sense of limited working memory as well as limited computing power of the microcontrollers.

There is No uniform definition of TinyML devicesHowever, the categorisation is often for devices with a working memory of less than one megabyte and a power consumption of less than one milliwatt.

How does the model work?

Since the training of the Machine Learning Models is usually computationally intensive, the training must be carried out in an external environment. After the external training of the model, the algorithm is transferred once to the TinyML device. In the optimal case, the device for inference, i.e. for productive operation, is capable of performing the machine learning tasks autonomously and without Cloud communication Execute. Common frameworks and tools in the field of machine learning such as TensorFlow fail for the use case on TinyML devices, which is why special libraries and frameworks have been developed for this purpose.

Advantages of TinyML

The advantages of TinyML lie primarily in the possible Autarky of the system. Due to the option of local data processing, the need for a high-bandwidth internet connection is eliminated. At the same time, this also reduces latency times. Since there is no need for data transfer between different devices or systems, TinyML also has high demands in the field of Privacy and data protection. Due to its low energy requirements, TinyML can be operated on battery-powered devices.

Use cases and examples

The fields of application of TinyML are very diverse. Especially Applications on microcontrollers are often widespread because they can be used universally. Often they also work in combination with other applications, as in the so-called keyword spotting or wakeword detection of Voice assistants. If a keyword (e.g. "Hey Siri" or "Okay Google") is recognised, the main CPU of the device switches on, while TinyML is responsible for the permanent filtering of the activation commands. A similar example describes the Monitoring accelerometers and gyroscopes through TinyML in smartphones, which detects if a device is picked up and then activates the main CPU.

Another use case is described by the Object and image recognition of surveillance cameras or sound analysis. In the field of Fire prevention TinyML can be used to train smoke detectors to distinguish real fires from false alarms. Also for Microdrone applications TinyML is used by enabling the drones to navigate independently in the environment. Due to the special requirements of TinyML, special frameworks and libraries are needed for implementation. Examples include TensorFlow Lite, uTensor or CMSIS-NN (Common Microcontroller Software Interface Standard - Neural Network).