What is TinyML?




 TinyML focuses on optimizing machine learning (ML) workloads for processing on microcontrollers as small as a grain of rice and utilizing only a few milliwatts of electricity. TinyML provides intelligence to little devices. We mean minuscule in every sense of the word: as small as a grain of rice and requires very little energy. TinyML, which has the support of Arm, Google, Qualcomm, and others, has the potential to transform the Internet of Things (IoT), where billions of tiny devices based on Arm chips are already being used to provide greater insight and efficiency in consumer, medical, automotive, and industrial sectors.

Why target microcontrollers with TinyML?



Microcontrollers such as the Arm Cortex-M family are an ideal platform for ML because they’re already used everywhere. They perform real-time calculations quickly and efficiently, so they’re reliable and responsive, and because they use very little power, can be deployed in places where replacing the battery is difficult or inconvenient. Perhaps even more importantly, they’re cheap enough to be used just about anywhere. The market analyst IDC reports that 28.1 billion microcontrollers were sold in 2018, and forecasts that annual shipment volume will grow to 38.2 billion by 2023.

TinyML on microcontrollers introduces new methods for evaluating and comprehending the huge amounts of data created by the Internet of Things. Deep learning approaches, in particular, may be used to interpret information and make sense of data from sensors that detect sounds, capture photos, and track motion.

 

Who invented TinyML?


TinyML would not be possible without a number of early influencers. Pete Warden, a “founding father” of TinyML and a technical lead of TensorFlow Lite Micro at Google, Arm InnovatorKwabena Agyeman, who developed OpenMV, a project dedicated to low-cost, extensible, Python-powered machine-vision modules that support machine learning algorithms, and Arm Innovator, Daniel Situnayake a founding tinyML engineer and developer from Edge Impulse, a company that offers a full tinyML pipeline that covers data collection, model training, and model optimization. Also, Arm partners such as Cartesiam.ai, a company that offers NanoEdge AI, a tool that creates software models on the endpoint based on the sensor behavior observed in real conditions have been pushing the possibilities of tinyML to another level. 

 

 

Why do we need TinyML?


 We now live in a world where Machine Learning models are everywhere. You probably use these models more than you realize throughout the day. Machine learning models are used in everyday tasks like scrolling through social media, snapping a picture, and checking the weather. You may have come across this blog as a result of a machine learning model recommending it to you.

We all know how time-consuming it is to train these models. However, doing inference on these models is typically computationally expensive. We need computing platforms that can handle the rate at which machine learning services are being used. As a result, the majority of these models are run on massive data centers with clusters of CPUs and GPUs (even TPUs in some cases).

You want the machine learning magic to happen instantly when you capture a picture. You don't want to wait for the image to be transmitted to a data center, processed, and then returned to you. You want the machine learning model to operate locally in this situation.

You want your devices to answer promptly when you say "Alexa" or "OK, Google." Waiting for the device to send your voice to the servers, which will process it and extract the information. This takes time and has a negative impact on the user experience. Again, you want the machine learning model to operate locally in this situation.

 

Advantages of TinyML?

1)    Low Latency: Edge devices can analyze data and deliver inference with minimal latency thanks to TinyML's on-device analytics capabilities, which eliminate the need to send data to a server.

2)    Data security: The risk of sensitive data being compromised is reduced by keeping the data on the edge device.

3)    Doesn't rely on internet access: TinyML allows smart edge devices to make inferences even when they are not connected to the internet.

 

Challenges faced by TinyML?

 

1)    Limited memory: TinyML devices have kilobytes or megabytes of memory. This puts restrictions on the size and the runtime of the machine learning models deployed on these devices. Currently, there is a limited number of ML frameworks that can meet the requirements of TinyML devices. TensorFlow Lite is one such framework.

2)    Troubleshooting: Since the ML model trains on the data that the device collects and runs on the device itself, it is harder to determine and fix the performance issues than in a cloud setting where troubleshooting can be done remotely.

 

What are the use cases and applications of TinyML?

 

TinyML has the potential to alter the way IoT data is used by lowering latency and increasing privacy. TinyML can aid the following industries:

 

1)    Manufacturing: Predictive maintenance enabled by TinyML can reduce downtime and expenses associated with equipment failure.

2)    Retail: TinyML can be used in the retail industry to track inventory and provide notifications. This can help you avoid running out of stock.

3)    Agriculture: TinyML devices can be used to monitor crops or livestock in real time and provide real-time data.

4)    Healthcare: TinyML devices that offer real-time health monitoring can help deliver better and more tailored patient treatment.



 Hearing aids are an example of a real-world TinyML application in healthcare. Hearing aid technology is battery-operated and runs on resource-constrained microcontroller units, limiting the size of neural networks that may be used to obtain adequate results. Researchers used model compression approaches to reduce latency while maintaining a statistically significant difference in listening preference.

 

How can I get started?

1)    Hardware: For deploying Machine Learning models on the edge, the Arduino Nano 33 BLE Sense is recommended hardware. It has a 32-bit ARM Cortex-M4F microcontroller with 1MB of program memory and 256KB RAM that runs at 64MHz. This microcontroller has sufficient processing capability to execute TinyML models. Color, brightness, proximity, gesture, motion, vibration, orientation, temperature, humidity, and pressure sensors are all included in the Arduino Nano 33 BLE Sense. A digital microphone and a Bluetooth low energy (BLE) module are also included. For the vast majority of applications, this sensor suite will suffice.

2)    Machine Learning Framework: TinyML is only supported by a small number of frameworks. TensorFlow Lite is the most popular and has the most support from the community. We can deploy models on microcontrollers using TensorFlow Lite Micro.

3)    Learning Resources: Since TinyML is an emerging field, there aren’t many learning materials as of today. But there are a few excellent materials like Pete Warden and Daniel Situnayake’s book, “TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power”, Harvard University’s Course on TinyML by Vijay Janapa Reddi, and Digikey’s blogs and videos on TinyML.

 

Credits and References: Soham Bopardikar(SY ENTC, Team Tech Tuesday)

1)  https://www.tinyml.org/

2)  https://www.arm.com/blogs/blueprint/tinyml

3)  https://research.aimultiple.com/tinyml/

4)  https://towardsdatascience.com/an-introduction-to-tinyml-4617f314aa79

NOTE:-

This blog is meant for Educational Purpose only .We do not own any Copyrights related to images and information , all the rights goes to their respective owners . The sole purpose of this blog is to Educate, Inspire, Empower and to create awareness in the viewers. The usage is non-commercial(Not For Profit) and we do not make any money from it.


FOLLOW US ON:-

INSTAGRAM :

https://rb.gy/dcv6bf

LINKEDIN:

https://rb.gy/dcv6bf

YOUTUBE:-

https://rb.gy/dcv6bf



 

Comments

Popular posts from this blog

Managing Radioactive Waste: Modern Solutions and Innovations

WEB 3.0

TECHNOLOGY IN SPORTS: CRICKET