What is TinyML?
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
Innovator, Kwabena
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 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.
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 :
LINKEDIN:
YOUTUBE:-
Comments
Post a Comment