Was ist TinyML?

13.07.2022
Von   IDG ExpertenNetzwerk


Moritz Strube beschäftigt sich seit Beginn des letzten KI-Frühlings vor mehr als 20 Jahren mit Künstlicher Intelligenz. Der Mathematiker und Wirtschaftswissenschaftler ist Spezialist für Data Science, Statistik, Softwareentwicklung und KI-Frameworks. Er lehrt und hält Vorträge zu Künstlicher Intelligenz, Data Science und Blockchain. Seit Oktober 2021 ist er als CTO Teil der Leitung des Unternehmens InspectifAI, welches 2021 von dem Körber Geschäftsfeld Digital gegründet wurde.

 

TinyML (Tiny Machine Learning) ermöglicht die Übertragung von maschinellem Lernen auf winzige Mikrocontroller. Mehr zu Funktion und Nutzen lesen Sie hier.
Ein Mikroprozessormodul kann mittels TinyML auch in kleinen Geräten eingesetzt werden und batteriebetrieben laufen.
Ein Mikroprozessormodul kann mittels TinyML auch in kleinen Geräten eingesetzt werden und batteriebetrieben laufen.
Foto: Quality Stock Arts - shutterstock.com

In Milliarden von Haushaltsgeräten, Maschinen, Autos, Smart-Home-Geräten und Spielzeugen sind winzige Mikrocontroller eingebettet. Tiny Machine Learning (TinyML) ermöglicht die Übertragung von maschinellem Lernen auf diese Geräte und so die zunehmend intelligente Handlung dieser Geräte.

TinyML - Definition

Maschine-Learning-Modelle werden immer leistungsfähiger, dafü aber auch immer komplexer. Sie benötigen daher für die Anwendung entweder viel Energie oder eine Internetverbindung zu einem Server.

Andererseits kommen immer mehr batteriebetriebene Geräte zum Einsatz, für die der Einsatz von Künstlicher Intelligenz vielversprechende Anwendungen ermöglicht. TinyML steht für Machine Learning (ML) auf winzigen (tiny) Mikrocontrollern. Machine Learning bezeichnet den modernen Teil der Künstlichen Intelligenz, bei dem Maschinen aus Datenmengen lernen, bestimmte Probleme zu lösen. Die im März 2019 gegründete TinyML Foundation definiert TinyML als den schnell wachsenden Bereich von Maschinen-Lern-Technologien für Geräte mit extrem niedrigem Stromverbrauch, typischerweise im Bereich von Milliwatt und weniger. Dabei umfasst TinyML Hardware, Algorithmen und Software, die "always-on"-Anwendungen mit kleinsten Stromverbrauch auf batteriebetriebenen Geräten ermöglichen.

Funktionsweise von Tiny Machine Learning

Die folgenden Komponenten müssen dabei zusammenspielen:

  • Ein Mikrocontroller ist ein Ein-Chip-Computersystem, bei dem sich Prozessor, Peripheriefunktionen und Arbeits- und Programmspeicher auf demselben Chip befinden. Aufgrund ihrer geringen Größe können sie kostengünstig in vielen Geräten eingesetzt werden, sie verfügen allerdings nur über geringe Ressourcen.

  • Maschinelles Lernen besteht aus zwei Schritten. Im ersten Schritt wird ein Machine-Learning-Modell auf Basis von Daten traininert. Dies erfordert umfangreiche Rechenprozesse. Mikrocontroller sind dafür nicht geeignet, deshalb werden die Modelle auf leistungsfähigen Computern, z. B. auf dafür spezialisierter Hardware in einer Cloud, trainiert.

Im anschließenden Schritt wird das Modell im produktiven Betrieb eingesetzt. Diese Anwendung des fertig trainierten Modells wird als Inferenz bezeichnet. Mit einer Konvertierung in ein für einen Mikrocontroller geeignetes Format und einer entsprechenden Vereinfachung des Modells kann der Ressourcenbedarf dabei soweit reduziert werden, dass die Inferenz auf einem Mikrocontroller durchgeführt werden kann.

Diese Übertragung kann oft ohne wesentliche Beeinträchtigung der Qualität erreicht werden und die Anforderungen an die Rechen- und Speicherkapazität der Hardware sind bei TinyML deutlich geringer. Unterstützt und vereinfacht wird die Realisierung zum Beispiel durch eine Software-Bibliothek wie TensorFlow Lite for Microcontrollers und die Low-Code-Entwicklungsplattform Edge Impulse.

Die Vorteile von Tiny ML

Mikrocontroller, die die Daten lokal verarbeiten, ermöglichen geringe Latenzzeiten, da keine Internetverbindung mit hoher Bandbreite notwendig ist. Zusätzlich trägt die lokale Verarbeitung zum Datenschutz bei, da die Daten nicht in andere Systeme übertragen werden müssen. Und der sehr geringe Stromverbrauch der Mikrocontroller erlaubt den Einsatz in batteriebetriebenen Geräten. Typische Anwendungen ergeben sich aus der Anforderung, intelligente Systeme im Batteriebetrieb und damit auch ohne energiehungrige Internetverbindung zu betreiben.

Beispielanwendungen für Tiny Machine Learning

Inzwischen gibt es eine Vielzahl von Anwendungen. Die klassische Anwendung ist die Wakeword Detection, die zum Beispiel in Sprachassistenten in Smartphones oder in intelligenten Lautsprechern verwendet wird. Dabei wird das System durch die Nennung bestimmter Wörter - auch Aufwachwort, Aufwachbefehl oder Triggerword genannt - aktiviert. Die Machine-Learning-Modelle dahinter wandeln die Laute in Texte um.

Damit das Gerät ohne hohen Stromverbrauch schnell reagieren kann und die empfangenen Audiodaten nur dann in das Internet übertragen werden, nachdem das Gerät aktiviert wurde, läuft dieses Modell in einem Mikrocontroller. Erst wenn das Gerät durch den Aufwachbefehl aktiviert wurde, erfolgt die Verarbeitung der Spracheingaben in einem leistungsfähigen Modell in der Cloud.

Aber auch die lokale Verarbeitung von Bilddaten ermöglicht viele Anwendungsfälle. So können etwa Objekte und Ereignisse auf Bildern erkannt werden, ohne dass ein Strom- und Internetanschluss notwendig ist. Beispiele für solche TinyML-Anwendungen sind: das Zählen von Menschen oder Wildtieren, oder Detektion bestimmter Personen oder Ereignisse, wie z. B. Diebstahl, Unfälle oder Waldbrände, so dass lokal Daten gesammelt oder Aktionen ausgelöst werden können.

Möchten Sie tiefer in das Thema TinyML einsteigen, kann Ihnen dieses Buch von Pete Warden und Daniel Situnayake weiterhelfen. (bw)