The Complete Magazine on Open Source

Microsoft plans AI for devices even tinier than Raspberry Pi

Microsoft ELL to bring AI to devices tinier than a Raspberry Pi

While artificial intelligence (AI) is getting bigger and broader in the market, Microsoft has planned to bring its presence on small devices to grow further. The Redmond company is looking to build a computer-vision model for the hardware even tinier than a Raspberry Pi.

An early preview of Embedded Learning Library (ELL), which has been released on GitHub, is designed to initiate the process of bringing AI to miniature devices. The software is lauded to embed AI onto bread-crumb size computer processors and enable an all new class of machine learning.

Ofer Dekel, who manages the Machine Learning and Optimisation group at Microsoft’s research lab in Redmond, is leading the team of 30 computer scientists, software engineers and research interns in Redmond and Bengaluru to take the latest development to its final stage. The intelligent edge through the software evolution is predicted to make the world populated with small-size intelligent devices. Also, the hardware that jointly builds the space of Internet of Things (IoT) would become a standalone solution to work in tandem with humans.

“Pushing machine learning to edge devices reduces bandwidth constraints and eliminates concerns about network latency, which is the time it takes for data to travel to the cloud for processing and back to the device,” Microsoft’s John Roach writes in a blog post.

The engineering teams at Microsoft’s research labs are planning to deploy machine learning on devices powered by ARM Cortex M7 and even Cortex M0 processors.

Two approaches with single objective

To give the shape to the original plans, Dekel and his army are set to adopt top-down and bottom-up approaches. The top-down approach is targeted at developing algorithms that compress machine learning models trained for the cloud and involves devices like Raspberry Pi 3 and Raspberry Pi Zero. Whereas, the bottom-up model is to bring the same intelligent experience on resource-constrained devices that is available today for computers and servers.

The tiniest device that has been tested to enable machine learning is 2KB RAM-powered Arduino Uno. Dekel has already deployed the initial model on a Raspberry Pi 3 that helps it switch on the sprinkler system in his yard once it detects a squirrel. Other makers are expected to work on solving different problems through the latest development.

In the meantime, you can access the ELL code from its GitHub repository. The library supports a large list of embedded platforms such as Raspberry Pis, Arduinos, BBC micro :bits and some microcontrollers. Furthermore, APIs are provided in C++ and Python to ease the development.