What is Edge Machine Learning (ML)?
Edge machine learning (ML) allows tiny, embedded devices to run applications that collect sensor data and process the data with some sort of machine learning algorithm. In the past, machine learning algorithms were typically run in the cloud. By moving the algorithm to the embedded device, a few benefits might apply:
-
Low latency: As the sensor data is processed locally, there is no need to send data to the cloud, which allows processing it in real time.
-
Privacy: Keeping the sensor data locally solves some of the security concerns related to sending sensitive data to the cloud.
-
Data bandwidth: Rather than sending the sensor data to the cloud, which might require a significant bandwidth from the connectivity block, the device can simply send the results of the data processed locally to the cloud.
-
Reliability: Even if the connection between the embedded device and the cloud breaks, the system might still be able to collect data and run the machine learning algorithm on the device.
-
Lower cost: By having edge-based inferencing, it allows the device to do early intervention for critical costly issues and reduces the cloud broker and compute cost for sending raw data.
When running a machine learning algorithm on the edge, the focus is on executing the inference engine, which is the process of passing sensor data into a machine learning model to calculate an output. The machine learning model needs to be trained by using a good-quality and quantitative data set. The initial training phase typically runs on a high-level computing system, for example, collecting motion data for human activity such as “jumping”, “sitting”, and “walking” from multiple individuals. Later, a training algorithm can be applied to generate a trained model and then the model can be deployed to the device so that it can detect the activity performed. The diagram below shows the standard embedded ML flow for a gesture detect model.