Ein einfacher Weg zur Erstellung leistungsstarker Edge-KI-Anwendungen
Die Entwicklung eines einfachen, sensorbasierten Geräts für das Internet der Dinge (IoT) ist nicht das Schwierigste, aber die Entwicklung eines vernetzten Geräts, das in der Lage ist, maschinelles Lernen (ML) am Rande zu verwenden, ist eine ganz andere Geschichte. Eine Prozessorfamilie, ein Entwicklungsboard und die dazugehörige Software von NXP Semiconductors sind darauf ausgelegt, die wichtigsten Herausforderungen in Bezug auf Funktionalität, Performance und Entwicklung zu bewältigen und ermöglichen so eine schnellere Bereitstellung von anspruchsvollen Edge-KI-Funktionen in Industrie- und IoT-Anwendungen.
Entwickler haben bereits damit begonnen, die Vorteile von Edge-KI-Lösungen zu nutzen, die ML-Inferenzen auf Geräten mit geringem Stromverbrauch durchführen können, ohne auf Cloud-basierte Ressourcen angewiesen zu sein. Funktionen wie die Erkennung von Weckwörtern, die Analyse von Sensordatenmustern und die grundlegende Objekterkennung können in der Regel von energieeffizienten Prozessoren ausgeführt werden, auf denen ML-Modelle laufen, die mit modelloptimierenden Tools und Frameworks erstellt wurden. Probleme treten auf, wenn Sie versuchen, die Prozessorressourcen zu nutzen, um komplexere Probleme zu lösen, insbesondere solche, die eine Reaktion in Echtzeit oder nahezu in Echtzeit erfordern.
Wie ein Multicore-Prozessor die ML-Inferenz erheblich beschleunigen kann
NXP Semiconductors adressiert mit seiner Applikationsprozessorfamilie i.MX 93 (Abbildung 1) die Funktions- und Leistungsanforderungen dieser neu entstehenden Echtzeit-Edge-KI-Designs.
Abbildung 1: Die Anwendungsprozessoren i.MX 93 bilden mit ihrer Kombination aus Verarbeitungsressourcen, Sicherheitssystem, Speicher und einem umfassenden Satz an Taktgebern, Zeitgebern, Vernetzungsoptionen und Schnittstellen die Grundlage für Edge-KI-Designs. (Bildquelle: NXP Semiconductors)
Diese Geräte verfügen über eine Vielzahl von Funktionen, einschließlich Multimedia, Speicher, Schnittstellen und Vernetzungsoptionen, und bieten eine überzeugende Kombination von Verarbeitungsressourcen:
- Bis zu zwei leistungsstarke Arm-Cortex-A55-Anwendungsprozessorkerne für Linux-basierte Anwendungsverarbeitung
- Eine Arm-Cortex-M33-Plattform mit extrem niedrigem Stromverbrauch für Echtzeit-Steuerungsprozesse mit geringer Latenzzeit
- Eine Arm-Ethos-U65-microNPU (NPU: Neural Processing Unit) für die effiziente Ausführung von ML-Inferenzen
- Die integrierte EdgeLock Secure Enclave (ESE) von NXP, die eine Vertrauensbasis für sicheres Booten und Schlüsselmanagement, kryptografische On-the-Fly-Funktionen und andere Funktionen zum Schutz von Edge-Anwendungen bietet
Mit den Fähigkeiten dieser Prozessoren können Sie große KI-Anwendungen in überschaubare Teile aufteilen: Anstatt dem Anwendungscode, der auf den Cortex-A55-Kernen läuft, Zyklen zu stehlen, entlastet die NPU die Ausführung rechenintensiver neuronaler Netzwerkalgorithmen. Unabhängig davon bleibt der Cortex-M33 für latenzempfindliche Aufgaben wie Sensordatenerfassung oder Prozesssteuerung zuständig, während die ESE die Sicherheit des Systems, des Softwarecodes und der kritischen Daten gewährleistet. Wie Sie weiter unten sehen werden, ist die Fähigkeit der NPU, ML-Inferenzen von den Cortex-A55-Kernen auszulagern, eine wichtige Voraussetzung für Edge-KI-Anwendungen, die nahezu in Echtzeit reagieren müssen.
Wie eine Hardwarekarte und Software die Anwendungsentwicklung beschleunigen
Obwohl die Funktionalität und Performance des Prozessors ein Schlüsselfaktor ist, hängt die effektive Entwicklung von KI-Anwendungen von der Fähigkeit ab, sich schnell mit den Fähigkeiten des Prozessors vertraut zu machen und schnell effektive Software zu entwickeln. Die Kombination aus dem Entwicklungsboard FRDM-IMX93 von NXP (Abbildung 2) und den zugehörigen Softwareentwicklungsressourcen bietet Ihnen alles, was Sie für die Erstellung von Anwendungen benötigen.
Abbildung 2: Das Entwicklungsboard FRDM-IMX93 integriert einen i.MX-93-Anwendungsprozessor und mehrere Support-Chips, um ein komplettes System für die Entwicklung bereitzustellen. (Bildquelle: NXP Semiconductors)
Das Board FRDM-IMX93 wurde entwickelt, um die Entwicklung von Anwendungen mit der Prozessorfamilie i.MX 93 zu vereinfachen. Das Board misst nur 105 × 65 Millimeter (mm) und enthält zwei Gigabyte (GByte) dynamischen LPDDR4X-Arbeitsspeicher (Low Power Double Data Rate 4X) (DRAM), eine eingebettete Multimediakarte der Version 5.1 (eMMC5.1) für 32 GByte, einen integrierten Schaltkreis für das Energiemanagement (PMIC), ein Funk-Transceivermodul, das Wi-Fi 6, Bluetooth 5.4 und ein drahtloses persönliches Netzwerk nach 802.15.4 bereitstellt, sowie weitere erforderliche Unterstützungschips. Mit den Steckleisten, Anschlüssen und der Debug-Schnittstelle des Boards können Sie problemlos Erweiterungskarten zum Debuggen Ihres Systems hinzufügen.
Die Karte bietet mehrere Konfigurationsmöglichkeiten, ist aber im Standardmodus sofort einsatzbereit. Nachdem Sie ein Display und eine Maus angeschlossen und das Board über das mitgelieferte USB-Kabel mit Strom versorgt haben, bootet das Board von der eMMC, die bereits mit einem binären Linux-Demo-Image von NXP geflasht ist.
Vorgefertigte Anwendungen beschleunigen den Einsatz von Edge-KI
Die wahre Stärke des Entwicklungsboards FRDM-IMX 93 liegt in der zugehörigen Software und den zugehörigen Tools. Das im Standard-Demo-Image enthaltene Softwarepaket GoPoint for i.MX Applications Processors von NXP bietet eine Reihe von Beispielanwendungen, die über die grafische Benutzeroberfläche (GUI) von GoPoint zugänglich sind. Wenn Sie eine Anwendung starten, führt GoPoint Sie durch alle erforderlichen Konfigurationsschritte, wie z. B. das Festlegen einer Kamera-Videoquelle.
Für viele von uns vielleicht ebenso interessant: Das Repository für Beispielanwendungen von NXP enthält den vollständigen Python-Quellcode für jede GoPoint-Anwendung. Darüber hinaus enthält die Dokumentation für jede Anwendung eine Beschreibung der Softwarearchitektur, der verwendeten ML-Modelle und des Start-Setups. Die Dokumentation für die Low-Power-Anwendung GoPoint i.MX 93 für maschinelles Lernen beschreibt beispielsweise den Ausführungsfluss zwischen den Cortex-A55- und Cortex-M33-Kernen und zeigt, wie der Cortex-M33 die schwere Arbeit der Wake-Word-Erkennung übernimmt, bis er schließlich Linux auf dem Cortex-A33 aufweckt, um den Benutzer zu informieren.
Die Anwendung GoPoint Driver Monitoring System (DMS) von NXP demonstriert ein weiteres wichtiges Konzept: die Verflechtung der Ausführung mehrerer Modelle zur Erkennung mehrerer verschiedener Zustände in einer komplexeren Anwendung. Nach dem Aufruf dieser Anwendung wählen Sie die Kameraquelle und den Inferenzprozessor (z. B. Anwendungsprozessor oder NPU) aus und führen sie dann aus. Während der Ausführung wird der aktuelle Status des Kameramotivs (Fahrer) angezeigt, der angibt, ob die Person abgelenkt ist, schläft, gähnt, raucht oder ein Handy benutzt (Abbildung 3).
Abbildung 3: Eine GoPoint-Beispielanwendung, die auf einem i.MX-93-Anwendungsprozessor läuft, führt Inferenzen auf mehreren ML-Modellen durch, um verschiedene Treiberzustände mit einer Latenz von nur wenigen Millisekunden zu erkennen. (Bildquelle: NXP Semiconductors)
Eine überzeugende Information im Repository jeder Anwendung sind die Leistungsdaten, die zeigen, dass die NPU in der Lage ist, effektivere Edge-KI-Anwendungen zu ermöglichen. Bei der DMS-Anwendung hat NXP beispielsweise festgestellt, dass die CPU-basierte Rauch- und Anruferkennung mit einem Thread 407,963 Millisekunden (ms) dauert. Bei der Ausführung mit zwei Threads sinkt die Inferenzzeit auf 303,159 ms, aber der wirkliche Vorteil liegt im Einsatz der NPU; die Inferenz auf der NPU reduziert die Zeit auf nur 23,008 ms.
Fazit
Die Fähigkeit eines stromsparenden i.MX-93-Anwendungsprozessors, umfangreiche Inferenzaufgaben mit nahezu Echtzeit-Latenz durchzuführen, eröffnet zahlreiche Möglichkeiten für Edge-KI-Lösungen in Industrie- und IoT-Anwendungen. Mit einem entsprechenden Entwicklungsboard und der dazugehörigen Software können Sie diese Anwendungen schnell und effektiv erstellen.

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum