Software-Entwicklungskit für neuronale Netze auf FPGA-Basis

FPGA-EDA

Mit der Smart-Embedded-Vision-Initiative unterstützt Microchip Technology den Bedarf an energieeffizienten Inferenzsystemen in Edge-Anwendungen, indem es Software-Entwicklern die Implementierung ihrer Algorithmen in PolarFire-FPGAs erleichtert. Das Software-Entwicklungskit (SDK) VectorBlox Accelerator hilft Entwicklern, mit den FPGAs flexible, stromsparende, Overlay-basierte neuronale Netzwerkanwendungen zu erstellen, ohne einen FPGA-Tool-Flow erlernen zu müssen.



Durch künstliche Intelligenz (KI), maschinelles Lernen (ML) und dem Internet der Dinge (IoT) bewegen sich Anwendungen an den Rand des Netzwerks (Edge), wo Daten gesammelt werden. Dort sind stromsparende Lösungen erforderlich, die immer mehr Rechenleistung auf kleinerem, wärmetechnisch begrenztem Raum bereitstellen müssen.

FPGAs eignen sich für Edge-KI-Anwendungen (z.B. Inferenzfunktionen in stromsparenden Rechenumgebungen) da sie mehr GOPS (Giga Operations per Second) mit höherer Energieeffizienz ausführen können als eine CPU (Central Processing Unit ) oder GPU (Graphics Processing Unit). Sie erfordern jedoch spezielle Kenntnisse rund um das Hardware-Design.

Unterstützung durch Toolkit

Das VectorBlox Accelerator SDK ermöglicht Entwicklern das Codieren in C/C++ und das Programmieren energieeffizienter neuronaler Netze, ohne dass Erfahrung im FPGA-Design erforderlich ist. Das Toolkit kann Modelle im TensorFlow- und ONNX-Format (Open Neural Network Exchange) ausführen, was umfassende Framework-Interoperabilität gewährleistet. ONNX unterstützt Frameworks wie Caffe2, MXNet, PyTorch und MATLAB. Das VectorBlox Accelerator SDK von Microchip wird unter den Betriebssystemen Linux und Windows unterstützt und enthält einen bitgenauen Simulator, mit dem sich die Genauigkeit der Hardware in der Softwareumgebung überprüfen lässt. Das im Kit enthaltene IP (Intellectual Property) für neuronale Netze bietet auch die Möglichkeit, verschiedene Netzwerkmodelle zur Laufzeit zu laden.

Für Inferenzfunktionen am Netzwerkrand weisen PolarFire-FPGAs laut Microchip einen um bis zu 50% geringeren Stromverbrauch als andere FPGAs auf und bieten mathematische Blöcke mit 25% höherer Kapazität, die bis zu 1,5 TOPS (Tera Operations Per Second) liefern können. Durch ihre Reprogrammierbarkeit sowie die Fähigkeit, Funktionen auf einem Chip zu integrieren, ergeben sich bessere Anpassungs- und Differenzierungsmöglichkeiten. Das PolarFire-FPGA-IP für neuronale Netze ist in verschiedenen Größen erhältlich. So lassen sich Lösungen in Chipgehäusen mit 11mm x 11mm Größe implementieren.


Die Smart-Embedded-Vision-Initiative …

von Microchip wurde im vergangenen Juli vorgestellt, um Hardware- und Software-Entwicklern die Tools, IP-Cores und Boards zur Verfügung zu stellen, mit denen sie die wärmetechnischen Herausforderungen von Edge-Anwendungen mit kleinem Formfaktor erfüllen können. Da PolarFire-FPGAs im Vergleich zu anderen Lösungen einen geringeren Stromverbrauch aufweisen, erübrigen sich Lüfter in den Gehäusen meist. In Anwendungen wie einer intelligenten Kamera können PolarFire-FPGAs z.B. die Bildsignal-Pipeline integrieren, die die Sensorschnittstelle, den DDR-Controller, das Bildsignalverarbeitungs-IP und die Netzwerkschnittstellen umfasst, während gleichzeitig die Inferenzfunktionen für das maschinelle Lernen ausgeführt werden.


Verfügbarkeit

Das VectorBlox Accelerator SDK von Microchip wird voraussichtlich im dritten Quartal 2020 zur Verfügung stehen, beginnend mit einem Early-Access-Programm im Juni 2020. PolarFire-FPGAs befinden sich bereits in der Serienfertigung.

Fachartikel

Präzisions-Designs mit differenzieller Verstärker-Ansteuerung
Probleme und Lösungsansätze für IEEE 1588 Implementierungen
Kabellose Energieübertragung: Spulen als zentrale Bauelemente