Microchip Software-Entwicklungskit und IP für neuronale Netze

Das »VectorBlox SDK« zusammen mit IP von Microchip bietet Softwareentwicklern eine einfache Möglichkeit, ein trainierendes neuronales Netzwerk ohne vorherige FPGA-Kenntnisse zu programmieren.
Das »VectorBlox SDK« zusammen mit IP von Microchip bietet Softwareentwicklern eine einfache Möglichkeit, ein trainierendes neuronales Netzwerk ohne vorherige FPGA-Kenntnisse zu programmieren.

Microchip hat ein Software-Entwicklungskit und IP für neuronale Netze auf den Markt gebracht, die die Implementierung intelligenter Embedded-Bildverarbeitungsanwendungen auf energiesparenden FPGAs vereinfachen. Damit sollen sich neuronale Netze auch ohne FPGA-Kenntnisse trainieren lassen.

Der in Chandler/Arizona ansässige Halbleiterhersteller Microchip Technology hat mit dem »VectorBlox SDK« und IP für neuronale Netze eine einfache Möglichkeit geschaffen, ein trainierendes neuronales Netzwerk ohne vorherige FPGA-Kenntnisse zu programmieren. Mit dem Aufkommen von künstlicher Intelligenz (KI), maschinellem Lernen (ML) und dem Internet der Dinge (IoT) bewegen sich Anwendungen an den Rand des Netzwerks (Edge), wo Daten gesammelt werden. Dort sind energiesparende Lösungen erforderlich, die immer mehr Rechenleistung auf kleinerem, wärmetechnisch begrenztem Raum bereitstellen müssen. Mit seiner »Smart-Embedded-Vision-Initiative« möchte Microchip den wachsenden Bedarf an energieeffizienten Inferenzsystemen in Edge-Anwendungen bedienen, indem es Software-Entwicklern die Implementierung ihrer Algorithmen in ihren FPGAs der PolarFire-Familie erleichtert. Das Software-Entwicklungskit (SDK) »VectorBlox Accelerator« ist für das Unternehmen in diesem Bereich eine wichtige Ergänzung des Angebots und hilft Entwicklern, die Vorteile der PolarFire-FPGAs zu nutzen, um flexible, energiesparende, Overlay-basierte neuronale Netzwerkanwendungen zu erstellen, ohne einen FPGA-Tool-Flow erlernen zu müssen.

FPGAs effizienter als CPUs und GPUs

FPGAs eignen sich nach Ansicht des Unternehmens ideal für Edge-KI-Anwendungen, z.B. Inferenzfunktionen in energiesparenden Rechenumgebungen, da sie mehr Operationen – gemessen in 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. 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 flexible Toolkit kann Modelle im TensorFlow- und ONNX-Format (Open Neural Network Exchange) ausführen, was umfassende Framework-Interoperabilität gewährleistet. ONNX unterstützt viele Frameworks wie Caffe2, MXNet, PyTorch und Matlab. Im Gegensatz zu anderen FPGA-Lösungen wird das VectorBlox Accelerator SDK von 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.
»Damit Softwareentwickler von der Energieeffizienz von FPGAs profitieren können, muss das Hindernis beseitigt werden, neue FPGA-Architekturen und proprietäre Tool-Flows erlernen zu müssen. Zudem muss die Flexibilität bestehen, Multi-Framework- und Multi-Netzwerk-Lösungen zu portieren«, erklärte Bruce Weyer, Vice President der Field Programmable Gate Array Business Unit bei Microchip.
»Mit Microchips VectorBlox Accelerator SDK und dem IP-Core für neuronale Netze können Software- und Hardwareentwickler eine flexible Overlay-Faltungsarchitektur für neuronale Netze auf Basis der PolarFire-FPGAs einbinden, von der aus sich dann KI-fähige Edge-Systeme einfacher erstellen und implementieren lassen, die optimale Formfaktoren, thermische Eigenschaften und Energieeffizienz aufweisen«, ergänzte Weyer.

Neuronale Netze plus Zusatzfunktionen integrierbar

Für Inferenzfunktionen am Edge weisen PolarFire-FPGAs eine um bis zu 50 % geringere Stromaufnahme 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 reprogrammierbare Natur sowie die Fähigkeit, Funktionen auf einem einzigen Chip zu integrieren, ergeben sich mit FPGAs auch bessere Anpassungs- und Differenzierungsmöglichkeiten. Das PolarFire-FPGA-IP für neuronale Netze ist in verschiedenen Größen erhältlich, um in Anwendungen den Kompromissen zwischen Leistungsfähigkeit, Stromaufnahme und Chipgröße gerecht zu werden. So lassen sich Lösungen in Chipgehäusen mit nur 11 mm × 11 mm 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 eine geringere Stromaufnahme aufweisen, erübrigen sich meist Lüfter in den Gehäusen. Mit PolarFire-FPGAs lassen sich auch mehr Funktionen in Designs integrieren: In Anwendungen wie einer intelligenten Kamera können diese 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.
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. Weitere Informationen finden sich auf der Smart Embedded Vision Website.