Bei jeder Entwicklung vereinfachen und beschleunigen die Verfügbarkeit von Open-Source-Tools, Modellen, Frameworks und gut verstandene IDEs (Integrated Development Environment) das Design, Testen und Prototyping und treiben die Markteinführung voran. Das gilt natürlich auch für Edge-ML, wobei hier insbesondere »Tiny Machine Learning« (TinyML) besonders wichtig war. Nach der Definition der tinyML Foundation handelt es sich dabei um den »schnell wachsenden Bereich der Technologien und Anwendungen für maschinelles Lernen, einschließlich Hardware (dedizierte ICs), Algorithmen und Software, die in der Lage sind, die Datenanalyse von Sensoren (Bildverarbeitung, Audio, IMU, Biomedizin usw.) vor Ort bei niedrigem Stromverbrauch durchzuführen – meist im mW-Bereich und darunter. Dies ermöglicht vielfältige, ständig aktive Anwendungen, die auf batteriebetriebenen Systemen laufen.«
Durch die TinyML-Bewegung gab es in den letzten Jahren ein erhebliches Wachstum bei Tools und Support, was die Arbeit der Entwickler im Embedded-Bereich erleichtert. Beispiele für solche Tools sind die von Edge Impulse und SensiML, sie bieten »TinyML as a Service«, bei dem die ML-Anwendung in einer Größe von nur einigen Kilobyte bereitgestellt wird. Die Tools sind kompatibel mit der TensorFlow-Lite-Bibliothek für den Einsatz von Modellen auf Mobilgeräten, Mikrocontrollern und anderen Edge-Geräten.
Durch die Wahl solcher Tools können Entwickler schnell eine Klassifizierung, Regression und Anomalieerkennung realisieren, die Erfassung echter Sensordaten vereinfachen, eine Live-Signalverarbeitung von Rohdaten zu neuronalen Netzen sicherstellen und Tests sowie die anschließende Bereitstellung auf einem Zielgerät beschleunigen.
Die zunehmende Verfügbarkeit von Entwicklungskits ist ein weiterer Faktor, der dazu beiträgt, Edge-ML-Anwendungen schneller umzusetzen. Viele Produkte, die auf den Markt kommen, basieren auf der Hardware und Firmware, die in Entwicklungskits für Embedded-Systeme enthalten sind – und auf Treibern, Softwaremodulen und Algorithmen, die darauf laufen. Der Raspberry Pi 4 Model B basiert zum Beispiel auf dem BCM2711 von Broadcom, einem Quad-Core Cortex-A72 64-Bit-SoC (getaktet mit 1,5 GHz). Hinzu kommt eine VideoCore-VI-GPU von Broadcom und 1/2/4 GB LPDDR4-RAM. Damit steht eine Rechenleistung von 13,5 bis 32 GFLOPS bereit.
Bei der Entwicklung lohnt es sich allerdings, Zeit in die Recherche der in den Entwicklungskits verwendeten Bauelemente zu investieren. Denn es kann durchaus von Vorteil sein, die endgültige Anwendung mit denselben Bausteinen zu erstellen wie die anfängliche Entwicklung. Erfordert die ML-Anwendung beispielsweise Embedded-Bildverarbeitung, eignen sich die SoC-FPGAs aus der »PolarFire«-Serie von Microchip ideal für rechenintensive Edge-Vision-Verarbeitung und unterstützen eine Auflösung von bis zu 4k mit Low-12,37-SERDES.
Was die Sicherheit betrifft, zunächst einmal eine gute Nachricht: mit Edge ML werden weit weniger Daten in die Cloud übertragen, damit reduziert sich die potenzielle Angriffsfläche für Cyberattacken deutlich. Nichtsdestotrotz bringt eine Edge-ML-Implementierung neue Herausforderungen mit sich, da alle Edge-Geräte – ob ML-fähig oder nicht – nicht mehr über die inhärente Sicherheit der Cloud verfügen und wie jedes andere mit einem Netzwerk verbundene IoT-Gerät oder Embedded-System unabhängig geschützt werden müssen.
Zu den Sicherheitsüberlegungen gehören:
➔ Wie einfach ist es für Hacker, die Daten (die eingegeben und/oder für das Training verwendet werden) oder das ML-Modell zu verändern?
➔ Wie sicher sind die Daten? Kann auf sie vor der Verschlüsselung zugegriffen werden? Dabei ist zu beachten, dass die Schlüssel für die Verschlüsselung an einem sicheren (nicht offensichtlichen) Ort aufbewahrt werden.
➔ Wie sicher ist das Netzwerk? Besteht die Gefahr, dass nicht autorisierte Geräte (oder scheinbar autorisierte Geräte) eine Verbindung herstellen und Schaden anrichten?
➔ Kann das Edge-ML-Gerät geklont werden?
Das erforderliche Maß an Sicherheit hängt von der Anwendung ab (könnte sie zum Beispiel sicherheitskritisch sein?) und/oder von der Art des übergeordneten Systems, zu dem das Edge-ML-Gerät gehört.
Innerhalb eines Entwicklerteams gibt es typischerweise unterschiedliche Grade an ML- und KI-Kenntnissen. Open-Source-Tools, Entwicklungskits und Standarddatensätze bedeuten aber, dass Entwickler von Embedded-Systemen kein tiefgreifendes Verständnis von Datenwissenschaften oder neuronalen Netzen für Deep Learning benötigen. Wird jedoch eine neue technische Disziplin oder Methode eingeführt (oder in Tools investiert), kann die für eine Schulung aufgewendete Zeit langfristig zu kürzeren Entwicklungszeiten, weniger iterativen Designdurchläufen und einem besseren Output pro Entwickler führen.
Die Fülle an Onlineinformationen über ML in Form von Tutorials, Whitepapers und Webinaren sowie die Tatsache, dass auf Fachmessen ML-Seminare und -Workshops angeboten werden, bietet viele Möglichkeiten, die Fähigkeiten von Entwicklungsteams zu verbessern. Zu den formelleren Kursen gehört das Professional Certificate Program in ML and AI des MIT, während das Imperial College in London einen Online-Kurs anbietet, der ein Modul zur Entwicklung und Verfeinerung von ML-Modellen mit Python und branchenüblichen Tools zur Messung und Verbesserung der Leistungsfähigkeit enthält.
Es ist definitiv möglich, die Fähigkeiten eines Entwicklerteams mit generativen KI-Tools zu erweitern, die es Anfängern ermöglichen, komplexe Anwendungen zu programmieren. Gleichzeitig kann die Erwägung eines ML-Trainings gegenüber direkter Programmierung auch zu kürzeren Entwicklungszeiten, weniger Re-Spins und besseren Ergebnissen führen.
Die Entwicklung einer ML-fähigen Anwendung wird durch die Unterstützung von Anbietern, die bereits in diesem Bereich tätig sind, wesentlich erleichtert. Für Cloud-basiertes ML bietet AWS beispielsweise sein Machine-Learning- Competency-Partners-Programm. Speziell im Fall von Edge-ML ist es aber ratsam, nicht nur das gelieferte »Produkt« anzuschauen, sondern auch die Vorteile der bestehenden Kooperationen des Anbieters zu berücksichtigen. Microchip hat zum Beispiel umfangreiche Ressourcen in den Aufbau von Beziehungen zu Partnern, angefangen bei Sensor- bis hin zu Tool-Anbietern, investiert. So kann Microchip sicherstellen, dass Entwickler Zugang zu allem haben, was sie benötigen, von grundlegender Beratung und Anleitung bis hin zur Lieferung fertiger Lösungen.
Obwohl jeder der zehn oben kurz besprochenen Punkte problemlos einen eigenen Artikel rechtfertigen würde, war es das Ziel dieses Beitrags, Entwicklern von Embedded- Systemen dabei zu helfen, einige wesentliche Faktoren zu identifizieren, die sie berücksichtigen sollten, bevor sie ihr Edge-ML-Projekt in Angriff nehmen.
Wird jeder dieser Punkte zu Beginn sorgfältig berücksichtigt, sollte es möglich sein, eine Strategie zu entwickeln, die optimierte Lösungen hervorbringt, um die Größen-, Energie-, Kosten- und Leistungsziele zu erfüllen und gleichzeitig das Projektrisiko zu verringern, Re-Spins zu minimieren und die Markteinführung zu beschleunigen.
Literatur
(1) ABI Research Edge ML Enablement: »Development Platforms, Tools and Solutions Application Analysis Report«, Juni 2022.
Der Autor
Yann LeFaou
ist Associate Director der Touch and Gesture Business Unit bei Microchip. Er leitet ein Team, das kapazitive Berührungstechnik entwickelt, und treibt die Initiative des Unternehmens zum maschinellen Lernen (ML) für Mikrocontroller und Mikroprozessoren voran. LeFaou hatte bei Microchip eine Reihe technischer und Marketingpositionen inne, darunter die Leitung der globalen Marketingaktivitäten des Unternehmens in den Bereichen kapazitive Berührungstechnik, Mensch-Maschine-Schnittstellen und Haushaltsgerätetechnik. LeFaou hält einen Abschluss der ESME Sudria in Frankreich.