What is TinyML and what’s so important about it?
Hi, Habr. Future students course “Machine Learning. Advanced “ everyone is invited to attend an open webinar at the topic “Feature Extraction from Time Series”… Participants of the webinar, together with an expert-presenter, will solve the problem of recognizing activity based on the data of a mobile phone accelerometer. Join us!
And now we are sharing with you the traditional translation of interesting material.
You will learn the main idea, benefits and where to start participating in this “tiny” revolution.
Tiny Machine Learning (or TinyML) is a method machine learningwhich combines lightweight and optimized machine learning optionsrequiring Full-stack solutions (hardware, system, software and applications), including machine learning architectures, methods, tools, and approaches capable of performing analytics on a device at the edge of the cloud.
TinyML can be implemented in low power systems such as sensors or microcontrollers, in order to perform automated tasks.
With TinyML, we can do more with less. It’s still machine learning, but with less power, cost, and no network connection.
Small device with huge potential
This is how Tiny Machine Learning (or TinyML) can be briefly described – without exaggeration, a breakthrough in the field of artificial intelligence.
It should be borne in mind that, according to the ABI Research forecast, by 2030 about 2.5 billion devices will enter the market using TinyML technologies, the main advantage of which will be the creation of intelligent IoT devices and, no less important, their popularization due to the likely cost reduction.
Moreover, research by the consulting firm Silent Intelligence confirms the previous prediction: economic assessment of the TinyML market could cross the $ 70 billion milestone in the next five years. These numbers cannot go unnoticed. Several companies are already working on creating chips that will be used in TinyML implementations.
In addition, various machine learning professionals come together to work out best practics of this segment, which will probably have time to settle down very quickly.
Most IoT devices have a specific task. They receive input through the sensor, perform calculations, and then perform some action or send the data further.
A common IoT approach is to collect data and send it to a centralized registration server, where you can then use machine learning.
But why don’t we make these devices intelligent at the embedded system level? We can create solutions such as smart road signs that monitor traffic density, send alerts when your refrigerator runs out of food, or even predict rain based on weather data.
The problem with embedded systems is that they are too small. And most of them run on various kinds of batteries. Machine learning models consume a lot of computing power. Machine learning tools like Tensorflow are not suitable for building models on IoT devices.
Small Machine Learning Implementation
TinyML uses the same architecture and approach to machine learning, but on small devices capable of performing a variety of functions, from responding to sound commands to performing actions through chemical interaction.
But how do we implement TinyML? Special tools can help us run machine learning models on IoT devices.
The most famous of them is Tensorflow Lite… With Tensorflow Lite, you can group your Tensorflow models to work in embedded systems. Tensorflow Lite provides small binaries capable of running on low power embedded systems.
One example is the use of TinyML in environmental sensors. Imagine that a device is trained to detect the temperature and presence of combustibles in a forest. This device can be important for risk assessment and identification of fire hazardous areas.
Some of the main differences of this technology:
Data security: Since there is no need to transfer information to the external environment, the guarantee of data confidentiality is higher.
Energy saving: The transfer of information requires an extensive server infrastructure. When data transfer is not necessary, energy and resources are saved, as well as costs.
No connection dependency: If the device needs the Internet to work, and there is no connection with it, then it will be impossible to send data to the server. You try to use the voice assistant, but it is not responding because it is connected to the internet.
No delay: Data transfer takes time and often results in delays… When data transfer is not part of the workflow, the result will be instant.
The preferred language for creating machine learning models is usually Python, but with TensorFlow Lite you can use C, C ++, or Java to create models.
Connecting to the network is an energy consuming operation. Using Tensorflow Lite, you can deploy machine learning models without the need for an internet connection. It also solves security concerns as it is relatively easier to exploit vulnerabilities in embedded systems.
Tensorflow Lite already offers a set of pre-trained machine learning models for everyday use. These include:
Object detection – used to recognize multiple objects in the image, with support for up to 80 different elements.
Smart the answers – generates intelligent responses similar to those you get when interacting with a conversational AI or chatbot.
Recommendations – offers systems of individual recommendations based on user behavior.
There are also some good alternatives to Tensorflow Lite. The two big competitors are:
CoreML – Apple library for building machine learning models on iOS devices.
PyTorch Mobile Is the mobile version of Facebook’s PyTorch deep learning library.
TinyML is still in its early stages of development. Tensorflow Lite and other TinyML frameworks are constantly being improved to support more complex machine learning models.
It may take some more time before we start to see TinyML being ubiquitous. But rest assured, smart devices are on their way.
Where can I learn more about TinyML?
Currently, the leading community is tinyML Foundation, whose goal is to create a global community of researchers, engineers, product managers to develop cutting-edge technologies, promote and stimulate research on this topic.
On my own I would like to recommend a fascinating book (I am reading it now and probably will soon write a review on it) called Tiny ML: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low Power Microcontrollers, written by Pete Warden and Daniel Situayake, which is an introductory course into the TinyML universe.
The book aims to help understand how we can train small models that recognize sound, images, and data to perform specific tasks. According to the book, it doesn’t require any previous experience with machine learning or microcontrollers to get started. I think you should at least take a look at her.
TinyML will open up a number of new possibilities for IoT devices such as TVs, cars, coffee machines, clocks and other consumer devices, bringing them intelligent features that only computers and smartphones can boast today.
In the future, we will see voice interfaces implemented in almost everything. Once we can create quality voice interfaces at a low cost, we can install them on any consumer element to replace buttons, especially when it comes to devices that combine audio and video.
I want to be ready for this, do you?
If you want to learn more about Machine Learning, Artificial Intelligence, IoT and 5G, I have selected some interesting articles that you might want to read:
Artificial intelligence, the Internet of Things and 5G will shape our future, but what exactly should we expect from them?
The best Youtube channels for learning AI, Machine Learning and Data Science.
Also, I just posted my new e-book on Amazonand am also working on publishing several other books this year.
Microcontrollers – MicroNets: neural network architectures for deploying TinyML applications on consumer microcontrollers
TensorFlow Lite Micro: Embedded Machine Learning in TinyML Systems
How engineers are using TinyML to create smarter peripherals
Learn more about the course “Machine Learning. Advanced “.
Register for the webinar on the topic “Extraction of features from time series”.