ML-MCU: A Framework to Train ML Classifiers on MCU-based IoT Edge Devices
Bharath Sudharsan,John G. Breslin,Muhammad Intizar Ali
DOI: https://doi.org/10.1109/jiot.2021.3098166
IF: 10.6
2021-01-01
IEEE Internet of Things Journal
Abstract:The majority of IoT edge devices are embedded systems with a tiny microcontroller unit (MCU), which acts as its brain. When users want their edge devices to continuously improve for better edge-analytics results, there is a need to equip their devices with algorithms that can learn/train from the continuously evolving real-world data. Currently, such devices are not capable of executing any machine learning (ML)-based model training tasks due to their resource constraints such as: limited memory (SRAM, Flash, and EEPROM), low operations per second, its inability to perform parallel processing, etc. In this article, we provide ML-MCU, a framework with our novel Optimized-Stochastic Gradient Descent (Opt-SGD) and Optimized One-Versus-One (Opt-OVO) algorithms to enable both binary and multiclass ML classifier training directly on MCUs. Thus, ML-MCU enables billions of MCU-based IoT edge devices to self learn/train (offline) after their deployment, using live data from a wide range of IoT use cases. When evaluating our algorithms on multiple popular MCUs, using various data sets of different sizes and feature dimensions, one of the most exciting findings was, our Opt-OVO algorithm trained a multiclass classifier using a data set of class count 50, on a $$ $ 3 resource-constrained MCU and also performed onboard unit inference for the same 50 class data in super real time (6.2 ms).
computer science, information systems,telecommunications,engineering, electrical & electronic