KI basiert auf einem trainierten Modell, das weiß, wie bestimmte Dinge funktionieren. Dieses Modell kommt dann in einer Anwendung zum Einsatz, um Rückschlüsse (Inferenzen) auf die reale Welt zu ziehen. Daher hat eine KI-Anwendung zwei unterschiedliche Lebensphasen: Training und Inferenz (Bild 1).
Das Training erfolgt im Rahmen der Entwicklung und typischerweise in der Cloud. Inferenz hingegen ist eine ständige Aktivität der verwendeten Systeme. Da Inferenz eine enorme Rechenleistung erfordern kann, erledigt die Cloud einen Großteil davon. Dadurch bleibt aber oft zu wenig Zeit, um Entscheidungen zu treffen. Daten an die Cloud zu senden und dann zu warten, bis eine Entscheidung zurückkommt, kann Zeit kosten – und bis dahin ist es vielleicht schon zu spät. Diese Entscheidung vor Ort zu treffen, kann wertvolle Sekunden sparen. Echtzeit-Entscheidungen sind in vielen Anwendungsbereichen gefragt. In vielen Fällen geht es dabei darum, die Anwesenheit von Menschen zu erkennen, wie zum Beispiel bei Smart-Home-Anwendungen, Überwachungskameras oder Selfie-Drohnen etc.
Inferenz aus der Cloud entfernen
Wegen der Notwendigkeit schneller Entscheidungen zu treffen, gibt es eine starke Tendenz, die Inferenz aus der Cloud herauszunehmen und sie an den Netzwerkrand zu verlagern, das heißt in die Systeme, die Daten erfassen und dann auf der Grundlage der KI-Entscheidungen Maßnahmen ergreifen. Dadurch lassen sich die der Cloud innewohnenden Verzögerungen vermeiden.
Lokale Inferenz hat noch zwei weitere Vorteile. Erstens einen besseren Datenschutz. Daten, die mit der Cloud ausgetauscht und/oder in der Cloud gespeichert werden, sind Hackern und Datendieben ausgesetzt. Wenn die Daten das Gerät, das sie erfasst, niemals verlassen, gibt es viel weniger Missbrauchsgelegenheiten.
Der zweite Vorteil besteht darin, dass eine lokale KI-Implementierung unabhängig von der verfügbaren Internet-Bandbreite ist. Wird ein Video zur Echtzeit-Interpretation in die Cloud gesendet, erfordert dies eine enorme Bandbreite. Lassen sich die Entscheidungen hingegen vor Ort treffen, so wird diese Bandbreite für anderweitige Nutzung frei.
Weiterhin gilt, das viele dieser Geräte batteriebetrieben sind – oder lassen sich bei Betrieb am Stromnetz wegen starker Wärmeentwicklung nicht beliebig lang mit voller Leistung betreiben. In der Cloud liegen Energieverbrauch und Kühlung in der Verantwortung des Betreibers. KI-Modelle unterliegen einer schnellen Weiterentwicklung. Zwischen Beginn und Ende des Trainings kann sich die Größe des Modells drastisch ändern und die Leistungsanforderungen an die benötigte Computerplattform lassen sich möglicherweise erst gegen Ende des Entwicklungsprozesses beurteilen. Darüber hinaus können kleine Änderungen beim Training einen erheblichen Einfluss auf das Modell haben, wodurch weitere Unsicherheiten ins Spiel kommen. All dies macht es zu einer Herausforderung, die Endgeräte-Hardware passend zu dimensionieren.
Es muss immer Kompromisse bei der Optimierung der Modelle für das jeweilige Gerät geben. Das bedeutet, dass ein und dasselbe Modell in verschiedenen Geräten unterschiedlich funktionieren kann. Hinzu kommt, dass Endgeräte oft sehr klein sind. Dadurch ist die Größe der für die KI-Inferenz verwendeten Bauteile begrenzt. Aus all dem ergeben sich die folgenden Grundvoraussetzungen für KI-Inferenz am Netzwerkrand: Engines für KI-Inferenz am Netzwerkrand müssen möglichst wenig Strom verbrauchen, sehr vielseitig und in hohem Maße skalierbar sein, sowie kleine Abmessungen aufweisen.
Neue FPGA-Plattformen ermöglichen es OEMs, KI-Engines mit genau diesen Eigenschaften zu entwickeln. Typischerweise umfassen diese Lösungen eine Hardware-Plattform, Soft-IP, einen Neuronalen-Netz-Compiler, Entwicklungsmodule und Ressourcen, die dabei helfen, ein auf Anhieb funktionierendes Design zu entwickeln.
Optionen für Inferenz-Engines
Bei der Integration einer Inferenz-Engine in ein Endgerät gibt es zwei Aspekte: die Entwicklung der Hardware-Plattform, die das Modell ausführen soll und die Entwicklung des Modells selbst.
Ein KI-Modell lässt sich theoretisch auf vielen verschiedenen Architekturen ausführen. Aber die Ausführung am Netzwerkrand – unter Berücksichtigung der oben genannten Anforderungen an Leistungsfähigkeit, Flexibilität und Skalierbarkeit – schränkt die Auswahlmöglichkeiten ein; dies gilt insbesondere für ständig aktive Anwendungen.
In der Regel führt ein Prozessor die KI-Modelle aus, beispielsweise eine GPU, ein DSP oder ein Mikrocontroller. Aber die Prozessoren in Endgeräten – oft ein leistungsschwacher Mikrocontroller (MCU) – sind der Herausforderung, selbst einfache Modelle auszuführen, möglicherweise nicht gewachsen. Die Verwendung eines leistungsfähigeren Prozessors würde eventuell die Stromverbrauchs- und Kostenbudgets des Geräts überschreiten. Deshalb drängt sich der Gedanke auf, KI sei für solche Geräte unerreichbar. Aber dem ist nicht so! Die Lösung sind energieeffiziente FPGAs. Anstatt einen Prozessor für die Verarbeitung der KI-Algorithmen aufzurüsten, kann es zweckmäßig sein, ein FPGA der neuesten Generation als Co-Prozessor für die MCU einzusetzen und diese von der schwierigen Aufgabe der KI-Inferenz zu entlasten – und zugleich die Energieeffizienz-Anforderungen einzuhalten. Da diese FPGAs auch DSP-Funktionen bereitstellen können, bieten sie eine Rechenleistung, wie sie in einer Low-End-MCU nicht verfügbar ist.
ASICs, ASSPs und FPGA-KI-Engines
Für ausgereifte KI-Modelle, die in hohen Stückzahlen auf den Markt kommen sollen, können ASICs oder ASSPs (Application-Specific Standard Products) die passende Lösung sein. Aber in ständig aktiven Anwendungen verbrauchen sie unter Umständen zu viel Strom.
Hier können FPGAs als Aktivitäts-Gates fungieren und bei der Erkennung von Schlüssselwörtern oder bestimmter Arten von Videobildern ein ASIC oder ASSP aufwecken (Bild 2), das dann Sprache genauer analysiert oder mit großer Gewissheit bestätigt, dass ein Video tatsächlich eine Person zeigt.
Der FPGA handhabt dabei die ständig aktive Funktion, bei der es ganz besonders auf möglichst geringen Stromverbrauch ankommt. Nicht alle FPGAs können diese Rolle übernehmen, da viele von ihnen immer noch zu viel Strom verbrauchen, doch gibt es heute FPGAs, die dafür gut geeignet sind.
Low-Power-FPGAs der neuesten Generation können als autonome, integrierte AI-Engines fungieren. Die Hauptrollein spielen dabei die in den FPGAs verfügbaren DSPs. Selbst wenn ein Endgerät über keine großen Rechenressourcen verfügt, lässt es sich mit KI-Fähigkeiten austatten, ohne die Budgets für Stromverbrauch, Kosten oder Leiterplattenfläche zu überschreiten. Diese FPGAs verfügen über die Flexibilität und Skalierbarkeit, die angesichts der schnellen Weiterentwicklung der Algorithmen erforderlich sind.
Entwicklung von Inferenzmodellen
Die Erstellung eines Inferenzmodells ist der nächste Schritt im Rahmen der Produktentwicklung. Beim Entwurf von Hardware, die ein KI-Inferenzmodell ausführen soll, gilt es, den nötigen Ressourcenaufwand gegen die Performance- und Energieeffizienz-Anforderungen abzuwägen. FPGAs können, je nach Größe, bis zu acht Inferenz-Engines und zwischen 1 MByte und 3,7 MByte internen Speicher beherbergen und verbrauchen bis zu 1 W bei 100 mm2 Grundfläche.
Es gibt aber auch FPGAs, die nur ein Tausendstel des Stroms verbrauchen, also 1 mW, und die sich mit nur 5,5 mm2 Leiterplattenfläche begnügen. Solche FPGAs enthalten bis zu acht Multiplizierer und bis zu 1 MByte internen speicher. Mit einem FPGA, Soft-IP und geeigneter Peripherie-Hardware lassen sich neue Plattformen mit Hilfe von Designwerkzeugen kompilieren, die einen Bitstrom liefern, der die FPGAs beim Einschalten des Zielgeräts konfiguriert.
Die Erstellung eines Inferenzmodells unterscheidet sich wesentlich von der Erstellung der zugrundeliegenden Ausführungsplattform. Der Prozess ist abstrakter, erfordert mehr Mathematik und beinhaltet kein RTL-Design. Er umfasst zwei Hauptschritte: die Erstellung des abstrakten Modells und die Optimierung der Modellimplementierung auf der jeweiligen Hardware-Plattform. Das Modelltraining findet auf einem speziell dafür entwickelten Framework statt. Die beiden bekanntesten Frameworks sind Caffe und Tensorflow, aber es gibt auch noch diverse andere.
Zusammenfassend lässt sich sagen, dass heute FPGAs verfügbar sind, die geringen Stromverbrauch mit Flexibilität und Skalierbarkeit kombinieren und alle Elemente bereitstellen, die für den erfolgreichen Einsatz von KI-Inferenz-Designs in Endgeräten erforderlich sind.
Deepak Boppana
(aok)
Sie möchten gerne weiterlesen?
Unternehmen
Lattice Semiconductor
Churchill Court, 3 Manor Royal
N/A Surrey, Woking
United Kingdom