Introducing TinyML, a state-of-the-art field that brings the performative power of ML to shrink deep structured earning networks to fit on tiny hardware. It is a new approach to edge computing that investigates the deployment and training of machine learning models on edge devices.
TinyML is right at the intersection between embedded machine learning applications, hardware, software, and algorithms. It is an intersection of embedded systems and regular machine learning. It demands not just software expertise but also demands expertise in embedded systems – both of which have significant challenges of their own.
TinyML is a subfield within ML that applies machine-learning and deep learning models to embedded systems running on microcontrollers or digital signal processors, or other ultra-low power specialized processors with. Technically, embedded systems need to be powered by less than 1 mW, so that they can run for months, or even years, without needing to recharge or replace batteries.
TinyML is very similar to Edge AI, but TinyML can take Edge AI one step further and allows you to run machine learning algorithms even on the smallest microcontrollers (MCUs).
According to ABI Research, global shipments of TinyML devices would reach 2.5 billion by 2030, with an economic worth of more than USD 70 billion. Several firms are currently working on chips and frameworks that can be used to build more systematized TinyML devices:
A new TinyML kit for Arduino
Tensorflow Lite for Microcontrollers from Google
Microsoft Azure Sphere, a comprehensive security platform for building faster and more secure IoT devices.
The list goes on and on.
TinyML is impressive in that it intends to work on some very mediocre technology when it comes to the hardware side of things. TinyML's real purpose, in some ways, is to conduct ML inference with the least amount of power possible.
In his original work on the subject, Pete Warden, widely regarded as the founder of TinyML, claims that TinyML should aspire to function at energy usage of less than 1 mW. The reason for this random quantity is because 1 mW consumption allows a device to run for months to a year on a normal coin battery. Consider small Li-Po batteries, coin batteries, and energy collecting devices when considering TinyML's power sources.
TinyML, unlike most machine learning applications, does not rely on GPUs, ASICs, or microprocessors for computation. We are almost entirely relegated to less capable processing gear such as MCUs and digital signal processors to fulfill the ambitious 1 mW goals (DSPs). These devices are frequently Cortex-M based, with only a few hundred kB of RAM, equivalent quantities of flash, and clock rates in the tens of MHz.
Sensors (e.g., camera, microphone) and perhaps BLE (Bluetooth Low Energy) connectivity are among the other components you might find on a TinyML device.
Python is usually the preferred method of building ML models. However, when using TensorFlow Lite, you can utilize C, C ++, or Java to build machine learning models.
Connecting to networks is an energy-consuming operation. Utilizing Tensorflow Lite, you can create machine learning models without connecting to the Internet. In addition, this solves security concerns as embedded systems are less vulnerable to being hacked.
Tensorflow Lite provides pre-trained machine learning models designed for everyday use. This includes:
Object detection: This can identify many objects in an image, allowing up to 80 different things.
Smart response: Creates intelligent responses similar to the ones you would get from chatbots or conversational AI.
Recommendations: It provides custom-designed recommendation systems that are based on user behavior.
There are several viable alternatives to Tensorflow Lite. Two good contenders are:
CoreML Apple library to build machine learning models for iOS devices.
PyTorch Mobile Mobile version of Facebook's PyTorch deep learning library.
With inexpensive things, there are hardware limitations (being connected). In a world where computing power is priced, these devices, for example, fall short. Furthermore, in terms of design and function, these devices are relatively basic. As a result, the cost per unit can be kept low. In a variety of industries, these technologies have been accepted for usage in IoT architectures. E-health, agriculture, and entertainment are among these industries.
These units come in a variety of shapes and sizes, and they are frequently used as end devices in IoT networks. They can also be reprogrammed. The low cost, heterogeneity, and programmability of these deployed devices create a compelling case for intelligence. As a result, more adaptable and intelligent systems would emerge.
The use of GPUs and powerful processors necessitates a significant amount of processing power. Data transmission, whether wired or wireless, can be exceedingly energy-intensive.
When put together with the aforementioned GPUs and processors, MCU-based solutions utilize much less power even at their highest workload. This gives MCUs the option of relying on batteries. It also enables MCUs to perform some energy harvesting. Due to their energy efficiency, they may be installed practically any place. They do not need to be linked to the electrical grid.
With its low power consumption, a smart unit can be integrated with bigger battery-powered devices to create a network of connected smart entities.
Data security and system reliability
Raw data transmission from end devices to the cloud across lossy and unreliable wireless networks exposes the entire system to several issues. For starters, wireless transmissions necessitate a significant quantity of energy. Two, these broadcasts need a significant amount of bandwidth. This method of transmission is also subject to mistakes. Another source of concern is the threat of cyberattacks. Between the end device and the cloud, information can be collected by a third party.
Furthermore, storing data in one place location (in this case, the cloud) reduces its security. All systems that rely on the stored data will be impacted if there is a breach. The system's dependability is jeopardized.
Having on-device data processing would be a good method to prevent many of these issues. Transmissions would be kept to a minimum. To a potential attacker, the data being transferred may not be as critical. This is since (data) processing and decision-making abilities will take place on a local level. The data exchanged between the cloud and the device may not be very valuable. As a result, the system becomes more stable and safe.
TinyML is still in its infancy, and exploration and development in this field are moving at a breakneck pace. This field of study encompasses a wide range of topics, and its success will be determined by breakthroughs at the intersections of several disciplines, such as machine learning algorithms, computer architecture, and hardware design. There are numerous hurdles that this technology must overcome along the road, including:
Heterogeneity in hardware and software:
The TinyML field, like the IoT sector, has a wide range of hardware components and algorithms, making it difficult to grasp the tradeoffs between different TinyML implementations.
Restricted benchmarking tools:
To acquire a thorough understanding of TinyML performance, systems running TinyML-based algorithms must be thoroughly compared. To analyze, quantify, and systematically capture distinct performance variations between systems, a collection of benchmarking tools and procedures is necessary. TinyMLPerf is a new organization set up by the TinyML community to give rules and procedures for benchmarking TinyML systems, taking into account numerous factors such as power consumption, performance, hardware variances, and memory usage.
Lack of commonly acceptable models:
Once a standard, widely approved set of models is publicly available, mass acceptance of machine learning for the MCU-based class of embedded devices will be achievable. A set of widely applicable TinyML-based learning models established by the TinyML community can drive adoption of the TinyML framework, similar to how MobileNet became a baseline model for testing alternative neural network models for mobile edge computing devices.
Other sorts of machine learning models are required:
Due to their improved performance, the TinyML community is currently concentrating on the creation of deep neural network models. Due to their lower complexity and resource requirements, the framework should investigate various forms of machine learning algorithms (such as SVM, ensemble models, decision trees, and so on).
TinyML has the potential to open up a whole new world of smart applications in both the industrial and consumer worlds. Although this field is still in its infancy, it is fast developing. TinyML's current focus is on determining the performance bounds and trade-offs between several integral pieces (machine learning algorithms, hardware, and software) of resource-constrained embedded systems. For TinyML to obtain widespread acceptance, benchmarking criteria must handle the variability of hardware and software.
TinyML will open up new research avenues, with a focus on how inference at the edge affects other features of complex systems, such as connection, autonomy, and cyber-attack resilience. It has a lot of promise to enable machine learning research and development from a new perspective, which can lead to innovative solutions in a variety of fields.