Projektsteuerung sollte angepasst werden

IoT-Endpunkte mit KI ausrüsten

21. Juli 2024, 11:00 Uhr | Von Klaus-Dieter Walter
© SSV Software Systems

KI-Funktionen kommen nicht nur in leistungsstarken IT-Systemen mit integrierter NPU zum Einsatz, sondern auch in ressourcen-limitierten IoT-Geräten, um spezielle Funktionen zu realisieren. KI-basierte IoT-Endpunkte bringen aber neue Anforderungen an die Teambildung und Testkonzepte mit sich.

Diesen Artikel anhören

Typische Endpunkte in einer IoT-Anwendung sind beispielsweise Sensoren, Aktoren, UI-Komponenten oder auch Kommunikations-Gateways, um Subsysteme einzubinden, die von Haus aus nicht über IoT-taugliche Schnittstellen und Protokolle verfügen. In solchen Endpunkten kommen Microcontroller mit relativ geringer Rechenleistung und kleinen RAM-Speicherkapazitäten zum Einsatz, teilweise sogar mit einer Batteriespannungsversorgung. Sie eigenen sich zwar nicht als Entwicklungsumgebung, um komplexe KI-Modelle mithilfe künstlicher neuronaler Netzwerke zu erzeugen, aber durchaus als Laufzeitumgebung, um anhand extern erstellter Modelle automatische Entscheidungen zu treffen – also in einer Deep-Learning-Inferenz-Betriebsart spezielle Regressions- und Klassifizierungsaufgaben zu bewerkstelligen.

Ein typisches Anwendungsbeispiel ist ein Bildsensor, der statt eines Videodaten-Streams als Ausgangsdaten innerhalb der erfassten Bilddaten bestimmte Objekte selbstständig erkennt und über entsprechende Zustandsdaten lediglich die Objektpräsenz im Erfassungsbereich am Ausgang anzeigt (KI-basierter Präsenzmelder) oder aber die Anzahl der erkannten Objekte zählt und den aktuellen Zählerstand ausgangsseitig zur Verfügung stellt (KI-basierter Objektzähler). Ein weiteres Beispiel ist das Kommunikations-Gateway zwischen einem internen Maschinennetzwerk (OT Network) und dem externen IT-Netzwerk der Anwendungsumgebung, das mithilfe eines KI-Modells als Intrusion Detection System (IDS) den gesamten ein- und ausgehenden Netzwerkverkehr überprüft, um anormale Nutzerzugriffe zu identifizieren und bei Bedarf einen Alarm auszulösen.

passend zum Thema

Neuronale Netzwerkentwicklung

KI-Modelle und die dafür erforderlichen künstlichen neuronalen Netzwerke werden in der Regel mithilfe eines geeigneten Machine-Learning- bzw. KI-Framework erstellt. Typische Vertreter dieser Deep-Learning-Werkzeugkategorie sind TensorFlow, Keras und PyTorch. Konzeptionell sind diese Werkzeuge spezielle (Open-Source-)Python-Bibliotheken zum Erstellen und Trainieren sowie Nutzen von neuronalen Netzwerken (TensorFlow und PyTorch unterstützen neben Python jeweils auch ein API für C++). Ein Entwickler kann mittels bestimmter Bibliotheksfunktionen je nach Bedarf die Anzahl der Eingangs- und Ausgangs-Neuronen, die einzelnen verdeckten Schichten (Hidden Layer), die Neuronen pro Hidden Layer sowie deren Ausgangsfunktion plus die Verdrahtung der Schichten untereinander durch verschiedene API-Parameter spezifizieren.
Die Anzahl der erforderlichen Ein- und Ausgänge ergibt sich in der Regel aus der Datenstruktur der jeweiligen Aufgabenstellung. Der innere Aufbau eines künstlichen neuronalen Netzwerks muss zur Aufgabenkategorie passen. Die Klassifizierung von Bilddaten erfordert eine andere Architektur (z. B. ein Convolutional Neural Network, CNN) als die Vorhersage des nächsten Wartungstermins in einer Predictive Maintenance-Anwendung (beispielsweise per Recurrent Neural Network, RNN). Generative KI-Applikationen (z. B. KI-Chatbots) nutzen Large Language Models (LLNs), eine weitere Spezialvariante neuronaler Netze.

Wurde das neuronale Netz für eine bestimmte Anwendung festgelegt, erfolgt mittels weiterer Bibliotheksfunktionen das maschinelle Lernen. Für diesen rechenintensiven Trainingsvorgang werden große Mengen an Eingangsdaten benötigt, aus denen das Netzwerk die Berechnung des gewünschten Zusammenhangs zwischen Ein- und Ausgangsdaten mit einer bestimmten Genauigkeit erlernen kann. Am Ende einer Trainingsphase wird geprüft, ob die jeweils erreichte Genauigkeit eines KI-Modells für die Aufgabenstellung ausreicht. Ist das nicht der Fall, werden die API-Parameter verändert oder andere geeignete Änderungsmaßnahmen ergriffen und eine erneute Trainingsphase gestartet. Liegt ein praxistaugliches Modell vor, lässt es sich weitestgehend plattformunabhängig als Inferenzfunktion auf verschiedenen Systemen für Regressions- oder Klassifizierungsaufgaben nutzen.

Das Endpunkt-KI-Entwicklerteam

Konzeption, Implementierung und Feldtest der KI-Funktionen für einen IoT-Endpunkt sind eine typische Cross-Entwicklungsaufgabe, die darüber hinaus für einen effektiven Praxiseinsatz eine sehr spezielle CI/CD-Pipeline erfordert. Insgesamt sind mit Modell entwerfen, Modell trainieren, Modell nutzen sowie den Modelleinsatz überwachen vier Aufgabenbereiche erkennbar. Des Weiteren lassen sich in einer Endpunkt-KI-Entwicklung drei verschiedene Rollen identifizieren, die unterschiedliche Teilaufgaben bearbeiten:

KI-Modell-Architekt: Konzeptentwurf für das Eingangsdatenbild und die Ausgangsinformation(en) des neuronalen Netzwerks. Die Modellarchitektur sowie den Detailentwurf der einzelnen Hidden Layer festlegen. Codieren des KI-Modells und eines passenden ML-Trainingsprozesses, z. B. mithilfe einer geeigneten Machine-Learning-Bibliothek wie TensorFlow und Keras. Austesten des Modells mithilfe passender Daten. Falls erforderlich, passende Testdaten erzeugen, um die Vorhersage- bzw. Klassifizierungsgenauigkeit des KI-Modells zu ermitteln. Implementierung einer ML-Modell-Trainingsumgebung für den Praxiseinsatz. Die Weitergabe des KI-Modells in einem geeigneten Dateiformat sicherstellen (z. B. TFLITE oder ONNX). Bei Bedarf spezielle Filterfunktionen für die Trainingsdaten erstellen. In der Regel eignen sich für diese Teilaufgaben praxiserfahrene Data Scientisten oder entsprechend geschulte Softwareentwickler.

KI-Modell-Integrator/Modell-Trainer: Datenlogger-Funktion realisieren, um praxisbezogene Trainingsdaten zu erfassen. Mit diesen Daten lässt sich das vom KI-Modell-Architekten zur Verfügung gestellte Deep-Learning-Modell bei Bedarf jederzeit neu trainieren. Inferenzcode für das jeweilige Zielsystem erstellen, KI-Modell integrieren, geeignete Testkonzepte entwickeln und Komponententests für den vollständigen Inferenzbaustein (Code plus Modell) durchführen. Schnittstelle zur Weitergabe der Inferenzausgangsdaten implementieren und testen. Installa- tionspaket für den jeweiligen Endpunkt erstellen. Die Trainer/Integrator-Rolle erfordert Softwareexperten, die sich mit der Firmware- und Anwendungsentwicklung für die Endpunkt-Hardware auskennen.

KI-Modell-Anwender: Ist für den Betrieb des Endpunkts in der Zielumgebung verantwortlich. Der Anwender nutzt das KI-Modell, um bestimmte Aufgaben im operativen Alltag zu erledigen. Ein Beispiel wäre die Erkennung anormaler Nutzerzugriffe auf eine vernetzte Baugruppe. Solche Zugriffe werden beispielsweise von einem IDS-KI-Modell im Rahmen des Inferenzbetriebs erkannt. Jede Anormalität erzeugt dann einen Eintrag in einer zentralen Log-Datei und/oder eine Meldung an ein übergeordnetes System. Der Anwender sorgt des Weiteren für ein Performance-Monitoring, um den Wirkungsgrad im Praxiseinsatz zu bestimmen und falls erforderlich durch ein erneutes Training in die Wege zu leiten. Ein Modellanwender wird per Schulung in die Lage versetzt, einfache Wartungsarbeiten auszuführen – z. B. Aufspielen eines neuen Installationspakets, Feststellen der Versionierung des jeweils installierten KI-Modells usw.

 

Testen als Teamarbeit

Konzeption, Implementierung und Feldtest der KI-Funktionen in einer IoT-Endpunktanwendung erfordern einen funktionsübergreifenden, kooperativen und iterativen Prozess sowie die Experten für verschiedene Rollen
Bild 1. Konzeption, Implementierung und Feldtest der KI-Funktionen in einer IoT-Endpunktanwendung erfordern einen funktionsübergreifenden, kooperativen und iterativen Prozess sowie die Experten für verschiedene Rollen – z. B. Data Scientisten, Embedded-Entwickler und Anwendungsexperten. Die Qualität des finalen Produkts hängt in der Praxis vom Umfang der kooperativen Zusammenarbeit in der Feldtestphase ab
© SSV Software Systems

KI-Modell-Entwickler und Integratoren werden ihre Modul- und Integrationstestaufgaben einer IoT-Endpunktentwicklung in der Regel direkt in den jeweiligen Entwicklungsumgebungen oder speziellen Laboren, nicht aber im tatsächlichen Anwendungsumfeld durchführen. Dadurch funktionieren viele Produkte und Lösungen in der Markteinführungsphase nicht wirklich optimal.

Erforderlich ist auf jeden Fall eine intensive Feldtestphase in den Anwendungsumgebungen der Pilotkunden unter Einbeziehung des Anwenders und weiterer Experten mit dem erforderlichen Domänenwissen.

Übersicht zur Aufteilung der diversen Entwicklungsaufgaben innerhalb eines KI-Endpunkt-Entwicklerteams. Die meisten Teilaufgaben erfordern den Zugriff auf eine praxisbezogene Testumgebung
Tabelle 1. Übersicht zur Aufteilung der diversen Entwicklungsaufgaben innerhalb eines KI-Endpunkt-Entwicklerteams. Die meisten Teilaufgaben erfordern den Zugriff auf eine praxisbezogene Testumgebung, um unnötige Simulationsarbeiten zu vermeiden, die vielfach einen negativen Einfluss auf die Gesamtqualität ML-basierter Entscheidungsautomatisierungen haben.
© SSV Software Systems

Dafür sind spezielle Prozesse sowie kooperative und einfach zugängliche Testwerkzeuge erforderlich, die die zuvor beschriebenen Rollen berücksichtigen.

Bild 1 und die Tabelle 1 liefern eine Übersicht zu den Entwicklungsteilaufgaben inklusive Feldtest und Praxiseinsatz sowie ein Zuordnungsbeispiel hinsichtlich der jeweiligen Rollen. In der Tabelle wird deutlich, dass beispielsweise der KI-Architekt in der Regel bereits beim Start der Entwicklungsarbeiten einen (Fern-)Zugriff auf die tatsächliche Zielumgebung benötigt. Das Fehlen dieser Zugriffsmöglichkeit hat in der Praxis häufig Auswirkungen auf Qualität und Effizienz, da dann ersatzweise Simulationswerkzeuge zum Einsatz kommen.

Der untere Teil zeigt ein Anwendungsszenario für einen industriellen IoT-Endpunkt, der als KI-basiertes Intrusion Detection System (IDS) eine vernetzte Maschine vor Cyberangriffen aus einem IT-Netzwerk schützen soll
Bild 2. Der untere Teil zeigt ein Anwendungsszenario für einen industriellen IoT-Endpunkt, der als KI-basiertes Intrusion Detection System (IDS) eine vernetzte Maschine vor Cyberangriffen aus einem IT-Netzwerk schützen soll. Im oberen Bereich sind die Infrastruktur, Funktionen und Schnittstellen einer »virtuellen Co- Debugging-Umgebung« für ein multidisziplinäres Entwicklerteam erkennbar, um eine Embedded-KI-Funktion auszutesten und in der Feldtestphase zu überwachen
© SSV Software Systems

Kontextbezogene Simulationsdaten zu IR/RGB-Bild-, LiDAR-, MEMS-Mikrofon-, Beschleunigungs- und Vibrationssensoren lassen sich zwar zum Entwurf und Training eines Embedded-KI-Modells nutzen. Im Praxisalltag versagen diese Modelle dann allerdings vielfach. Die Ursachen solcher Praxisprobleme sind unterschiedliche Umgebungsbedingungen und die damit verbundenen Störgrößen.

Es empfiehlt sich daher schon beim Projektstart einer KI-basierten KI-Endpunktentwicklung eine feldtesttaugliche »virtuelle Co-Debugging-Umgebung« in einem echten Anwendungsumfeld einzurichten und im Rahmen der Feldtests weitere Instanzen hinzuzufügen. Bild 2 illustriert ein solches Co-Debugging-Umgebungsbeispiel für eine IDS-Applikation.

 

Der Autor

 

Klaus D. Walter von SSV Software Systems
Klaus D. Walter von SSV Software Systems.
© SSV Software Systems

Klaus-Dieter Walter

ist CEO der SSV Software Systems in Hannover. Er ist Verfasser verschiedener Fachbücher zu Embedded-Systems-Themen und hat viele Jahre aktiv in der Experten-gruppe Internet der Dinge innerhalb der Fokusgruppe Intelligente Vernetzung des Digital-Gipfels der Bundesregierung mitgearbeitet.


Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu SSV Software Systems GmbH

Weitere Artikel zu Künstliche Intelligenz (KI)

Weitere Artikel zu IoT-Sicherheit

Weitere Artikel zu IoT-Security