TinyML ermöglicht es, Machine-Learning-Modelle in stromsparenden ICs wie etwa MCUs oder Hardwarebeschleunigern in Edge-Geräten zu implementieren. Christoph Stockhammer, Application Engineer AI bei MathWorks, erläutert die technischen Hintergründe und beschreibt die TinyML-Toolkette des Unternehmens.
Markt&Technik: Was ist TinyML überhaupt?
Christoph Stockhammer: TinyML (Tiny Machine Learning) ist eine Art des maschinellen Lernens, die sich auf die Bereitstellung von Modellen für Mikrocontroller und andere Edge-Geräte mit geringem Stromverbrauch konzentriert. Es bringt KI an die Edge eines vernetzten Systems und ermöglicht performante und energieeffiziente Inferenz direkt in lokalen Geräten, ohne auf Cloud-Connectivity angewiesen zu sein. Hierbei spielen die Auswahl geeigneter Modelle sowie Techniken zur Kompression und Performance-Optimierung eine große Rolle, weil die Rechenressourcen typischerweise stark limitiert sind.
Wodurch unterscheidet sich TinyML von anderen Arten von Machine Learning?
Im Allgemeinen ist die Genauigkeit eines Modells das wichtigste Beurteilungskriterium. Im Falle von TinyML sind aber auch Metriken wie Speicher-Footprint, Latenz und generell Energieverbrauch von entscheidender Bedeutung. Häufig muss ein Kompromiss zwischen Performance und Genauigkeit eines Modells gefunden werden.
Was bedeuten die Begriffe TinyML-Netz, TinyML-Algorithmus und TinyML-Modell?
Ein TinyML-Modell ist ein KI-Modell, das Vorhersagen auf Basis neuer Daten trifft und in der Zielhardware läuft. Typischerweise liegt hierbei ein starker Fokus auf Effizienz und ressourcensparendes Verhalten; TinyML-Modelle sind meist kleiner als »normale« KI-Modelle. Der Begriff »TinyML-Netz« hat eine ähnliche Bedeutung: Er bezieht sich speziell auf ein neuronales Netz, während TinyML auch andere Arten von KI-Modellen meinen kann. Ein TinyML-Algorithmus schließlich umfasst neben der Modellvorhersage auch weitere erforderliche Schritte wie Datenerfassung und Datenvorverarbeitung.
Wie laufen TinyML-Workflows ab – von der Entwicklung eines TinyML-Netzes bis zur Implementierung in die Zielanwendung? Welche Hardware und Software sind dafür erforderlich?
Generell umfasst ein TinyML-Workflow dieselben Schritte wie ein allgemeiner KI-Workflow: Erstens Datenerfassung und -aufbereitung, zweitens Auswahl des TinyML-Modelltyps, drittens Training des TinyML-Modells (üblicherweise nicht in der Zielhardware) und viertens Portieren des Algorithmus einschließlich des TinyML-Modells in die Zielhardware.
Bei der Auswahl der Hardware und des Software-Stacks gibt es eine Vielzahl von Möglichkeiten. Für die Schritte 1 bis 3 benötigt man mindestens einen herkömmlichen PC (eventuell mit Grafikkarte) und ein Framework zum KI-Training (TensorFlow / PyTorch / scikit-learn / Matlab). Der charakteristische Schritt ist der vierte, mit einer breiten Palette an möglicher Zielhardware, die zunehmend auch spezielle Chips für KI-Modelle (wie NPUs) umfasst. Für die Portierung in die Zielumgebung lassen sich Runtime-Umgebungen, Deep Learning Compiler oder auch automatische C/C++-Codegenerierung verwenden.
Welches Produkt- und Lösungs-Portfolio zum Thema TinyML bietet MathWorks an? Was können Matlab, Simulink, die Deep Learning Toolbox und andere Tools von MathWorks hier leisten?
MathWorks bietet die komplette Toolkette von der Datenerfassung und -aufbereitung über das Modelltraining bis hin zur Bereitstellung auf verschiedensten Zielplattformen an. Alle Tools kommen aus einer Hand, damit gibt es keinerlei Brüche in der Toolkette. Ein wichtiger Vorteil: Der komplette TinyML-Algorithmus, also das TinyML-Modell inklusive Datenvor- und -nachbearbeitung, lässt sich optimiert in der Hardware als C- bzw. C++-Code bereitstellen.
In welcher Hardware laufen TinyML-Algorithmen und -Modelle letztlich ab?
Häufig in der CPU eines Mikrocontrollers/Mikroprozessors, es kann aber auch ein Hardwarebeschleuniger (etwa Embedded GPU, NPU, DSP) sein.
Für welche Anwendungen innerhalb und außerhalb der Industrie eignet sich TinyML, auch im Gegensatz zu anderen Arten von Machine Learning?
Weniger leistungsfähige Hardware ist häufig für einen viel günstigeren Preis erhältlich. Deshalb eignet sich TinyML besonders für Anwendungen, die in großer Stückzahl im Feld laufen sollen, etwa virtuelle Sensoren in einem Fahrzeug. Tatsächlich gibt es viele weitere Anwendungen, etwa für Objekterkennung oder Predictive Maintenance. Weil TinyML-Modelle direkt im Edge Device ausgeführt werden, sind sie nicht auf Orte mit Netzwerk-Connectivity beschränkt und eröffnen so neue Anwendungsfälle für KI an abgelegenen oder anderweitig unzugänglichen Orten. Darüberhinaus kann TinyML ein höheres Maß an Sicherheit und Datenschutz für KI-Anwendungen bieten, weil die Daten das Gerät nie verlassen.
Welche Cybersecurity-Aspekte sind bei TinyML zu beachten?
Zu den wichtigen Aspekten gehören die Sicherung der gesammelten Daten, die Minimierung des Risikos, dass das System manipuliert wird, und die Vermeidung von Datenlecks. Dies umfasst auch den Aktualisierungsprozess von Geräten mit neuen Daten oder Parametern.
TinyML bedeutet, dass ein Großteil der Datenverarbeitung lokal im Edge Device erfolgt. Dort müssen die Daten ebenso sicher vor unbefugtem Zugriff sein wie in jedem anderen Kontext. Grundsätzlich notwendige und wünschenswerte Updates des TinyML-Modells stellen einen potenziellen Angriffsvektor dar; es könnte etwa Schadcode eingeschleust werden. Darüber hinaus ist die Überwachung der eingesetzten Algorithmen von entscheidender Bedeutung, um ungewöhnliches Modellverhalten, das auf einen versuchten oder erfolgreichen Angriff hinweisen könnte, so früh wie möglich zu erkennen.
Die Fragen stellte Andreas Knoll.