Die Arbeitslasten im KI-Bereich und die dafür erforderlichen Rechnerarchitekturen entwickeln sich rasch weiter, und das in vollkommen unvorhersehbare Richtungen. Gerade der letzter Punkt hat aber erhebliche Auswirkungen auf die Genauigkeit, Leistung und Effizienz von KI-Inferenzierungen.
Die offensichtliche Lösung besteht darin, das Problem einfach mit mehr Rechenleistung zu lösen - schnellere und bessere Prozessoren und Speicher - und mehr davon. Dieser brachiale Ansatz bringt jedoch immer weniger ein. Das gilt selbst dann, wenn das Budget keine Rolle spielt und der Einsatz von Technologien wie HBM (High-Bandwidth Memory) oder sogar PIM (Processing in Memory) möglich ist. Dementsprechend werden gezielte und optimierte Alternativen entwickelt, einschließlich spezieller Beschleuniger, was einer Abkehr von herkömmlichen Computerarchitekturen zur Folge hat.
Es gibt diverse Beschleunigerarchitekturen, die miteinander konkurrieren, um KI-Arbeitslasten am besten zu bedienen. Aber: Das At-Memory-Computing-Konzept ist grundsätzlich die beste Architektur – und das gilt nicht nur für die KI-Arbeitslasten von heute, sondern auch für die von morgen.
KI-Inferenz-Arbeitslasten kommen immer häufiger vor und werden vielfältiger
Inferenzierung wird in vielen verschiedenen Anwendungen und Branchen genutzt. Einige dieser Anwendungsfälle sind recht einfach und finden sich in den gängigsten Smartphones wieder. Doch die, die traditionelle Computerarchitekturen herausfordern, sind Anwendungsfälle, die große Datenmengen verarbeiten und in denen Entscheidungen schnell getroffen werden müssen, um den Erfolg von Geschäftsergebnissen, die Zuverlässigkeit von Anlagen und sogar die Funktionssicherheit zu unterstützen.
Hohe Transaktionsvolumina sind beispielsweise ein Markenzeichen der Finanzdienstleistungsbranche, aber KI stellt auch diese Branche vor neue Herausforderungen bei der Datenverarbeitung. Denn diese Anwender wollen die Verarbeitung natürlicher Sprache (NLP) nutzen, um Daten aus strukturierten und unstrukturierten Dokumenten zu extrahieren. NLP - ein Teilgebiet der Linguistik, Informatik und KI - ermöglicht es Banken, Aufgaben wie die Suche nach Dokumenten und die Erfassung von Kundeninformationen zu automatisieren und zu optimieren. Darüber hinaus hilft es ihnen, Leistungsfaktoren zu bewerten und bessere Marktprognosen zu erstellen, indem es eine Vielzahl von Text- und Sprachdaten aus verschiedenen Kontexten auswertet.
KI hat auch Einzug in die Fabrikhallen und andere industrielle Umgebungen gehalten, um Prozesse in verschiedenen Bereichen wie Lieferkette, Produktentwicklung und -herstellung sowie Außendiensttätigkeiten durch den Einsatz von Deep Learning zu verändern und zu automatisieren. Mit der Weiterentwicklung von KI-Hardware und der Verbesserung von Halbleitertechnologien gibt es immer mehr dedizierte Komponenten für industrielle KI-Anwendungen, die eine höhere Autonomie in der Fabrikhalle ermöglichen.
In ähnlicher Weise spielt die Inferenzierung eine Schlüsselrolle in modernen Fahrzeugen (unabhängig davon, ob sie vollautonom sind oder nicht) und in Verkehrssystemen im Allgemeinen. Die Fähigkeit der KI, Daten zu verarbeiten und vorherzusagen, ermöglicht eine effiziente und zuverlässige Planung von privaten und öffentlichen Verkehrsmitteln. Im Fahrzeug selbst spielt eine genaue Inferenzierung dann eine entscheidende Bedeutung, wenn teilautonome oder autonome Fahrzeuge ihre Umgebung interpretieren sollen, um auf der Grundlage von Verkehrssignalen, dem Verhalten anderer Fahrer und unerwarteten Hindernissen auf der Straße, das Fahrzeug sicher zu navigieren.
Diese Vielfalt an Inferenzierungsaufgaben führt zu vielfältigen Architekturen für neuronale Netze, selbst innerhalb einer einzigen Branche. Die rasche Entwicklung und Fragmentierung der Arbeitslasten und die Entwicklung neuer Architekturen erhöhen die Unvorhersehbarkeit, was die bestehenden Herausforderungen beim Inferenzieren noch verstärkt, aber auch neue Herausforderungen schafft.
Eine kosteneffiziente Inferenzierung ist schwierig
Bekanntermaßen geht die Entwicklung neuer Anwendungsfälle und Arbeitslasten beim Inferenzieren munter weiter. Die Herausforderung besteht vielmehr darin, sie technologisch realisierbar zu machen. Und selbst wenn dieser Schritt geglückt ist, sollte die dafür genutzte Technologie natürlich auch noch kosteneffizient und skalierbar sein.
Die Algorithmen, auf denen Deep Learning und maschinelles Lernen beruhen, sind bekanntermaßen sehr leistungshungrig. Daher besteht die offensichtliche Lösung beim Inferenzieren darin, mehr Rechenkapazitäten für das Problem bereitzustellen, sprich der Einsatz von Hochleistungscomputern, den neuesten und besten Prozessoren, viel DRAM oder sogar HBM. Aber selbst, wenn On-Demand-Computing-Ressourcen über die Cloud verfügbar sind, sind fortschrittlichere Systeme für die Inferenzierung oft kostspielig. Und selbst wenn man vom Kostenfaktor absehen kann: es ist definitiv nicht die beste Lösung, mehr Leistung in Form von CPUs, GPUs und hochmodernem Speicher bereitzustellen.
Die CPU hat durchaus ihre Berechtigung in der KI; sie eignet sich besonders gut für sequenzielle Algorithmen und Aufgaben, bei denen relativ kleine Datenmengen in sequenziellen Schritten umgewandelt werden müssen. Beispiele aus der Praxis sind Bilderkennung und gleichzeitige Ortung und Kartierung für autonome Fahrzeuge und Drohnen, aber auch Haushaltsgeräte mit einfachen NLP-Funktionen. Moderne neuronale Netze sind jedoch so rechenintensiv, dass CPUs in Bezug auf Leistung und Effizienzanforderungen nicht mithalten können.
Grafikprozessoren (GPUs) eignen sich besonders gut für KI-Arbeitslasten, die die von GPUs gebotene massive Parallelität nutzen können - sie bringen aber auch Herausforderungen mit sich. Denn Grafikprozessoren benötigen per-se viel Strom, und wenn die Berechnung für den Hauptspeicher des Grafikprozessors zu groß ist, erhöht sich die Latenzzeit deutlich.
Mit mehr Speicher kann der Gesamtdurchsatz des Systems erhöht werden, aber auch dieser Ansatz hat seine Grenzen. Die Verbreitung und Diversifizierung von KI-Arbeitslasten hat die Weiterentwicklung der DRAM-Spezifikationen (sowohl DDR als auch LPDDR) beschleunigt und zu einem verstärkten Interesse an HBM und PIM geführt.
DRAM ist nach wie vor der schnellste und am besten verstandene Speicher, und Low-Power-DRAM wird sich wahrscheinlich längerfristig in Inferenzierungsaufgaben im Edge-Bereich mit KI sowie in Automobilanwendungen durchsetzen. HBM ist wiederum ist nach wie vor ein Premium-Speicher. Für PIM ist es noch zu früh, um Vorhersagen zu treffen, denn die jüngsten Entwicklungen erleichtern gerade mal die Integration in Systemen, ohne dass große Software-Änderungen erforderlich sind. Das heißt, dass noch viel zu tun, um PIM zu definieren und diese Technologie kommerziell nutzbar zu machen.
Die Herausforderungen, die KI-Arbeitslasten mit immer größeren Datenmengen mit sich bringen, haben zur Entwicklung dedizierter Beschleuniger geführt, um die Daten dorthin zu bringen, wo sie benötigt werden, und damit die Notwendigkeit zu verringern, Daten zwischen Prozessoren, Speicher und Massenspeicher hin und her zu transferieren. Heterogenes Computing, bei dem das System problemlos auf die richtige Mischung aus Rechenleistung, Arbeitsspeicher und Massenspeicher für eine bestimmte Arbeitslast zugreifen kann, sowie mit den neuen CXL-Spezifikationen (CXL: Compute Express Link), die den Zugriff auf verteilte Speicherpools ermöglicht, stoßen auf großes Interesse, um die Engpässe zu beseitigen, die das zügige Abarbeitung von Arbeitslasten im KI-Umfeld behindern.
In der Zwischenzeit ist aber zu erwarten, dass die Herausforderungen für erfolgreiche KI-Inferenzanwendungen weiterhin zunehmen werden, was sich auf Genauigkeit, Leistung und Effizienz auswirken wird. Sich ändernde KI-Arbeitslasten führen zu vielfältigeren Architekturen neuronaler Netze, und diese Architekturen werden sich in der Zukunft in einer nicht vorhersehbaren Weise weiterentwickeln. Das heißt, das Ziel besteht einerseits darin, sicherzustellen, dass ein Algorithmus auf der gewählten Netzwerkarchitektur erfolgreich ausgeführt werden kann. Andererseits muss die Genauigkeit ebenfalls sichergestellt sein, denn eine »deep Quantifization« führt zu einem Genauigkeitsverlust und auch analoge Techniken können hier abdriften.
Selbst wenn die Genauigkeit eingehalten wird, kann sich die Leistung verschlechtern, wenn die Architektur die Durchsatz- und Latenzziele nicht erreichen kann. Die Maximierung von Bildern und Abfragen pro Sekunde sowie die Minimierung von Stapelgrößen bei gleichzeitig hohem Durchsatz und vertretbaren Latenzzeiten sind wichtige Erfolgsfaktoren bei Arbeitslasten bei Inferenzierungsaufgaben. Klar ist aber auch, dass die Leistungsziele nicht zu Lasten der Effizienz erreicht werden sollen. Die gewählte Architektur muss also die optimale Leistung aus dem Silizium herausholen und gleichzeitig den Stromverbrauch im Griff behalten - Bilder und Abfragen pro Sekunde und Watt müssen optimiert werden, während gleichzeitig die Investitionskosten für die Einrichtung des Systems und die Gesamtbetriebskosten berücksichtigt werden müssen.
Während die In-Memory-Architektur aus technologischer Sicht die naheliegendste Wahl sein mag, adressiert die At-Memory-Architektur genau die besonderen Herausforderungen, denen sich Inferenzanwendungen heute stellen müssen.
At-Memory-Computing ist der »Sweet Spot« für KI-Beschleunigung
Heute übliche »Near-Memory«- und »Von-Neumann«-Architekturen setzen auf lange, schmale Busse und tiefe und/oder gemeinsam genutzte Caches. Im Gegensatz dazu nutzt eine At-Memory-Compute-Architektur kurze, massiv parallele Direktverbindungen mit dediziertem, auf Effizienz und Bandbreite optimierten Speicher.
Eine gängige »Von-Neumann«-Architektur verfügt typischerweise über externes DRAM, einen Cache-Speicher und eine Pipeline für den Zugriff auf die Verarbeitungselemente. Im Gegensatz dazu sind bei einem »At-Memory-Compute«-Ansatz die Verarbeitungselemente direkt mit den Speicherzellen verbunden sind. Untether AI hat sich für SRAM in seiner »At-Memory-Compute«-Architektur entschieden, aber das ist nur ein Teil der Geschichte. Untether AI hat seine Verarbeitungselemente nicht nur direkt mit SRAM-Zellen verbunden, das Unternehmen nutzt auch einen RISC-Prozessor und bis zu 512 Verarbeitungselemente, wobei jedes mit seinem eigenen SRAM-Array verbunden ist. Jeder RISC-Prozessorkern ist speziell für die Beschleunigung neuronaler Netze optimiert.
Dadurch, dass das gesamte neuronale Netzwerk auf dem Chip platziert werden kann, erreicht Untether AI mit seinem Ansatz nicht nur geringe Latenzzeiten, sondern auch einen hohen Durchsatz. Dass Untether AI den Durchsatz steigern kann, ist ganz klar auf die physische Anordnung zurückzuführen - die Platzierung der richtigen Elemente genau am richtigen Platz erhöht die Energieeffizienz und verringert die Latenzzeit. Darüber hinaus werden Routing-Aufwand und Berechnungseinheiten genau auf das Maß gebracht, das hilft, den Gesamtdurchsatz zu optimieren. Die entscheidenden Funktionen in Hinblick auf Kosten sind auf die Hardware-Parameter abgestimmt. Damit ist gewährleistet, dass die eigentlichen Berechnungen eng an die Aktivierungen gepackt werden können. Im Gegensatz dazu müssen bei einer »Von-Neumann«-Architektur einer CPU oder einer GPU die Schichten und Koeffizienten aus dem Speicher »geswappt« werden, während die Daten in größere Gruppen gepackt werden, um den Durchsatz zu erhöhen, was sich wiederum negativ auf die Latenz auswirkt.
Die »At-Memory-Compute«-Architektur von Untether AI ist ein Ansatz, der das Beste aus beiden Welten vereint, da Untether AI die MIMD- (Multiple Instruction Multiple Data) und die SIMD-Verarbeitung (Single Instruction Multiple Data) miteinander kombiniert. MIMD ermöglicht eine räumliche Optimierung mit 511 asynchron arbeitenden Speicherbänken, während die sequentielle Optimierung durch SIMD erreicht wird, wobei 512 Prozesselemente pro Speicherbank mit einem einzigen Befehl arbeiten.
Die »At-Memory-Compute«-Architektur von Untether AI ist für »Large-Scale-«, sprich umfangreiche, Inferenz-Workloads optimiert und zeichnet sich durch eine extrem niedrige Latenzzeit aus, die eine typische »Near-Memory«- oder eine »Von-Neumann«-Architektur nicht bieten kann. Durch reine Integer-Arithmetik-Einheiten kann Untether AI den Durchsatz erhöhen und gleichzeitig die Kosten senken. Gleichzeitig schafft es Untether AI, flexibel zu bleiben, um eine Vielzahl von neuronalen Netzen für KI-Inferenzanwendungen zu unterstützen, einschließlich NLP, bildverarbeitungsorientierte NNs und Empfehlungssysteme in verschiedenen Industriesegmenten, wie industrielle Bildverarbeitung, Finanzwesen, intelligenter Einzelhandel und autonome Fahrzeuge.
Die KI-Compute-Engine von Untether AI ist in zwei Hardware-Varianten verfügbar. Die runAI200-Bausteinen sind für die Beschleunigung von Inferenz-Anwendungen optimiert. Sie arbeiten mit ganzzahligen Datentypen (Integer) und einem Batch-Modus von 1. Sie nutzen die »At-Memory«-Architektur von Untether AI, und erreichen damit eine Rechenleistung von 502 TOPS (Tera Operations per second) und eine Effizienz von bis zu 8 TOPS/W. Diese Bausteine sind für die Leistung der »tsunAImi«-Beschleunigerkarte verantwortlich. Sie kommen auf eine Rechenleistung von 2 POPS einer einzigen Karte, was bei ResNet-50 v 1.5 einem Durchsatz von mehr als 80.000 Bildern pro Sekunde bei Batch = 1 entspricht. Für die Verarbeitung natürlicher Sprache (NLP) können die tsunAImi-Beschleunigerkarten über 12.000 Abfragen pro Sekunde auf BERT-Basis verarbeiten.
Vor kurzem hat Untether AI seine speedAI-Familie angekündigt, die auf der »At-Memory«-Rechenarchitektur basiert, allerdings der zweiten Generation. Als Untether AI seine erste runAI-Familie ankündigte, setzten das Unternehmen mit 8 TOPs/W ein neues Niveau, was Energieeffizienz anbelangt. Mit der speedAI-Architektur übertrifft das Unternehmen diesen Wert mit 30 TFlops/W deutlich. Diese Energieeffizienz ist das Ergebnis der zweiten Generation der At-Memory-Compute-Architektur, mit über 1.400 optimierten RISC-V-Prozessoren mit benutzerdefinierten Befehlen, einem energieeffizienten Datenfluss und der Einführung eines neuen 8-Bit-Gleitkomma-Datentyps (FP8) - all das trägt zu einer Vervierfachung der Effizienz im Vergleich zur vorherigen Generation der runAI-Bausteine bei. speedAI-Bausteine werden ab der ersten Jahreshälfte 2023 als Chips sowie in einer Vielzahl von m.2- und PCI-Express-Formfaktor-Karten erhältlich sein.
Auch wenn die Hardware einzigartig ist, auch die Software ist entscheidend
Hardware allein reicht nicht aus, um KI-Bereich erfolgreich einzusetzen. Das Hardware-Angebot von Untether AI wird durch das hauseigene Software-Entwicklungskit »imAIgine« ergänzt, das mit bekannten Machine-Learning-Frameworks kompatibel ist, einschließlich TensorFlow und PyTorch mit Jupyter Notebook-Integration. Die auf de »At-Memory-Compute«-Konzept basierende Hardware von Untether AI in Verbindung mit dem Software-Entwicklungskit ermöglicht eine leistungsstarke Inferenzierung mit geringem Stromverbrauch, und das für eine Vielzahl von heutigen Netzen, plus der Fähigkeit, auch die zukünftigen Arbeitslasten problemlos abarbeiten zu können.