TinyML as-a-Service: What is it and what does it mean for the IoT Edge?
The power of machine learning can have a remarkable technological impact at the core of constrained and embedded IoT. Yet various technological barriers have so far made it challenging to realize the full value of ML-driven IoT at the edge. Could tiny machine learning provide a solution? In this Ericsson Research series, we explore the possibilities and challenges of machine learning for IoT and introduce the concept of TinyML as-a-service. Read on.
Machine Learning (ML) has profoundly revolutionized and enhanced the last decade of computer technologies. By extension, it has impacted several application domains and industries ranging across medical, automotive, smart cities, smart factories, business, finance, and more. Remarkable research efforts are still ongoing today, across both industry and academia, to bring the full advantage of the ever-growing number of ML algorithms. Here, the aim is to make computing machines, of every size factor, smarter and able to deliver sophisticated and reliable services.
Machine learning and IoT
ML applied in the context of the Internet of Things (IoT) is without doubt an application domain that has attracted a large amount of interest from across the enterprise, industrial and research communities. Today, researchers are working extensively to advance existing ML-driven IoT in order to boost the quality of experience for users of smart devices and improvement of industrial processes.
However, it is worth highlighting how there is not a formal and uniform view on what de facto ML in IoT means, and this has led to multiple opportunities and interpretations. In our view, taking advantage of intelligent algorithms in the IoT context translates to also having the possibility to equip IoT end-devices (such as sensors, actuators and micro-controllers) with functionalities capable of unleashing the power of ML algorithms on the IoT device itself. This thus extends the use of ML in IoT beyond in the cloud and more capable devices running e.g. Linux.
In most cases, many consider ML in IoT as having the possibility to provide ML inference capabilities to devices similar to the well-known Single-Board Computer "Raspberry Pi", with the latter taking the role of IoT device. The question is then, how can we put ML algorithms on constrained devices that are 32-bit MCUs and not capable of running an OS like Linux.
In order to answer, we first need to come up with a clear idea of what can be defined as a constrained IoT device. In the last decades of IoT-related research, there have been countless attempts to converge towards a common and coherent definition. To our extent, we accept the definition and characterization given by the Internet Engineering Task Force (IETF) through the RFC 7228bis. We believe that we must consider and operate within the world of embedded systems to be able to talk about IoT devices at the very deep edge. Embedded can be considered a synonym of hardware and software constraints. This, in turn, can be considered an antonym of Cloud and Edge – different entities that, in this game, can feature big and somehow "unlimited" resources. Embedded can also be viewed as embedding the computing, sensing and actuation in everyday objects and environments, like a soil sensor in agriculture or an appliance in a building.
What is TinyML as-a-Service?
Using this explicit definition of a constrained IoT device as a starting point, it is thus crucial to characterize the distinction between "serving" machine learning to IoT devices, and "developing" machine learning within IoT devices.
In the first case, all the ML-related tasks are “outsourced” to the Edge and Cloud, meaning that an IoT device is somehow "passively" waiting to receive the rendered ML model algorithm elaboration. In the second case, conversely, an IoT device concretely takes part in the execution of intelligent services. This is defined as TinyML as-a-Service, regardless of the more limited resources compared to cloud and edge.
Figure 1 below illustrates the overlap of the different technology areas and enablers, as well as providing a clear overview of our research focus. From a technological point of view, we can notice how there are several overlapping areas which represent the common ground between technological areas and technological enablers. As an example, the world of embedded Linux can be considered a rally point between "Linux" technologies and "Constrained IoT", thus also acknowledging that IoT capabilities stretches across the device-edge-cloud realms. "TinyML" represents the connecting point between "IoT devices" and "ML". It is worth highlighting how TinyML, however it aims to bring ML into the embedded world, does not exclusively overlap with technological enablers such as Linux. This feature represents a crucial aspect of our research area and will be extensively clarified in the upcoming articles.
The challenges of TinyML as-a-Service
The difference between "serving" and "developing" ML in IoT devices presents some significant technical challenges. Lately, efforts to focus on the “developing” technologies have been steadily growing in R&D, not only at Ericsson but also across other key technology players. The aim is to make it easier and straightforward.
To this extent, there are three key challenges which we explore:
- the technical challenges within edge computing and how it cannot be applied to solve all problems
- the relevance of technological differences between web-based and embedded worlds, especially from deployment and execution perspectives
- the demand which ML places on computational resources for delivering an accurate and reliable experience
In this blog series, we introduce and explain how our TinyML as-a-Service approach can bridge the worlds of constrained IoT and ML together. In doing so, we share the core of the TinyML as-a-Service approach, detail the reasons why it is not so straightforward to execute plain ML tasks within embedded IoT, and present possible additional approaches that, along with TinyML as-a-service, could allow to quickly reach a fully ML-driven IoT world.
Stay tuned in the upcoming weeks to discover more about the fascinating fusion between machine learning and IoT at the edge!
Want the latest Ericsson Research blog articles sent to your inbox? Subscribe today on the Ericsson Blog homepage.