Von vorausschauender Wartung und Bilderkennung bis hin zur Fernüberwachung von Anlagen und Zugangskontrolle – die Nachfrage nach industriellen IoT-Anwendungen, die Modelle für maschinelles Lernen (ML) auf lokalen Geräten statt in der Cloud ausführen können, wächst rasant.
Sogenannten »ML-at-the-Edge«- oder »Edge-ML«-Implementierungen (Machine Learning) unterstützen nicht nur Umgebungen, in denen Sensordaten weit entfernt von der Cloud gesammelt werden, sondern sie bieten auch Vorteile wie niedrige Latenz, Echtzeit-Inferenz, geringere Ansprüche an die Kommunikationsbandbreite, verbesserte Sicherheit und niedrigere Kosten. Trotz der vielen Vorteile bringt Edge-ML natürlich auch ihre eigenen Herausforderungen mit sich, sei es die begrenzte Verarbeitungsleistung und der begrenzte Speicher des Bausteins im Edge, die Verfügbarkeit oder das Erstellen geeigneter Datensätze oder die Tatsache, dass die meisten Entwickler von Embedded-Systemen über keinen datenwissenschaftlichen Hintergrund verfügen. Die gute Nachricht dabei ist: ein wachsendes Ökosystem aus Hardware, Software, Entwicklungstools und Support hilft Entwicklern dabei, diese Herausforderungen zu meistern. Zehn Faktoren, die Entwickler von Embedded-Systemen in Hinblick auf Edge-ML berücksichtigen sollten, sind dabei besonders wichtig.
Maschinelles Lernen ist eine Untergruppe der künstlichen Intelligenz (KI) und nutzt Algorithmen, um Schlussfolgerungen (Inferenzen) aus aktuellen und historischen Daten zu ziehen. Bislang wurden ML-Anwendungen so umgesetzt, dass der Großteil der Datenverarbeitung in der Cloud stattfand. Edge-ML hingegen reduziert oder eliminiert die Abhängigkeit von der Cloud, weil es lokale IoT-Geräte in die Lage versetzt, Daten zu analysieren, Modelle und Vorhersagen zu erstellen und Maßnahmen zu ergreifen. Darüber hinaus kann die Maschine im Edge ihre Effizienz und Genauigkeit ständig verbessern, und zwar automatisch und mit wenig oder gar keinem menschlichen Eingriff.
Edge-ML hat das Potenzial, dem Bereich »Industrie 4.0« einen großen Schub zu verleihen, denn mithilfe einer echtzeitfähigen Verarbeitung im Edge wird die Effizienz in der Fertigung verbessert. Auch Anwendungen von der Gebäudeautomatisierung bis hin zur Sicherheit und Überwachung profitieren ebenfalls von Edge-ML. Das Potenzial von Edge-ML ist entsprechend riesig, wie eine aktuelle Studie von ABI Research zeigt. Darin wird prognostiziert, dass dieser Markt bis zum Jahr 2027 mehr als 5 Mrd. Dollar betragen wird. Während ML früher eine Domäne der Bereiche Mathematik und Datenwissenschaften war, ist es zunehmend ein Teil technischer Prozesse und insbesondere ein wichtiges Element der Entwicklung von Embedded-Systemen geworden. Die Herausforderungen im Zusammenhang mit der Umsetzung von Edge-ML liegen daher nicht so sehr in der Frage »Wo fangen wir an?«, sondern vielmehr in der Frage »Wie können wir dies schnell und kostengünstig erreichen?« Die folgenden zehn Überlegungen sollen helfen, diese Frage zu beantworten.
Bislang wurden die meisten ML-Implementierungen in leistungsstarken Computern oder Cloud-Servern durchgeführt. Edge-ML muss jedoch in Embedded-Hardware implementiert werden, die sowohl in Hinblick auf Platz als auch auf Leistungsaufnahme/Rechenleistung begrenzt ist.
Der Einsatz intelligenter Sensoren, die bereits bei der Datenerfassung eine gewisse Vorverarbeitung der Daten durchführen, erleichtert die Organisation und Analyse der Daten, da sie die ersten beiden Schritte im ML-Prozessablauf übernehmen (Bild 1).
Ein intelligenter Sensor kann eine von zwei Arten intelligenter Modelle bedienen: solche, die für eine einfache Klassifizierung trainiert sind, oder solche, die für die Lösung regressionsbasierter Probleme trainiert sind.
ML-Modelle müssen einsatzfähig sein, und das erfordert Schnittstellen zwischen den einzelnen (Software-)Teilen der Maschine. Von der Qualität dieser Schnittstellen hängt es ab, wie effizient die Maschine arbeitet und inwieweit sie selbstlernend ist. Die Grenzen eines ML-Modells bestehen aus Eingaben und Ausgaben. Die Berücksichtigung aller Eingangsmerkmale ist relativ einfach, weniger einfach ist es allerdings, die Vorhersagen des Modells zu berücksichtigen, insbesondere bei einem unbeaufsichtigten System.
Die Schnittstellen beziehen sich aber auch auf die physische Verbindung zwischen den Elementen der Hardware. Dabei kann es sich um einfache Anschlüsse für USB oder externen Speicher handeln aber auch um komplexere Schnittstellen, die die Verbindung für Videostreams und benutzerspezifische Eingaben unterstützen. Edge-ML-Anwendungen sind per Definition platz-, energie- und kostenbeschränkt, sodass die minimierte Anzahl und Art der Schnittstellen berücksichtigt werden sollte.
Die Verwendung kommerziell verfügbarer Datensätze (eine Sammlung von Daten, die bereits in einer bestimmten Reihenfolge angeordnet wurden) ist eine gute Möglichkeit, ein Edge-ML-Entwicklungsprojekt zu beschleunigen. Der Datensatz muss für die Verwendung entsprechend dem Zweck des Edge-ML-Geräts optimiert sein.
Betrachtet man zum Beispiel ein Sicherheitsszenario, in dem das Verhalten von Personen überwacht und verdächtiges Verhalten automatisch gekennzeichnet werden soll: Wenn ein lokales Überwachungsgerät über eine Embedded-Bildverarbeitung verfügt und in der Lage ist, zu erkennen, was Menschen tun – z. B. stehen, sitzen, gehen, laufen oder eine Tasche/einen Koffer unbeaufsichtigt lassen – können Entscheidungen an der Datenquelle getroffen werden.
Anstatt das Gerät von Grund auf zu trainieren, könnte ein Teil des Eingabedatensatzes auch ein verfügbarer Trainingssatz sein (Bild 2), wie z. B. MPII Human Pose, der etwa 25.000 Bilder aus Online-Videos enthält. Die Daten sind klassifiziert, sodass sie für überwachtes maschinelles Lernen verwendet werden können.
Die für Edge-ML erforderliche Rechenleistung variiert je nach Anwendung. So benötigt die Bildverarbeitung zum Beispiel mehr Rechenleistung als eine Anwendung, die auf der Abfrage eines Sensors oder der Aufbereitung einer Eingabe basiert.
Generell gilt jedoch: ML-Modelle, die auf intelligenten Geräten eingesetzt werden, funktionieren am besten, wenn sie klein sind und die von ihnen geforderten Aufgaben einfach sind. Mit zunehmender Größe der Modelle und Komplexität der Aufgaben steigt der Bedarf an Rechenleistung schnell an. Wenn dieser Bedarf nicht gedeckt ist, wird die Systemleistung (in Bezug auf Geschwindigkeit und/oder Genauigkeit) beeinträchtigt. Die Möglichkeit, kleinere ICs für ML zu verwenden, wird jedoch durch Verbesserungen bei den Algorithmen und bei Open-Source-Modellen (wie TinyML), ML-Frameworks und modernen IDEs unterstützt, die dem Entwickler beim Erstellen effizienter Designs helfen.
Viele Edge-ML-Anwendungen erfordern Edge-Verarbeitung für die Bild- und Audioerkennung. MPUs und FPGAs, die eine Cloud-basierte Verarbeitung für solche Anwendungen unterstützen, sind schon seit einiger Zeit verfügbar, aber jetzt machen stromsparende Halbleiterbauelemente die Entwicklung Edge-basierter Anwendungen ebenfalls viel einfacher.
Ein Beispiel: Der SAMA7G54 mit 1 GHz von Microchip (Bild 3) ist die branchenweit erste Single-Core-MPU mit einer MIPI-CSI-2-Kameraschnittstelle und erweiterten Audiofunktionen. Der Baustein integriert komplette Bild- und Audio-Subsysteme, unterstützt bis zu 8 MPixel und 720p @ 60 fps, bis zu vier I2S (Inter-IC Sound), einen SPDIF-Sender und -Empfänger (Sony/Philips Digital Interface) und einen 4-Stereo-Kanal-Audio-Abtastratenwandler.
Es zeigt sich ganz klar, dass spezielle Bausteine für fortschrittliche Edge-basierte Verarbeitung nicht länger erforderlich sind. Denn Fortschritte in der Halbleitertechnologie und bei den ML-Algorithmen haben dazu geführt, dass auch gängige 16-Bit- und sogar 8-Bit-MCUs eine Option für effektives Edge-ML sind. Für viele Anwendungen ist der Einsatz dieser ICs mit geringem Stromverbrauch und kleinem Formfaktor überhaupt erst die Voraussetzung, um batterie- und sensorbasierte industrielle IoT-Edge-ML-Systeme zu realisieren.