Tiny Machine Learning

TinyML für dezentralisierte und energieeffiziente KI

Uhr
von Simon Narduzzi, Doktorand, CSEM; Andrea Dunbar, Group Leader, CSEM

Künstliche Intelligenz ist mittlerweile Teil unseres Alltags, eingebettet in vernetzten Armbändern bis hin zu Smartphones. Wie ist es möglich, solche mächtigen Algorithmen in Umgebungen zu integrieren, wo jedes Milliwatt zählt?

Mobile Geräte und das Internet der Dinge (Internet of Things, IoT) ermöglichen neue Formen der Interaktion mit der digitalen Welt. Durch maschinelles Lernen (Machine Learning) – die Technik, die für KI verwendet wird – werden Objekte intelligent und können grosse Mengen an Informationen verarbeiten. Die meisten vernetzten Objekte senden die Daten noch unverarbeitet in die Cloud, wo sie von komplexen Algorithmen analysiert werden. Dann erst wird das Resultat dem Nutzer zurückgesendet. Dieses Vorgehen erfordert eine umfangreiche Infrastruktur (Netzwerke, Rechenzentren); es stellen sich auch Fragen nach der Zuverlässigkeit, Geschwindigkeit, Sicherheit und Vertraulichkeit der Daten, ganz zu schweigen von der Energie, die für die Datenkommunikation und die Cloud-Infrastruktur verbraucht wird. TinyML (Tiny = klein, ML = Machine Learning) ist eine Domäne des Embedded Computing. Im Fokus stehen Lösungen, die den Einsatz von Machine-Learning-Lösungen direkt in den vernetzten Objekten ermöglichen. So wird Cloud-Computing sicherer und ressourcenschonender. 

Warum TinyML die Cloud entlasten könnte

Zunächst einmal erfordert die cloudbasierte Verarbeitung von Daten aus vernetzten Geräten eine umfangreiche Infrastruktur, um die Daten zu übertragen, umzuwandeln und zu speichern. Daher kann die Speicherung und Verarbeitung von Daten in den Endgeräten selbst (Edge AI) die Infrastrukturkosten senken. Darüber hinaus kommen intelligente Endgeräte häufig in Anwendungen zum Einsatz, bei denen die Entscheidungsgeschwindigkeit eine zentrale Rolle spielt: Für das autonome Fahren beispielsweise stellt die Datenverarbeitung in der Cloud heute bei sicherheitskritischen Entscheidungen ein unannehmbares Risiko dar. Schwerwiegende Folgen könnten eintreten, sollte die Verbindung unterbrochen werden oder die Latenz zu hoch sein. Ausserdem ist ein Cloud-System ein potenzielles Ziel von Cyberangriffen.

Auch bei kritischen Anwendungen – wie etwa bei der Überwachung einer Hochdurchsatz-Produktionslinie – entsteht ein hoher Datendurchsatz. Latenzen stellen ein Sicherheitsrisiko dar und gefährden die Produktion. Endgeräte, die selbstständig Entscheidungen treffen können, sind also unverzichtbar, da sie kostspielige Ausfallzeiten vermeiden und verhindern, dass Daten von Dritten eingesehen werden. 

Schliesslich bleibt der Energieaufwand für die Übertragung und Verarbeitung von Daten in der Cloud: Beim Streaming werden heute alleine 40 Prozent der benötigten Energie vom Mobilfunknetz verbraucht. Bei über 30 Milliarden vernetzten Objekten, die für 2025 erwartet werden, und vor dem Hintergrund der Klima- und Energiekrise kann maschinelles Lernen "on the edge" den Energieverbrauch, der mit der Datenverarbeitung in der Cloud verbunden ist, erheblich reduzieren.

Denn was TinyML so einzigartig macht, ist seine Fähigkeit, komplexe Algorithmen auf Geräten mit begrenzten Rechenkapazitäten und niedrigem Leistungsbereich einzusetzen: Solche Geräte werden häufig im zweistelligen Milliwattbereich betrieben – ganz im Gegensatz zu industriellen neuronalen Netzen, die auf Grafikkarten mit einem Strombedarf von etwa 300 W laufen (was einem Verhältnis von etwa 1:10000 entspricht). In den letzten Jahren ist TinyML schnell gewachsen – vor allem bei der Integration von KI-Fähigkeiten auf Mikrocontrollern und Sensoren. Zum Einsatz kommen dabei sehr einfache Modelle des maschinellen Lernens, die für den Betrieb auf Geräten mit geringer Rechenleistung optimiert sind.

Lösungen für eingebettetes Machine Learning

Die jüngsten Anstrengungen in Forschung und Entwicklung haben Hand in Hand mit der Industrie die schnelle Implementierung neuer, stromsparender Deep-Learning-Algorithmen sowie die Entwicklung neuer Berechnungsparadigmen und Lerntechniken ermöglicht. Diese Ansätze sind eng an die Hardware angelehnt, denn auch die Leiterplattentechnologien muss optimiert werden, damit solche Algorithmen einsetzbar sind. Erste Lösungen sind bereits verfügbar und weit verbreitet, um die Grösse der Modelle zu reduzieren. Sie werden insbesondere verwendet, um Deep-Learning-Modelle für die Gesichtserkennung in unseren Smartphones oder das Blutdruck-Tracking in unseren vernetzten Uhren und Armbändern einzubetten.

Unter den verschiedenen Algorithmen des maschinellen Lernens sind neuronale Netze eine sehr beliebte Art von Modellen, die auf eine breite Palette von Problemen angewandt wurden. Ihr Erfolg rührt vor allem daher, dass sie einfach zu erstellen sind und auch ohne vorheriges Fachwissen eine akzeptable Leistung bieten. Ausserdem sind vortrainierte Netzwerke leicht im Internet zugänglich und für die Öffentlichkeit verfügbar. Inspiriert vom biologischen Nervensystem, bestehen neuronale Netze aus Schichten von Neuronen, die durch virtuelle Synapsen miteinander verbunden sind. Gewichte sind die Parameter des neuronalen Netzes. Sie legen fest, wie Signale von einer Schicht zur anderen übertragen werden. Sie liegen in Form von Matrizen vor und werden optimiert, während neuronale Netze lernen, das Problem zu lösen.

In eingebetteten Computersystemen ist der Speicherplatz begrenzt und die Algorithmen müssen auf kompakten Netzwerken basieren; nur so lassen sie sich auf dem Gerät speichern. Die Faktorisierungstechnik wird insbesondere dazu verwendet, die Gewichtsmatrizen zu trennen und als Vektoren zu speichern, um die Anzahl der Parameter drastisch zu reduzieren. Eine weitere beliebte Technik, die Quantisierung, besteht darin, die Genauigkeit der Gewichte zu ändern: von Fliesskommazahlen mit 32-Bit Auflösung zu ganzen Zahlen mit nur 8 Bit oder sogar niedriger Darstellung. Ausserdem versucht man, die Redundanz bestimmter Parameter zu erkennen und sie aus dem Modell zu entfernen. Unter Umständen wird eine ganze Neuronenschicht entfernt (sogenanntes pruning), ohne die Leistung einzubüssen. Eine andere, ausgefallenere Technik besteht darin, ein kleineres neuronales Netz (student) darauf zu trainieren, die Vorhersagen eines komplexeren neuronalen Netzes (teacher) zu imitieren, um dann das so erhaltene Modell auf dem Chip einzusetzen. Der "Student" muss also nicht das ganze Wissen des "Lehrers" verinnerlichen, sondern nur seine Spezialaufgabe erfüllen. Diese verschiedenen Verfahren können miteinander kombiniert werden, um bessere Ergebnisse zu erzielen. In der Tat macht dieser Bereich rasche Fortschritte und es werden laufend viele neue Techniken und Kombinationen entwickelt.

Entwicklungsansätze und Herausforderungen

Trotz dieser Lösungen bleiben wichtige Herausforderungen bestehen: Es existiert ein Zielkonflikt zwischen der Qualität der Algorithmen und ihrem Ressourcenhunger. Auch die Konformität mit dem Datenschutz muss beim Training der Netzwerke betrachtet werden. Der Einsatz obiger Techniken wirkt sich auf die Leistung der Modelle aus. Die aktuelle Forschung setzt hier an und will Algorithmen weiter verbessern.  Es ist inzwischen allgemein bekannt, dass der grösste Teil des Energiebudgets für Embedded-Systeme für die Datenübertragung zwischen Speicher und Prozessor eingesetzt wird. Die Senkung des Energieverbrauchs und damit die Verbesserung der Akkulaufzeit dieser Systeme ist möglich, wenn schon durch die Architektur der Hardware der Datentransfer reduziert wird.  Intelligente Speicher etwa können einfache Operationen an Daten durchführen, bevor diese an den Prozessor weitergeleitet werden (in-memory computing).
 
Der aktuelle Trend orientiert sich am Konzept der sogenannten Von Neumann-Architekturen. Hier werden Bereiche von Speicher und Berechnung vermischt: Spiking Neural Networks – Modelle, die den biologischen neuronalen Netzen ähnlicher sind – werden die Informationen nicht mehr in einem externen Speicher, sondern in den Neuronen und Synapsen des Netzes speichern. Auch alte Konzepte wie das analoge Computing werden wiederbelebt, indem Transistoren im subthreshold-Regime betrieben werden, was zu enormen Energieeinsparungen auf Kosten weniger genauer Ergebnisse führt. 

Schliesslich wird die Frage untersucht, wie die neuen Lernparadigmen den Anforderungen des Datenschutzes entsprechen. Ansätze sind das Training von Algorithmen auf den verteilten Chips selbst, wobei die Objekte entweder selbstständig lernen (online learning) oder untereinander minimale Informationen austauschen, um sich gegenseitig zu helfen (federated learning).

In Zukunft könnten die Objekte energie- und entscheidungsautark werden, wobei die Daten an der Peripherie bleiben oder nur dann mit der Cloud geteilt werden, wenn eine tiefergehende Analyse erforderlich ist. Vernetzte Objekte werden selbstständig lernen und uns in Echtzeit über den Zustand unserer Umgebung informieren können. Intelligenz wird überall vorhanden sein, verteilt und in greifbarer Nähe. In dieser Hinsicht muss die TinyML-Gemeinschaft also die Qualität der Modelle weiter verbessern und gleichzeitig sicherstellen, dass sie auch auf Geräten mit besonders geringem Energieverbrauch zufriedenstellend laufen. TinyML ist eine umweltschonende Technologie, welche Innovationen antreibt und unseren Alltag verbessert.

Eine wachsende Schweizer Community 
Intelligente TinyML-Objekte existieren an der Schnittstelle von Hardware und Software. Die Entwicklung und Qualifizierung dieser Geräte erfordern neue Werkzeuge. Die internationale Organisation TinyML Foundation wurde gegründet, um den Fortschritt in diesem Bereich zu beschleunigen und die Entwicklung neuer Anwendungen zu erleichtern. TinyML hat gerade eine Zweigstelle in der Schweiz eröffnet, die sich aus Mitgliedern der Industrie und der Akademie zusammensetzt, wie z.B. CSEM, ETH Zürich, Logitech, SynSense und Synthara. Im Jahr 2023 werden öffentlich zugängliche Veranstaltungen stattfinden, unter anderem technische Präsentationen und Workshops. Weitere Informationen unter: https://tinyml.org/. 

Webcode
FnSSGQwM