Embedded KI Herausforderung für den Entwickler-Support

Künstliche Intelligenz wird immer beliebter. Vor allem industrielle Anwendungen profitieren von ihren Vorteilen. Der Trend stellt aber nicht nur die Entwickler selbst vor neue Aufgaben, sondern auch die Distributoren.

Künstliche Intelligenz (KI) hat sich innerhalb der letzten zehn Jahre rasant entwickelt. Zunächst reines Forschungsgebiet, revolutioniert sie heute die Informationstechnologie. Die Fähigkeit zu Deep Learning, also zur Verarbeitung von Bildern, Videos und Sprache, macht KI zu einer Kernkomponente vieler Online-Dienste. Allein Facebook führt täglich Milliarden von Sprachübersetzungen durch.

Die KI-Anwendungen von Social Media und anderen Anbietern von Online-Technologien kratzen jedoch nur an der Oberfläche von dem, was die Technik zu leisten vermag. Maschinenlernen kann Trends und Anomalien in komplexen Daten aufzeigen, dank stetiger Weiterentwicklung hoch performanter Hardware sogar in Echtzeit. Aus diesem Grund sehen viele Designer von Industriesystemen KI-Anwendungen als ein zentrales Tool, um ihre Systeme effizienter und leistungsfähiger zu machen.

KI für industrielle Anwendungen

So verspricht das Condition Monitoring (Zustandsüberwachung) von Systemen – von Windkraftanlagen bis hin zu Werkzeugmaschinen – eine Optimierung von Wartungsplänen, sinkende Betriebskosten und eine Minimierung von Ausfallzeiten. Diese Anwendungen erkennen den Verschleiß an verschiedenen Maschinenteilen und informieren das Wartungspersonal frühzeitig über mögliche Ausfälle. Die wirtschaftlichen Vorteile sind immens: Das Risiko für teure Notfallreparaturen sinkt und Wartungsarbeiten können effizienter geplant und so gelegt werden, dass sie in Zeiten geringerer Systemnutzung fallen.

Die größte Herausforderung für ein effektives Condition Monitoring ist es, die Eingangssignale von verschiedenen Sensoren wie Druck-, Temperatur- und Vibrationssensoren in Zusammenhang zu bringen und Abweichungen korrekt als Hinweise für mögliche Störungen zu interpretieren. Techniken, die rein auf einem Algorithmus basieren, lassen sich nur schwer erstellen und justieren. Maschinenlernen dagegen erlaubt es, Modelle zu entwickeln und einzusetzen, die die Daten verschiedener Sensoren für die Analyse kombinieren und mit Daten aus anderen Systemen vergleichen.

Auch in der Anomalie-Erkennung kann Maschinenlernen von Vorteil für die industrielle Effizienz sein. Statt das System daraufhin zu trainieren, spezifische Arten von Problemen zu erkennen, lässt man es bestimmen, was normales Verhalten ist. Anschließend kann es angewiesen werden, Abweichungen davon als problematisches Ereignis zu betrachten, das dem Überwachungssystem signalisiert werden muss.

Diese Beispiele zeigen, wie groß das Spektrum von maschinellem Lernen ist, machen aber auch deutlich, dass es bei der Implementierung einen großen Bedarf an Flexibilität gibt. Die Wahl der richtigen KI-Technik für Bild- und Videoverarbeitungssysteme fällt höchstwahrscheinlich auf Deep Learning. Avnet Silica hat das schon vor einigen Jahren erkannt: Im Rahmen eines Projekts wurde die Unterstützung für das Maschinenlernen in Systeme für die Bildverarbeitung integriert, um zu ermitteln, wie sich diese in Kundenprojekten einsetzen lassen.

Auch beim Condition Monitoring ist der Einsatz von Deep Learning gut vorstellbar, für andere Anwendungen erscheinen jedoch andere verfügbare KI-Techniken sinnvoller. So bieten sich für die Anomalie-Erkennung unüberwachte Techniken wie k-Means-Algorithmen an, die das überwachte Lernen entweder ergänzen – oder sogar ersetzen.

KI auf Embedded-Systemen implementieren

Die Verfügbarkeit von Cloud-orientierten Entwicklungsumgebungen wie Caffe, MXNet und Tensorflow hat die Produktivität von Entwicklern erheblich gesteigert. Sie erleichtern die Beurteilung verschiedener KI-Techniken, besonders jener, die auf Deep Learning basieren. So hat beispielsweise die Form der Pipeline in einem Deep-Learning-Netzwerk Einfluss auf die Performance einer bestimmten Anwendung: Die Pipeline einer Bilderkennung unterscheidet sich oft deutlich von den Netzwerken, die für Daten von Zeitreihen wie Audiostreams eingesetzt werden. Es ist also wichtig, verschiedene Strukturen an Beispieldaten testen zu können, und das wird durch diese Entwicklungsumgebungen ermöglicht.

Aber auch wenn ein Prototyp an einer Workstation oder in einer Cloud-Implementierung funktioniert hat, stehen Embedded-Entwickler, die KI-Technik in ihren Anwendungen nutzen wollen, noch vor Herausforderungen. Eines der Hauptprobleme stellen die lokalen Verarbeitungskapazitäten dar. Deep Learning benötigt für alle Operationen eine große Zahl an Matrix-Multiplika-tionsperationen. Das Training der Systeme selbst kann auf leistungsstarke Cloud-Server ausgelagert werden. Aber das Inferencing setzt geringe Latenzen bei den Antworten voraus und das bedeutet in den meisten Fällen, dass die Ausführung entweder auf dem Endgerät selbst oder auf einem Gateway-Modul, das sich im lokalen Netzwerk befindet, stattfinden muss. Hersteller wie NXP integrieren Support für Deep Learning in ihre Embedded-Prozessoren, die in der Lage sind, Matrixmultiplikationen mit hohem Durchsatz durchzuführen. Dennoch: Diese haben natürlich deutlich weniger Rechenleistung als die Cloud-Server, die heute im Einsatz sind.

Die Implementierung von Maschinenlernen auf Embedded-Systeme erfordert daher im Vergleich zu Cloud-basierten Systemen eine Reihe zusätzlicher Schritte und Kompetenzen. Erfahrene Entwickler hierfür sind schwer zu finden. Die Qualifikationslücke kann mithilfe von Partnern wie Design-In-Distributoren, die tiefgehende Unterstützung anbieten können, geschlossen werden. So verfolgt Avnet Silica den Ansatz, verfügbare Komponenten mit der IP der Maschinenlernsoftware zu kombinieren und daraus Bausteine zu erstellen, die sich von Entwicklern in Unternehmen leichter und zuverlässiger in ein Zielsystem integrieren lassen. Über die Zusammenstellung dieser Bausteine und Hilfestellungen bei deren Integration können erfahrene Distributoren ihr Wissen weitergeben.

Die Erfahrung mit dem praktischen Einsatz von Maschinenlernen in Embedded-Umgebungen hat gezeigt, dass Deep-Learning-Modelle, wenn sie für Inferenzen genutzt werden, weniger auf arithmetische Präzision setzen und zudem ein großes Maß an Redundanzen aufweisen sollten. Wenn Modelle in der Cloud trainiert werden und dabei Umgebungen wie Caffe oder Tensorflow verwenden, ist die Nutzung von Gleitkommaarithmetik voreingestellt. Dies ist rechenintensiv, ermöglicht aber einen reibungslosen Trainingsablauf. Zahlreiche Forschungsprojekte haben gezeigt, dass die Fehlerquote von Deep-Learning-Netzwerken auch bei drastisch reduzierter arithmetischer Genauigkeit in der Regel nur leicht ansteigt.

So ist es für viele Netzwerke möglich, niedrigauflösende 8-Bit-Ganzzahlen für die Berechnung des Neuronengewichts anstelle des doppeltgenauen Gleitkommawertes zu verwenden, der häufig von Cloud-orientierten Bibliotheken und Umgebungen unterstützt wird. Einige Experimente haben sogar gezeigt, dass selbst die binäre oder ternäre Auflösung für einige Anwendungen ausreichend ist. Das eröffnet Embedded-Systemen mit ihren beschränkten Verarbeitungskapazitäten neue Möglichkeiten.

Auch mittels Pruning lässt sich die Effizienz steigern. Diese Technik analysiert das trainierte neuronale Netzwerk, um festzustellen, wie viel Einfluss jeder Pfad auf das Endergebnis hat. Sehr oft hat der Beitrag eines einzelnen Pfades zwischen Neuronen keinen praktischen Einfluss auf das Ergebnis und kann entfernt werden. Gezieltes Pruning kann die Anzahl der Berechnungen problemlos halbieren – oft mit einem Genauigkeitsverlust von nur einem Prozent.

Tools für die Systemintegration

Mit der richtigen Plattform können Entwickler Pruning und Approximation auf Modelle anwenden, die mit den Cloud-basierten Bibliotheken entwickelt wurden. So unterstützt beispielsweise Xilinx seine FPGA-basierten Plattformen mit einer Reihe von KI-Optimierungstools, die ein trainiertes Modell übernehmen und eine Version erstellen, die auf der Hardware effizient funktioniert. Solche Tools sind aber nur ein Teil der Lösung für die Embedded-Implementierung.

Cloud-basierte Umgebungen berücksichtigen jedoch nicht die Integrationstiefe, die erforderlich ist, damit KI im Kontext eines Embedded-Echtzeitsystems funktioniert. So muss beispielsweise ein Überwachungssystem im Kontext der Echtzeit-Videoübertragung arbeiten. Und ein Condition-Monitoring-System muss Signaleingänge von mehreren Sensortypen verarbeiten, von denen jeder Daten mit unterschiedlichen Geschwindigkeiten zuführt. So werden beispielsweise die Aktualisierungen eines Beschleunigungssensors zur Schwingungserkennung wahrscheinlich viel häufiger erfolgen als die von Druck- oder Temperatursensoren. Die Aufbereitung dieser Eingänge für ein KI-Modell, das Zeitreihenanalysen durchführt, erfordert sorgfältige Überlegung und Planung.

Diese Vielschichtigkeit zeigt, warum das klassische Modell des Hardware-only-Distributors veraltet ist. Es stößt an Grenzen, sobald Kunden komplexe Systeme liefern müssen, die überwiegend auf Software-Integration beruhen. Die Komplexität bei der Integration der benötigten Software und Hardware-Bauteile ist der Grund dafür, dass Avnet Silica seit mehreren Jahren an Lösungen für KI arbeitet, beginnend mit einem Projekt, das Bildverarbeitungssysteme mit Maschinenlernen ausstattet. Über Plattformen wie Zynq UltraScale+ MPSoC von Xilinx hat Avnet Silica Entwicklungssysteme aufgebaut, die die Erstellung von KI-unterstützten Anwendungen vereinfacht.

Bisher gebaute Vorführmodelle beinhalten ein Mehrfachkamera-System, das über mehrere Anwendungen für Bildverarbeitung und Maschinenlernen verfügt, darunter Objekterkennung, Gesichtserkennung, Segmentierung und Videoanalyse. Die Ingenieure werden weiter daran arbeiten, da die Kunden KI in immer mehr Anwendungen wie Condition Monitoring und Anomalie-Erkennung einsetzen.

Der Trend, KI in Embedded-Systemen zu nutzen, hat gerade erst begonnen, aber die Tools und der Support, um KI zu einem Erfolg zu machen, stehen schon bereit.

 

 

Der Autor

Michaël Uyttersprot ist Market Segment Manager bei Avnet Silica für künstliche Intelligenz und Embedded Vision. Uyttersprot verfügt über eine starke Expertise in verschiedenen Bereichen der künstlichen Intelligenz, einschließlich maschinellem Lernen und Computer Vision.