ML-Software-Stacks und Mikrocontroller mit AI-Hardware vereinfachen die Implementierung des maschinellen Lernens. Damit sind selbst Bilderkennung oder Sensorfusion auf »kleinen« Systemen möglich. Doch wie wählt man den passenden Prozessors und geeignete Algorithmen aus?
Arm und das Arm-Ökosystem bieten Softwarekomponenten und Entwicklungswerkzeuge an, um den Entwicklungsprozess von ML-Anwendungen zu erleichtern. Grundlegende Software wie CMSIS-NN ist für die gesamte Palette der Cortex-M-Prozessoren optimiert und lässt sich mit gängigen ML-Frameworks wie TensorFlow Lite für Mikrocontroller integrieren. Die Signalaufbereitung der Sensoreingänge kann mit CMSIS-DSP-Basisalgorithmen beschleunigt werden. Mit diesen Softwarekomponenten kann ein ML-Algorithmus effizient erstellt werden, und der Großteil der Software kann geräteunabhängig und hardwareunabhängig entwickelt werden. Arm Virtual Hardware (AVH) ist eine flexible Entwicklungs- und Verifikationsplattform. Sie lässt sich in MLOps-Frameworks wie TDK Qeexo integrieren und ermöglicht die Abschätzung der erforderlichen Rechenleistung, was bei der Auswahl eines ressourcen- und kostenoptimierten Mikrocontrollers hilft.
Die Möglichkeiten des maschinellen Lernens sind enorm, und die Technologie entwickelt sich ständig weiter, was Innovationen in vielen neuen Bereichen ermög- licht. Etabliert haben sich z. B. vorausschauende Wartung, Bilderkennung in der Fabrikautomation oder die Unterstützung bei der Diagnose medizinischer Behandlungen. Auch bei Robotern werden zur Wahrnehmung und zum Verständnis der Umgebung, der Erkennung von Objekten, Erkennung von Hindernissen und Verfolgung von Personen zunehmend ML-Algorithmen eingesetzt.
Für Modelle des maschinellen Lernens ist in der Regel eine große Menge zuverlässiger Daten erforderlich, damit die Modelle genaue Vorhersagen machen können. Beim Training eines maschinellen Lernmodells müssen Ingenieure eine große und repräsentative Datenmenge sammeln und klassifizieren. Bei den Daten aus dem Trainingssatz kann es sich um eine Sammlung von Bildern, Sensordaten und Daten handeln, die von einzelnen Nutzern eines Geräts gesammelt wurden.
Heute werden KI- und ML-Algorithmen, die mit Daten von IoT-Endgeräten arbeiten, häufig auf Cloud-Servern ausgeführt. Um jedoch die Echtzeitanforderungen eingebetteter Systeme zu erfüllen, sollte die Ausführung des eigentlichen KI-Algorithmus auf das Edge-Gerät übertragen werden. Dieser lokale Edge-Ansatz reduziert auch den Internetverkehr, der andernfalls drastisch ansteigen würde, wenn Milliarden von IoT-Endpunktsystemen für die Ausführung von KI-Algorithmen von der Cloud abhängen.
Die Rechenanforderungen für Algorithmen des maschinellen Lernens können stark variieren, je nach Art des Algorithmus, der Größe des Datensatzes, der für das Training des Modells erforderlich ist, und der Gesamtkomplexität des Problems.
Daher bietet Arm eine breite Palette von optimierten Prozessoren an, die auf Anwendungen des maschinellen Lernens auf Edge-Geräten ausgerichtet sind (Bild 1). Selbst der kleinste Arm-Prozessor, der Cortex-M0/M0+-Prozessor, führt einfache ML-Algorithmen aus. So ist beispielsweise ein vorausschauendes Wartungssystem, das Sensordaten nutzt, mit diesem Prozessortyp möglich.
Ab dem Cortex-M4 bieten die Prozessoren Hardware-Gleitkomma-Arithmetik und SIMD-Befehle, die DSP- und einfache maschinelle Lernalgorithmen beschleunigen. Mit solchen Prozessoren können Sensorfusion-Anwendungen realisiert werden. Das sind Szenarien, bei denen eine Kombination aus verschiedenen Sensordatenquellen zusammengeführt und ausgewertet werden. Die Cortex-M55- und Cortex-M85-Prozessoren erweitern die Architektur um Helium-Vektorbefehle [2], die anspruchsvollere ML-Algorithmen ermöglichen, wie sie für die Erkennung von Schlüsselwörtern in der Sprache oder von Objekten und Anomalien erforderlich sind.
Für anspruchsvollere Anwendungen umfasst das Arm-Portfolio die Ethos- Serie [3] neuronaler Netzwerkprozessoren, die Mali-Grafikprozessoren und die Cortex-A-Prozessoren. Dieser Beitrag konzentriert sich jedoch auf den Entwicklungsfluss von winzigen Edge-Geräten, die typischerweise bereits mit einem Singlecore-Cortex-M-Prozessor ausgestattet sind.
Die neuesten Cortex-M-Prozessorvarianten Cortex-M55 und Cortex-M85 haben eine erhebliche Leistungssteigerung durch die Helium-Vektoranweisungen, wie in den Tabellen 1 und 2 dargestellt. Diese Prozessoren laufen auch bei erheblich höheren CPU-Taktfrequenzen, was eine komplexere oder schnellere Ausführung von ML-Modellen ermöglicht.
Die Helium-Vektorbefehle verbessern sogar die Gesamtenergieeffizienz, da weniger CPU-Befehle für einen Berechnungsalgorithmus ausgeführt werden. Tragbare Geräte wie Fitness-Tracker oder intelligente Uhren profitieren von den Innovationen in den Cortex-M55- oder Cortex-M85- Prozessoren
Helium-Befehle verbessern sogar die Grafikeffizienz für Displays oder Kamera-Eingabeströme. Die Arm2D-Grafikbibliothek implementiert Low-Level- 2D-Bildverarbeitungsfunktionen für die Cortex-M-Prozessorserie. Auf Cortex-M55 und Cortex-M85 werden diese Funktionen durch den Helium-Befehlssatz beschleunigt (Tabelle 3).