Schwerpunkte

KI-Softwareentwicklung

NXP beschleunigt ML-Anwendungen durch Glow-Compiler

29. Juli 2020, 10:53 Uhr   |  Joachim Kroll

NXP beschleunigt ML-Anwendungen durch Glow-Compiler
© NXP

So arbeitet der Glow-Compiler in der eIQ-Entwicklungsumgebung von 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.

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.

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.

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Das könnte Sie auch interessieren

Analoger KI-Chip mit außerordentlichen Leistungsdaten
Embedded Machine & Deep Learning: Workflows für Edge Devices
Continental setzt auf Nvidias Supercomputer

Verwandte Artikel

NXP Semiconductors Germany, NXP Semiconductor Netherlands B.V.