Synthesefähige KI-Ausführungsplattformen

Neuronale Netze stellen hohe Anforderungen an die Leistungsfähigkeit der Hardware. Gerade bei Eingebetteten Systemen reichen die verfügbaren Rechenkapazitäten oft nicht aus. Spezialisierte Hardwarebeschleuniger können hier Abhilfe schaffen. Jedoch sind gängige Hardwareentwicklungsprozesse langwierig. Dies liegt an komplexen manuellen Entwurfs- und Verifikationsverfahren sowie Integrationsprozessen, in welchen die Beschleuniger an Softwareframeworks angebunden werden.

Im Rahmen von CC-KING wurde ein Framework zur Generierung von applikationsspezifischen, synthesefähigen, RISC-V-basierten, HW-beschleunigte Architekturen und SoC-Plattformen für TensorFlow Lite (Micro) Modelle entwickelt.

Am FZI wurde ein Framework zur Hardwareentwicklung aufgebaut, mit dem Ziel die Entwicklung und Integration von HW-beschleunigten Architekturen in SoC-Plattformen für die Ausführung von Neuronalen Netzen in vielen Bereichen zu erleichtern und zu automatisieren. Grundlage dafür ist die Kombination von speziell entwickelten Hardwaregeneratoren einerseits und TensorFlow Lite Modellen andererseits. Ein TensorFlow Lite Modell beschreibt eine Sequenz von komplexen parametrisierten Operatoren welche das Neuronale Netz abbilden. Bei den Hardwaregeneratoren handelt es sich um Softwarefragmente, welche bei ihrer Ausführung als Ergebnis die Hardwarebeschreibung eines speziell auf das gegebene TensorFlow Lite Modell abgestimmtes Beschleunigerfragmentes (Kernel) liefern.

Das Framework verbindet die erzeugten Fragmente zu einem Gesamtbeschleuniger und bindet diesen an einen eingebetteten RISC-V Prozessor an. Diese Kombination aus CPU und Beschleuniger bildet effektiv einen Ko-Prozessor für einen externen Anwendungsprozessor, welcher das Betriebssystem bereitstellt, auf welchem TensorFlow Lite ausgeführt werden kann. Die notwendigen Softwareartefakte, welche die Kommunikation zwischen TensorFlow Lite und dem Beschleuniger implementieren, werden ebenfalls von dem Framework automatisch generiert.

Im Rahmen von CC-KING wurden die Generatoren des Framworks erweitert, um neben TensorFlow Lite auch TensorFlow Lite Micro zu unterstützen. TensorFlow Lite Micro ist eine Bibliothek, welche es ermöglicht kompatible TensorFlow Lite Modelle ohne ein komplexes Betriebssystem direkt auf ressourcenbeschränkten eingebetteten Prozessoren auszuführen. Dadurch können die gleichen generierten Beschleuniger auch ohne einen externen Anwendungsprozessor genutzt werden. Dementsprechend kann der gleiche Harwaregenerierungsprozess sowohl für TensorFlow Lite als auch für TensorFlow Lite Micro genutzt werden. Der Unterschied liegt in den generierten Softwareartefakten. Im Falle von TensorFlow Lite implementiert die Firmware des RISC-V Prozessors im Wesentlichen die notwendige Kommunikationsschnittstelle. Für TensorFlow Lite Micro wird hingegen das gesamte Modell auf dem eingebetteten Prozessor ausgeführt mit unmittelbarer Anbindung an den Hardwarebeschleuniger.

 

Die schnelle und kosteneffiziente Entwicklung von spezialisierten, beschleunigten SoC-Platformen unterstützt insbesondere die Implementierung von Edge-AI Lösungen. Durch die Einbindung von Hardwarebeschleunigern können hochintegrierte Microcontroller-ähnliche Architekturen eingesetzt wären, welche sonst durch die NN Algorithmen überfordert wären. Die generierte Hardware kann prototypisch auf FPGAs eingesetzt werden und die Basis für einen vollintegrierten ASIC liefern.