Lose the MCU: ST and Qeexo Simplify Machine Learning with AutoMLMay 18, 2021 by Adrian Gibbons
Intelligent decision-making has moved to the edge with machine learning, though deployment could be complicated. Qeexo and STMicroelectronics are looking to change that.
Machine learning requires large datasets for correct inferences, and processing these datasets by transferring them to the cloud isn't practical. Generated data from a user's device typically needs to be processed on that device to reduce power and bandwidth cost, with only decision data being transferred to the cloud.
Traditionally, processing large datasets is not the forte of resource-constrained devices. However, Qeexo has a solution called AutoML, which is meant to address this issue by optimizing deployment on Cortex M0 through M4 devices.
The machine learning flow chart for the LSM6DSOX. Image used courtesy of STMicroelectronics
Today, teaming up with STMicroelectronics, Qeexo has taken the next step in design optimization by deploying their AutoML applications directly on sensors. Eliminating the need for a microcontroller (MCU), AutoML can directly deploy onboard a MEMS sensor with an embedded machine learning core.
Who is Qeexo? What is AutoML?
Qeexo was founded in 2012 by Sang Won Lee (CEO) and Chris Harrison (CTO). The company focuses on providing deployment and optimization solutions for machine learning on highly constrained systems, like the Cortex-M0.
AutoML, a machine learning platform, provides "one-click" solutions to deploying machine learning capabilities on edge. Simply put, the AutoML deployment package has five major processes:
- Define your project
- Select sensors and target hardware
- Collect or upload your data
- Automated machine learning
- Deploy or download your ML package
For electrical engineers looking to get an idea of the configuration, looking at some supported sensors can help provide an overview.
Step 2 of the configuration and setup of an ML solution with AutoML, which shows the list of accelerometers. Image used courtesy of Qeexo
The software is designed to capture data from various sensors at multiple frequencies and target hardware devices. The new collaboration between Qeexo and STMicroelectronics targets the sensor directly for deployment rather than an MCU.
Machine Learning Edge Applications Today
A few uses for the machine learning algorithms are traffic services, autonomous vehicles, and communication networks. However, another use is to enhance the everyday quality of life, for example, by notifying you when your kettle boils [video].
Alternatively, you can also monitor the lifecycle of your power tools. Using the STMicroelectronics' iNEMO monolithic MEMS sensor with embedded machine learning core (MLC), you can determine by inference [video] how often your drill is idle, drilling, or driving a screw and for how long each of these three activities is performed.
Sensor with an MLC detecting the presence of a drilling operation [video:1:17]. Video screenshot used courtesy of STMicroelectronics
The machine learning core can detect a particular set of sensor data from the accelerometer and gyroscope, interpret it, and relay that data to a relevant host device.
STMicroelectronics is Optimizing Edge Hardware
Optimizing power for high-compute ML edge applications can be challenging, especially for those running on battery power. Integrating a machine learning core onboard a sensor, like the LSM6DSOX, can off-load or eliminate the need to run an MCU and reduce overall system power.
MEMS family from STMicroelectronics, including the MLC embedded LSM6DSOX. Image used courtesy of STMicroelectronics
At just 0.55 mA, the LSM6DSOX is a power-efficient module for detecting tilt and significant motion. The module has an I2C interface, which allows for interfacing directly with MCUs or downstream communications modules.
Rapid deployment of machine learning models with Qeexo's AutoML platform will allow engineers to get applications on prototype boards quickly. When optimized, these boards can get to market faster.
Do you have any experience running ML applications on edge devices? What challenges or benefits did it bring to your application? Let us know in the comments below.