KI-Prozessoren für das Edge

»Geringe Latenzen, Flexibilität und Energieeffizienz«

12. September 2022, 14:00 Uhr | Iris Stroh
Ravi Annavajjhala
Ravi Annavajjhala, Kinara: »Unsere Ara-1-Prozessoren laufen bereits in Serie, bald folgt die zweite Generation und auch die neuen Prozessoren werden sich durch ein außergewöhnlich gutes Verhältnis zwischen Performance und Leistungsaufnahme auszeichnen.«
© Kinara

Diese Faktoren sind aus der Sicht von Ravi Annavajjhala, CEO von Kinara, absolut entscheidend für KI-Prozessoren, die im Edge zum Einsatz kommen sollen. Genau in diesen drei Punkten könne der KI-Prozessor Ara-1 alle Alternativen im Markt übertrumpfen.

Markt&Technik: Die Ara-1-KI-Prozessoren nutzen eine patentierte polymorphe Datenflussarchitektur. Was steckt dahinter?

Ravi Annavajjhala: Unser Unternehmen wurde 2014 von Rehan Hameed und Wajahat Qadeer gegründet, die damals ihre Doktorarbeit in Stanford schrieben. Im Rahmen dieser Doktorarbeit entwickelten sie eine vollkommen neue Architektur, um die Verarbeitung von KI-Modellen im Edge zu beschleunigen. Denn sie waren damals schon überzeugt, dass KI-Modelle in ein paar Jahren als zentraler Ansatz für viele Transaktionen in Bereichen wie Einzelhandel, Smart Cities oder im Fahrzeug zum Einsatz kommen werden. Und sie waren überzeugt, dass viele verschiedene Datentypen für KI-Modell genutzt werden.

All diese Anwendungen haben aber eines gemein: Sie brauchen eine sehr leistungsstarke, sehr energieeffiziente Architektur, um die KI-Berechnungen im Edge durchführen zu können. Genau dieser Punkt war die erste Prämisse für die Entwicklung der Ara-1-KI-Prozessoren.

Damals war ebenfalls schon klar, dass sich die KI-Modelle schnell verändern. Folglich ist ein Prozessor notwendig, der die sich ändernde KI-Landschaft unterstützen kann. Das wiederum heißt, dass ein Compiler notwendig ist, der sich dynamisch verändern und sich an die verändernden KI-Modelle und -Größen anpassen kann. Das war die zweite Prämisse.

Und auf Grundlage dieser beiden Prämissen wurde der Entwicklungsprozess vorangetrieben. Während ihrer Doktorarbeit kamen die Gründer auch zu der Erkenntnis, dass die Datenbewegungen zwischen den Recheneinheiten und den verschiedenen Ebenen der Speicherhierarchie die Hauptursache für Ineffizienz darstellen. Die Frage war also, wie sie diese Datenbewegungen minimieren und gleichzeitig Daten wiederverwenden konnten.

Damit wurde klar, dass der Prozessor so konzipiert sein muss, dass er über programmierbare Schaltungselemente verfügt, die den Compiler unterstützen. Der Compiler kennt dann die zugrunde liegenden Operatoren, die vom Prozessor verwendet werden, sodass er ein KI-Modell so auf die verfügbare Hardware abbilden kann, dass die Datenbewegungen minimiert werden, um eine hohe Effizienz zu erreichen.

Man kann sich das als einen Satz von Funktionen vorstellen, die der Prozessor bietet. Jedes Mal, wenn ein neues Modell kommt, sucht sich der Compiler die Funktionen aus, die garantieren, dass das Modell effizient abgearbeitet werden kann. Deshalb bezeichnen wir unsere Architektur Compiler-gesteuert.

Und noch ein weiterer wichtiger Punkt: Unsere Architektur ist latenzoptimiert. Geht es um KI in Datenzentren, ist der Durchsatz der entscheidende Parameter, im Edge ist eine geringe Latenz aber viel wichtiger. Denn im Edge geht es darum, dass das Inferenzieren möglichst schnell zu einem Ergebnis führt. Selbst wenn nur ein Bild vorhanden ist, muss es möglich sein, zu entscheiden. Im Edge kann es außerdem der Fall sein, dass verschiedene Modelle oder unterschiedliche Arbeitslasten vorliegen, auch das muss unterstützt werden.

Die Ara-1-KI-Prozessoren eignen sich für Bildverarbeitung, wie schaut es mit Spracherkennung aus?

Die Prozessoren sind auch in der Lage, Spracherkennung oder andere Arbeitslasten zu verarbeiten. Das ist das Schöne an unserem Compiler. Ursprünglich haben wir uns hauptsächlich mit Faltungsnetzen beschäftigt, bei denen es meistens um Bildverarbeitung geht, aber mittlerweile unterstützen wir auch RNNs, also rekurrente neuronale Netze, und LSTM, sprich: Long Short Term Memories. Darüber hinaus können wir auch Transformer verarbeiten, eine völlig neue Klasse von neuronalen Netzen. Wir sind also eine flexible, aber gleichzeitig effiziente Architektur.

Bieten Sie Optimierungswerkzeuge an?

Zunächst einmal: Wir sind sehr stolz darauf, dass wir das Netzwerk oder das Deep-Learning-Modell so erhalten, wie es aus dem Training hervorgeht. Damit erreichen wir eine 100-prozentige Wiedergabetreue. Das Einzige, was wir tun, ist eine Quantisierung vorzunehmen. Wir gehen also von Fließkomma auf Festkomma über, nehmen aber sonst keine weiteren Änderungen vor.

PLD-Hersteller betonen, dass der Vorteil von FPGAs bei KI darin besteht, dass die Logik an verschiedene Datenflüsse angepasst werden kann, der Ansatz ähnelt dem von Kinara.

Im Gegensatz zu Kinaras Architektur muss man die zugrunde liegende Logik ändern, um einen neuen Datenfluss oder einen neuen Berechnungsmechanismus in einem FPGA zu erhalten. Unsere zugrundeliegende Logik ist fest, wir haben die Programmierbarkeit auf einer höheren Ebene, d. h. auf Compiler-Ebene, implementiert, sodass der Compiler die zugrunde liegenden Primitive im Prozessor nutzen kann und somit in der Lage ist, sich an neu entstehende KI-Modelle anzupassen. Hinzu kommt, dass FPGA-Hersteller weniger als 20 Modelle unterstützen, während unser Compiler über 100 KI-Modelle unterstützt, darunter die neuesten und besten Modelle sowie einige der kompliziertesten Modelle. Wenn mehrere Modelle nacheinander ausgeführt werden müssen, was bei den meisten Edge-KI-Anwendungen der Fall sein wird, ist es zudem schwierig, die FPGA-Konfiguration für jedes Modell zu ändern.

Programmierbarkeit auf der Software-Seite hat aber typischerweise den Nachteil gegenüber einem Hardware-Ansatz, dass er bei Weitem nicht so effizient ist.
Die Unternehmensgründer haben sich damals mehr oder minder das ganze Universum mit KI-Modellen angeschaut, mit allen verschiedenen Arten von Faltungen, Matrizenmultiplikationen und andere Arten von Nichtlinearitäten etc., und auf Basis dieses Wissens wurde eine kleine Anzahl von entscheidenden Datenflussmustern identifiziert. Die Architektur wiederum wurde für diese Schlüsselmuster optimiert, sodass sie alle diese Funktionen in all ihren verschiedenen Ausführungen, egal ob zwei 3x3-Faltungen oder eine 2x2-Faltung, effizient durchführen kann.

Hinzu kommt noch, dass die Flexibilität der Recheneinheiten eine viel größere Freiheit bei der effizienten Verwaltung der Daten auf Systemebene ermöglicht. Dies steht im Gegensatz zu einem festen Design, das den Datenfluss durch das System einschränkt. Da die Datenbewegung den größten Teil der Energie verbraucht, ist ein flexibles Design in diesem Fall das effizientere Design. Effizienz ist also definitiv nicht unser Problem.

Und im Vergleich zu FPGAs kommt noch hinzu: Unsere Bausteine lassen sich einfach nutzen, die Programmierung von FPGAs ist typischerweise alles andere als einfach, denn man braucht spezielle Programmierkenntnisse.

Anbieter zum Thema

zu Matchmaker+

  1. »Geringe Latenzen, Flexibilität und Energieeffizienz«
  2. Marktpositionierung von Kinara

Das könnte Sie auch interessieren

Verwandte Artikel

elektroniknet