There are many emerging trends in the tech world, and Machine Learning is one of them. Machine Learning is a subset of Artificial Intelligence where a computer learns from data and analyses its patterns to predict an outcome. Usually, Machine Learning models are trained on big chunks of data to analyze the patterns where these complex models require hours or even days to get processed in the cloud centers. The resultant file of these models also contains a good amount of data. As we all know, data is constantly flowing. Therefore, most companies want to build larger machine learning models, which in turn means more data. This is where the problem comes in. How do we deploy these machine learning models on smaller embedded systems like microcontrollers or mobile phones, smartwatches, and so on?
Source: Unsplash
The answer to this lies in one emerging trend that is barely mentioned anywhere but has the power to change the world. It is one of the fastest-growing machine learning technologies: Tiny ML. TinyML means Machine Learning done on tiny computers. The whole point of Tiny ML is for the smaller devices to benefit from Machine Learning.
Let’s take an example to understand this better. GPT-3 has 175 billion parameters and got trained on 570 GB of text. On the other hand, we have Google Assistant that can detect speech with a model that’s only 14 KB. So, that can fit on something as small as a microprocessor, but GPT-3 cannot.
Learning Objectives
This article was published as a part of the Data Science Blogathon.
TinyML, or Tiny Machine Learning, is a game-changer in technology, introducing the power of machine learning to compact devices. Think of it as giving a brain to everyday objects, enabling them to make intelligent decisions locally. This innovation is particularly impactful for devices like sensors and wearables, allowing them to function efficiently without constant reliance on the internet. With TinyML, your devices become smarter, analyzing data on the spot, all while prioritizing privacy. It’s a shift towards a future where our gadgets seamlessly integrate intelligence, making our lives more convenient and personalized.
The main objective of TinyML is to bring the field of Machine Learning to the domain of embedded systems. Microcontrollers play a big part in making it possible. From primary devices like calculators to high-end products like healthcare, they are used everywhere in our day-to-day life.
Microcontrollers are tiny, low-cost integrated circuits designed to perform specific tasks of embedded systems. The benefits offered by these machines are:
TinyML models can be embedded into smaller systems through model deployment. This involves converting the trained machine learning model into a format that can be interpreted and executed by the target device’s hardware.
TinyML led us to the collaboration of embedded systems and machine learning algorithms. This fusion has made many of our devices and appliances a lot smarter. Our smaller devices are capable of doing tasks that were previously only possible on our computers. The most common example of TinyML is the virtual assistant- Siri, Google Assistant, or Alexa. These virtual assistants execute the instructions given to them locally on the device with the help of a machine-learning model. Some of the other uses are as follows:
TinyML has a wide range of industrial applications because the use of embedded systems aids in the detection of faults in machines in real time. This has been useful in predicting when maintenance is required, and detecting defects in advance saves millions of dollars in maintenance costs.
Ping, an Australian startup, has introduced embedded machine learning to monitor wind turbines and alert authorities in the event of a malfunction or danger.
The most famous use of the embedded system in agriculture is TensorFlow Lite. We will be talking more about this tool in the next section. With the help of TensorFlow Lite, farmers can upload pictures of their sick plants and detect the diseases associated with them. This works even without an internet connection, benefiting farmers in remote areas as it safeguards their agricultural interests. There is also an app called Nuru by PlantVillage, an open-source project run by Penn State University which provides similar services.
The use of TinyML in the healthcare sector can lead to great inventions helping in the early detection of diseases that require immediate attention. One of them is – Pneumonia. According to world data, 2.5 million people died from pneumonia in 2019, and almost a third of all victims were children under five. A chest X-ray, blood oxygen levels, and a Complete Blood Count (CBC) are required to detect the disease, which is time-consuming and inaccurate sometimes.
Arijit Das, a 15-year-old tinyML enthusiast, created a tinyML model using the Edge Impulse platform, which detects pneumonia from Chest X-Rays in under a minute. This setup is incredible, given that manual inspection can take anywhere from 1 to 4 days.
A doctor in the Middle East uses embedded systems to detect benign and premalignant oral tongue lesions by automating the screening process. This makes the treatment faster and accessible to more patients.
Numerous other inventions like MaRTiny – a solution to sense extreme heat due to global warming. The technology also has applications in retail, traffic sense, factories, conservation of wildlife, etc. There is a lot in TinyML to explore and learn.
After reading about the wonders possible with TinyML, you might be interested in getting started with your project. Here are some resources required to build your ML models on the tiniest microcontrollers.
These are just the basics, and you can learn in-depth about them from different courses available on the internet.
A. TinyML refers to the field of deploying machine learning models on low-power and resource-constrained devices such as microcontrollers and IoT devices. It enables performing machine learning inference locally on these devices, eliminating the need for constant connectivity to the cloud. TinyML finds applications in areas like edge computing, smart devices, wearable technology, industrial IoT, and embedded systems where real-time, low-latency, and energy-efficient inference is required.
A. Machine Learning (ML) is a wide-ranging field that involves creating algorithms and models to analyze data and make predictions. It covers a broad range of techniques used in various domains. On the other hand, TinyML is a specific branch of ML that focuses on deploying and running ML models on small devices like microcontrollers and IoT devices. TinyML addresses the unique challenges of performing ML on devices with limited resources and power constraints.
TinyML is not tied to a specific language; it’s about using machine learning on small devices. It can be done in C or C++, adapting to the device’s needs.
TinyML models are really small, usually just a few kilobytes. This makes them work well on devices with limited resources, like IoT gadgets and wearables
TinyML has the potential to bring a change in the coming years. The global tech market advisory firm ABI Research believes that the TinyML market will grow from 15.2 million shipments in 2020 to 2.5 billion in 2030. Even according to Harvard associate professor Vijay Reddi, TinyML has the potential to be big, really soon.
Here are some key takeaways from this article:
The media shown in this article is not owned by Analytics Vidhya and is used at the Author’s discretion.
Amazing …u have done a fantastic work here keep going