Sustainability can be in the eye of the beholder. That’s certainly true for the question of how can TinyML (tiny machine learning) support sustainability on the edge? From a societal perspective, The United Nations Educational, Scientific and Cultural Organization (UNESCO) believes that TinyML can help to achieve its Sustainable Development Goals (SDGs). From an engineering and CO2 emissions perspective, it’s a bit more complicated.
TinyML enables always-on ML applications on the edge, but are always-on applications the most sustainable? Or are more straightforward MCU-based implementations a more sustainable option?
This FAQ explores that question by first defining TinyML, then looking at how UNESCO is using TinyML to support its SDGs in developing countries. It closes by looking at a comparative analysis of the total lifecycle CO2 emissions of representative TinyML implementations.
TinyML is focused ML
TinyML is optimized for resource-constrained embedded environments, especially edge devices like Internet of Things (IoT) sensors. It’s focused on deploying simple ML models that can run on battery-powered MCU-based systems and don’t require connectivity for operation. These systems consume as little as 1 mW of power. TinyML lies at the intersection of machine learning, low-power embedded systems or edge devices, and sensor-based applications (Figure 1). These characteristics make TinyML suitable for diverse uses like precision agriculture, environmental monitoring, industrial predictive maintenance, and sustainable development.
TinyML support for sustainable development
UNESCO believes that machine learning, especially TinyML, can be a critical factor in addressing societal and developmental issues in fields like agriculture, conservation, and healthcare. The organization has issued a study highlighting how ML and artificial intelligence (AI) can be instrumental in sustainable development, specifically in UNESCO’s 17 SDGs and 169 targets internationally defined in the 2030 Agenda for Sustainable Development. The study finds that AI/ML can be helpful in varying degrees for many of the organization’s targets. But there are challenges with deploying the technology in countries with different cultural values and different levels of wealth. According to the UNESCO report, there are five challenges to overcome when using ML to address the SDGs, and the use of TinyML can be instrumental in several instances. Those challenges include:
- Connectivity can be a challenge in developing countries where available bandwidth is often limited or nonexistent.
- Energy consumption must be very low to enable long-term operation with little or no maintenance, like battery replacement.
- Privacy is a concern and can be enhanced since TinyML does not require connectivity to operate.
- Latency can be a concern for conventional AI/ML implementations that require connectivity to the cloud; that concern is eliminated with TinyML.
- Applications availability is the most significant challenge and hardest to overcome. According to the UNESCO study, AI applications are currently biased toward SDG issues in more developed countries where the application developers tend to live. In addition, research that is taking place favors the interests of large corporations with little or no consideration for broader global social needs. Finally, the report sees no concerted efforts to overcome this shortcoming in AI application development.
One example of how TinyML can address the above challenges is by implementing an outdoor high-definition object recognition application for environmental monitoring or conservation purposes. With TinyML, data would be processed at the edge, and communication established only when an object of interest had been identified. That approach has several benefits, including using less bandwidth, saving large amounts of energy by minimizing RF transmissions, and maximizing privacy since no raw data is transmitted. Local processing would significantly reduce latency if the TinyML-based algorithm identified the need for an action or response. TinyML can be used to address a broad range of SDGs. Examples of existing applications include:
- A Small Wildlife Tracker is attached to collars on elephants and used to capture real-time movements of the animal using a global positioning system (GPS) system and capture surrounding images used by a TinyML application to identify nearby objects like potential human predators. Audio sensing and accelerometers are used to estimate the elephant’s mood and help to understand its physical movement and behavior.
- A deep convolutional neural network running on TinyML has been developed for Optimum Tea Fermentation Detection to help processors monitor the quality of processed tea and maximize the price of the tea at the market, benefiting the local community.
- The Ribbit Network has been developed to use a crowdsourced network of low-cost smart sensors to provide accurate and high-quality CO2 measurements and provide more granular data to use in climate change studies.
- A prototype low-cost water-borne cholera detector has been developed in Rwanda. The detector is designed to be pluggable into water taps and uses TinyML to monitor the water’s physicochemical patterns and help predict the potential for cholera.
Two keys to the expanded use of TinyML to address SDGs include the low cost of TinyML implementations and the local development of TinyML applications. To address the need for local application development, UNESCO distributes many Tiny Machine Learning Kits worldwide (Figure 2).
The kit includes an Arduino Nano 33 BLE Sense board containing an MCU and a variety of sensors that can monitor movement, acceleration, rotation, sounds, gestures, proximity, color, light intensity, and movement. The kit also includes the OV7675 camera module and an Arduino shield to enable users to connect additional components and sub-systems for specific application needs. The onboard MCU can implement conventional algorithms as well as deep neural networks based on TensorFlow Lite Micro (TF Lite). TF Lite is a cross-platform, open-source deep learning framework for on-device inference. It was developed by Google and supports Android, iOS, embedded Linux, and generic MCU platforms. Developers can use it to convert TensorFlow pre-trained models into formats optimized for storage or speed limitations on mobile, embedded, or IoT devices.
TinyML has a carbon footprint
The use of TinyML to achieve SDGs can help move sustainable development forward, but how does the use of TinyML impact CO2 emissions? A recent study sought to answer that question by comparing typical TinyML system footprints with a 16-inch MacBook Pro to represent traditional computing systems and an Apple Watch Series 7 to represent a typical edge device.
For example, the carbon footprint of the watch was calculated using a life cycle cost analysis (LCA) over three years of use and is 34 kg of CO2, with 86% coming from the production and shipping of the watch and 13% from daily use of the watch. The calculated LCA for a TinyML device was up to 392 times smaller than the MacBook and up to 38% less than the Apple Watch. The TinyML system has a larger carbon footprint compared to simple MCU-based devices. The LCA carbon footprint of the TinyML system is largely attributable to the power supply, onboard sensors, and transportation (Figure 3).
Figure 3: A breakdown of different TinyML system footprints highlights that the footprint is mainly attributable to the embodied footprint of the power supply, onboard sensors, and transportation. (Image: Cornell University)
An additional consideration is quantification of any avoided emissions enabled using TinyML in edge and IoT devices. For example, it’s estimated that implementing MUC-based building automation systems can reduce building energy consumption by about 20%. The study conjectures that an enhanced reduction in building energy consumption will more than offset any increase in CO2 emissions from using TinyML instead of simpler MCU-based devices.
The carbon footprint of TinyML could be offset when using the technology to reduce emissions in larger systems. However, when used globally, the carbon footprint of TinyML becomes significant, and designers need to carefully weigh the energy savings enabled by TinyML versus the increased carbon footprint of TinyML systems compared with simple MCU implementations. Thoughtfully employed, TinyML can improve sustainability, but it’s not a sustainability panacea.
TinyML can be a powerful tool for improving sustainability. UNESCO is developing and deploying TinyML applications to help speed the achievement of its SDGs in developing countries. In terms of reducing CO2 emissions and improving sustainability in various applications, TinyML can be a helpful tool, but it’s not a panacea.
Is TinyML Sustainable?, Cornell University
tinyML, Tiny ML Foundation
TinyML: Applied AI for Development, UNESCO
tinyML Deployment Working Group White Paper #1, TinyML Foundation
Widening Access to Applied Machine Learning with TinyML, Harvard Data Science Review