KI-Softwareentwicklung

NXP beschleunigt ML-Anwendungen durch Glow-Compiler

29. Juli 2020, 10:53 Uhr |
So arbeitet der Glow-Compiler in der eIQ-Entwicklungsumgebung von NXP.
© NXP

Für bild- und sprachorientierte Machine-Learning-Anwendungen hat NXP eine auf seine Mikrocontroller zugeschnittene Version des Glow-NN-Compilers in die eIQ-Entwicklungsumgebung integriert. Damit sollen die Anwendungen um das zwei- bis dreifache schneller werden.

Diesen Artikel anhören

NXP hat eine neue Version seiner eIQ-Entwicklungsumgebung für das Machine Learning (ML) veröffentlicht, die den »Glow Machine Learning Compiler« unterstützt. Der Glow-Compiler wurde ursprünglich von Facebook unter einer Open-Source-Lizenz entwickelt. Die Implementierung von NXP für eIQ soll bild- und sprachorientierte Machine-Learning-Anwendungen auf Mikrocontrollern zwei- bis dreimal so schnell machen wie die Standardversion von Glow.

Wie von Facebook entwickelt, kann Glow domänenspezifische Optimierungen durchführen, und NXP unterstützt dies durch die Bereitstellung von NN-Operator-Libraries für Arm Cortex-M-Kerne und den Cadence Tensilica HiFi 4 DSP, um die Inferenzleistung seiner i.MX RT685 und i.MX RT1050 und RT1060 zu beschleunigen. Darüber hinaus ist diese Funktion in die eIQ-Softwareentwicklungsumgebung für maschinelles Lernen von NXP eingebettet, die im MCUXpresso SDK von NXP frei verfügbar ist.

Im Mai 2018 startete Facebook Glow (den Graph Lowering NN-Compiler) als Open-Source-Community-Projekt mit dem Ziel, Leistungssteigerungen für neuronale Netzwerke auf verschiedenen Hardware-Plattformen zu ermöglichen. Als NN-Compiler erfasst Glow ein nicht optimiertes neuronales Netzwerk und erstellt dafür hoch optimierten Code. Dies unterscheidet sich von der typischen Verarbeitung eines neuronalen Netzwerkmodells, bei der eine Just-in-Time-Compilierung genutzt wird, die mehr Leistung erfordert und zusätzlichen Speicher-Overhead mit sich bringt. Der direkt laufende optimierte Code von Glow reduziert den Verarbeitungs- und Speicherbedarf erheblich. NXP hat außerdem eine aktive Rolle innerhalb der Open-Source-Community von Glow übernommen, um die breite Einführung neuer Funktionen von Glow voranzutreiben.

passend zum Thema

Schneller als die geräteunabhängige Version von Glow

»Die Standard-GitHub-Version von Glow ist geräteunabhängig, um Benutzern die Flexibilität zu geben, neuronale Netzwerkmodelle für möglichst viele Architekturen zu compilieren, wie der Arm Cortex-A- und Cortex-M-Kerne sowie RISC-V-Architekturen«, sagt Dwarak Rajagopal, Software Engineering Manager bei Facebook. »Durch den Einsatz speziell entwickelter Softwarebibliotheken, die die Rechenelemente ihrer MCUs nutzen und eine 2 bis 3-fache Leistungssteigerung liefern, hat NXP die vielfältigen Vorteile des Glow NN-Compilers für Machine-Learning-Anwendungen demonstriert, von cloudbasierten High-End-Maschinen bis hin zu kostengünstigen Embedded-Plattformen.«

Die Edge-Intelligence-Entwicklungsumgebung eIQ gibt Entwicklern die Bausteine an die Hand, die zur Implementierung von ML in Peripheriegeräten erforderlich sind. Mit der Integration von Glow in die eIQ-Software steht ein Framework zur Verfügung, das für bessere Sprach-, Objekt- und Gesichtskennungsanwendungen auf i.MX-RT-MCUs und i.MX-Anwendungsprozessorendiese sorgt. Neben Glow bietet eIQ auch Inferenz-Unterstützung für TensorFlow Lite. 

Benchmarks zeigen Leistungszuwachs

NXP führt regelmäßig Benchmark-Messungen durch. Am Beispiel eines CIFAR-10-Modells zeigen die von NXP erhobenen Benchmark-Daten, wie die Leistungsvorteile von

  • i.MX RT1060- (mit 600 MHz Arm Cortex-M7),
  • i.MX RT1170- (mit 1 GHz Arm Cortex-M7) und
  • i.MX RT685-Geräten (mit Arm Cortex-M33 und 600 MHz Tensilica HiFi 4 DSP)

genutzt werden können. Bei den Arm-Prozessoren bindet eIQ die Arm CMSIS-NN-Bibliothek mit ein, die gleichzeitig den Speicherfootprint für neuronale Netze auf Cortex-M-Controllern optimiert. Nimmt man ein CIFAR-10 Netzwerkmodell als Beispiel, kann NXP mit CMSIS-NN einen 1,8-fachen Leistungsvorteil erzielen.

Beim Tensilica HiFi 4 ist die Unterstützung von NXP für Glow eng mit der Neuronalen Netzwerkbibliothek (NNLib) gekoppelt, die Cadence für seinen Tensilica HiFi 4 DSP mit einer Leistung von 4,8 GMACs bereitstellt. Im gleichen CIFAR-10-Beispiel erreicht die NXP-Implementierung von Glow eine 25-fache Leistungssteigerung, indem sie diesen DSP zur Beschleunigung des Betriebs des neuronalen Netzwerks einsetzt. Der Tensilica HiFi 4 DSP zielt insbesonder auf Keyword-Erkennung, Spracherkennung, Geräuschunterdrückung und Annomalieerkennung.

Die Nachfrage nach ML-Anwendungen wird in den kommenden Jahren voraussichtlich deutlich steigen. TIRIAS Research prognostiziert, dass bis 2025 98% aller Peripheriegeräte irgendeine Form von maschinellem Lernen und künstlicher Intelligenz nutzen werden. Schätzungen zufolge werden in diesem Zeitraum 18-25 Milliarden Geräte mit ML-Fähigkeiten ausgestattet sein, auch ohne spezielle ML-Beschleuniger. Hersteller von Endgeräten und Entwickler von Komponenten im Bereich Embedded-IoT benötigen optimierte ML-Frameworks für energiesparende Embedded-Edge-Anwendungen, die MCUs nutzen.


Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu NXP Semiconductors Germany

Weitere Artikel zu NXP Semiconductor Netherlands B.V.

Weitere Artikel zu Künstliche Intelligenz (KI)

Weitere Artikel zu Mikrocontroller