Dataflow ist eine Rechenarchitektur, die von SambaNova Systems zur Beschleunigung von Künstlicher-Intelligenz-Arbeitslasten entwickelt wurde. Im Gegensatz zu herkömmlichen Prozessordesigns, die Befehle sequenziell ausführen, organisiert Dataflow die Berechnung als einen gerichteten Graphen, in dem Daten kontinuierlich durch ein Netzwerk von Verarbeitungselementen fließen. Dieser Ansatz ist auf die strukturierten, sich wiederholenden Operationen zugeschnitten, die in Deep-Learning-Modellen wie neuralen Netzen und großen Sprachmodellen vorkommen. Die Architektur ist in Sambas eigener Hardware implementiert, einschließlich der DataScale-Systeme und der SN10-Serie rekonfigurierbarer Dataflow-Einheiten (RDUs).
Die Dataflow-Architektur entstand aus der Forschung an der Stanford University und wurde von SambaNova kommerzialisiert, das 2017 von Kunle Olukotun, Christopher Ré und Rodrigo Liang gegründet wurde. Das erste Produkt des Unternehmens, der DataScale SN10, wurde 2020 angekündigt und 2021 ausgeliefert. Die Architektur wurde entwickelt, um den Speicherbandbreiten-Engpass zu adressieren, der herkömmliche GPU-basierte Systeme einschränkt, die oft erhebliche Energie für den Datentransfer zwischen Speicher und Recheneinheiten aufwenden. Indem Daten auf dem Chip gehalten und durch ein konfigurierbares Fabric gestreamt werden, zielt Dataflow darauf ab, eine höhere Auslastung und geringere Latenz für KI-Inferenz und -Training zu erreichen.
Designprinzipien
Das Kernprinzip von Dataflow ist die Beseitigung des Von-Neumann-Engpasses, indem die Berechnung von der Befehlsabholung und -dekodierung entkoppelt wird. In einer herkömmlichen CPU oder GPU erfordert jede Operation das Abholen eines Befehls, das Dekodieren und die anschließende Ausführung auf Daten, die aus dem Speicher geholt werden. Dataflow kompiliert stattdessen das gesamte Modell in einen statischen Dataflow-Graphen, wobei jeder Knoten eine mathematische Operation (wie Matrixmultiplikation oder Aktivierung) und jede Kante eine Datenabhängigkeit darstellt. Der Graph wird dann auf ein Gitter von Verarbeitungselementen (PEs) abgebildet, von denen jedes über eigenen lokalen Speicher und arithmetische Einheiten verfügt.
Jedes PE in der Dataflow-Architektur kann eine Vielzahl von Operationen ausführen, darunter Multiplizieren-Akkumulieren, Aktivierungsfunktionen und Pooling. Die PEs sind über ein Hochbandbreiten-, Niedriglatenz-Netzwerk miteinander verbunden, das sowohl die Kommunikation mit nächsten Nachbarn als auch über größere Entfernungen unterstützt. Die Konfiguration dieses Netzwerks wird zur Kompilierzeit bestimmt, sodass die Hardware für jedes spezifische Modell spezialisiert werden kann. Diese Rekonfigurierbarkeit ist ein wesentliches Unterscheidungsmerkmal gegenüber festfunktionalen Beschleunigern wie AWS Trainium oder Groqs Tensor-Streaming-Prozessor, die ebenfalls Dataflow-Prinzipien verwenden, jedoch mit unterschiedlichen Kompromissen.
Kompilierung und Software-Stack
SambaNova bietet einen Software-Stack namens SambaFlow an, der Modelle, die in Frameworks wie PyTorch und TensorFlow geschrieben sind, in Dataflow-Graphen kompiliert. Der Compiler führt mehrere Optimierungen durch, darunter Operator-Fusion, Speicherlayout-Optimierung und Pipelining. Er übernimmt auch die Abbildung des Graphen auf das physische PE-Gitter und gleicht Rechen- und Speicherressourcen aus. SambaFlow unterstützt sowohl Training als auch Inferenz und enthält eine Laufzeitumgebung, die Datenbewegung und Synchronisation verwaltet.
Der Kompilierungsprozess ist statisch, was bedeutet, dass der Graph vollständig vor Beginn der Ausführung bestimmt ist. Dies ermöglicht es dem Compiler, Operationen präzise zu planen und Laufzeit-Overhead zu vermeiden. Es bedeutet jedoch auch, dass dynamischer Kontrollfluss, wie Schleifen mit variabler Trip-Anzahl, entrollt oder über spezielle Mechanismen behandelt werden muss. SambaNova hat seinen Compiler erweitert, um Transformer-Modelle zu unterstützen, die die Grundlage der meisten modernen generativen KI-Systeme bilden, indem Aufmerksamkeitsmechanismen und Feed-Forward-Schichten optimiert werden.
Hardware-Implementierung
Der SN10-RDU, der 2020 eingeführt wurde, enthält 40 Milliarden Transistoren und wird mit einem 7-Nanometer-Prozess bei TSMC gefertigt. Er verfügt über 48 GB On-Chip-SRAM, das über das PE-Gitter verteilt ist. Der Chip arbeitet mit einer Taktfrequenz von etwa 1,2 GHz, aber seine Leistung wird eher in Bezug auf den Dataflow-Durchsatz als auf die rohe Taktrate gemessen. SambaNova behauptet, dass ein einzelner SN10 bis zu 638 Teraflops Rechenleistung für sparse Modelle und 125 Teraflops für dichte Modelle liefern kann, obwohl diese Zahlen von der Arbeitslast abhängen.
Das DataScale-System integriert mehrere SN10-Chips in einem einzigen Gehäuse, mit bis zu 16 RDUs pro System. Diese Systeme sind über ein Hochgeschwindigkeits-Interconnect verbunden, das Peer-to-Peer-Kommunikation unterstützt. Spätere Generationen wie der SN30 und SN40 haben Speicher- und Rechenkapazität erhöht, wobei der 2023 eingeführte SN40 über 1,5 TB On-Chip-Speicher und Unterstützung für Modelle mit bis zu 5 Billionen Parametern verfügt. Die Hardware umfasst auch spezielle Einheiten für Pruning und Sparsity, die Nullwertberechnungen überspringen können, um die Effizienz zu verbessern.
Leistungsmerkmale
Dataflow-Systeme sind besonders effektiv für Inferenz-Arbeitslasten, bei denen dasselbe Modell wiederholt mit verschiedenen Eingaben ausgeführt wird. Die statische Planung ermöglicht eine vorhersehbare Latenz, und der On-Chip-Speicher reduziert die Notwendigkeit, auf externes DRAM zuzugreifen. In von SambaNova veröffentlichten Benchmarks erreicht der DataScale SN10 einen höheren Durchsatz als NVIDIA-A100-GPUs für mehrere beliebte Modelle, darunter BERT und GPT-3, bei geringerem Stromverbrauch. Unabhängige Benchmarks waren jedoch begrenzt, und die tatsächliche Leistung kann je nach Modell und Batch-Größe variieren.
Für das Training steht Dataflow vor Herausforderungen aufgrund der häufigen Gewichtsaktualisierungen und der dynamischen Natur der Gradientenberechnung. SambaNova hat dies durch die Unterstützung von Datenparallelität und Modellparallelität adressiert, bei der mehrere RDUs an verschiedenen Teilen des Modells arbeiten. Der Compiler kann die Vorwärts- und Rückwärtspässe pipelinen, um Berechnung und Kommunikation zu überlappen. Trotz dieser Bemühungen war die Trainingsleistung weniger wettbewerbsfähig als die Inferenz, und viele Kunden nutzen Dataflow hauptsächlich für die Bereitstellung.
Vergleich mit anderen Architekturen
Dataflow wird oft mit Graphcores IPU verglichen, die ebenfalls ein Many-Core-Design mit On-Chip-Speicher verwendet. Der Hauptunterschied besteht darin, dass Graphcore ein eher traditionelles, befehlsbasiertes Ausführungsmodell verwendet, während Dataflow rein datengetrieben ist. Groq's Tensor-Streaming-Prozessor ist eine weitere dataflow-ähnliche Architektur, verwendet jedoch ein einfacheres, starreres Design ohne On-Chip-Speicher und verlässt sich stattdessen darauf, Daten durch ein großes Array von Multiplizieren-Akkumulieren-Einheiten zu streamen. Sambas Rekonfigurierbarkeit bietet mehr Flexibilität für verschiedene Modellformen, fügt jedoch auch Komplexität für den Compiler hinzu.
Im Vergleich zu GPUs von NVIDIA (nicht in der bereitgestellten Liste enthalten, aber impliziert) oder AMD bietet Dataflow eine geringere Latenz für kleine Batches und eine bessere Energieeffizienz für Inferenz. GPUs profitieren jedoch von einem ausgereiften Software-Ökosystem und breiterer Unterstützung für Frameworks und Bibliotheken. Dataflows Vorteil ist am stärksten bei großen Transformer-Modellen ausgeprägt, bei denen der Aufmerksamkeitsmechanismus effizient auf das PE-Gitter abgebildet werden kann.
Anwendungen und Akzeptanz
SambaNova hat Dataflow-Systeme in verschiedenen Sektoren eingesetzt, darunter Regierung, Gesundheitswesen und Finanzdienstleistungen. Zu den bemerkenswerten Kunden gehören das US-Energieministerium, das das System für wissenschaftliches Rechnen nutzt, und Oracle Cloud, das SambaNova-Hardware als verwalteten Dienst anbietet. Die Architektur wurde für Aufgaben wie Verarbeitung natürlicher Sprache, Computer Vision und Wirkstoffforschung verwendet. 2023 führte SambaNova Samba-1 ein, ein großes Sprachmodell mit 1 Billion Parametern, das auf seinen Dataflow-Systemen trainiert wurde, was die Fähigkeit der Architektur für groß angelegtes Training demonstriert.
Das Unternehmen hat sich auch darauf konzentriert, Dataflow über Cloud-Dienste zugänglich zu machen, sodass Kunden Zeit auf der Hardware mieten können, ohne sie direkt zu kaufen. Dieses Modell wurde von Unternehmen übernommen, die leistungsstarke KI-Inferenz benötigen, aber nicht über die Ressourcen verfügen, um dedizierte Infrastruktur zu unterhalten. Bis 2024 hat SambaNova über 1 Milliarde US-Dollar an Finanzierung eingesammelt und entwickelt seine Hardware und Software weiter.
Herausforderungen und Einschränkungen
Eine der Hauptherausforderungen für Dataflow ist die Komplexität des Compilers. Die Abbildung beliebiger Modelle auf das PE-Gitter erfordert hochentwickelte Algorithmen für Partitionierung, Planung und Speicherzuweisung. Diese Komplexität kann zu längeren Kompilierzeiten führen, insbesondere bei großen Modellen. Darüber hinaus erschwert die statische Natur des Graphen die Unterstützung von Modellen mit dynamischen Formen oder Kontrollfluss, die in einigen Anwendungen wie Reinforcement Learning üblich sind.
Eine weitere Einschränkung ist der Mangel an Ökosystemunterstützung im Vergleich zu GPUs. Viele KI-Forscher und -Entwickler sind mit CUDA und PyTorch vertraut und zögern möglicherweise, eine neue Architektur zu übernehmen, die ein anderes Programmiermodell erfordert. SambaNova hat dies durch Kompatibilitätsschichten abgemildert, aber es gibt immer noch Lücken. Das Unternehmen hat auch Konkurrenz von etablierteren Akteuren wie Google Cloud und AWS erfahren, die ihre eigenen kundenspezifischen Beschleuniger anbieten.
Zukünftige Richtungen
SambaNova entwickelt die Dataflow-Architektur weiter, mit einem Fokus auf die Verbesserung der Trainingseffizienz und die Unterstützung größerer Modelle. Die SN40-Generation umfasst Verbesserungen für sparse Berechnung und gemischtpräzise Arithmetik. Das Unternehmen erforscht auch die Verwendung von Dataflow für Edge-Geräte, obwohl die aktuelle Hardware hauptsächlich für Rechenzentren ausgelegt ist. Da generative KI-Modelle an Größe zunehmen, wird die Nachfrage nach effizienter Inferenzhardware wahrscheinlich steigen, und Dataflows Ansatz könnte attraktiver werden.
Die Forschung zu Dataflow-Architekturen wird auch in der Wissenschaft fortgesetzt, wobei Gruppen an MIT CSAIL und Berkeley AI Research ähnliche Ideen erforschen. Die Prinzipien des Dataflow-Computing haben eine lange Geschichte, die bis in die 1970er Jahre zurückreicht, aber erst in jüngster Zeit haben Fortschritte in der Chipfertigung und Compiler-Technologie sie für kommerzielle KI-Arbeitslasten praktikabel gemacht. Sambas Dataflow repräsentiert eine der prominentesten kommerziellen Implementierungen dieses Konzepts, und sein Erfolg wird von seiner Fähigkeit abhängen, sich an die sich schnell verändernde KI-Landschaft anzupassen.
Fazit
Dataflow ist ein unverwechselbarer Ansatz zur KI-Beschleunigung, der die Effizienz der Datenbewegung und Rekonfigurierbarkeit priorisiert. Indem Modelle auf ein Gitter von Verarbeitungselementen mit On-Chip-Speicher abgebildet werden, bietet es eine überzeugende Alternative zu herkömmlichen GPUs für Inferenzaufgaben. Obwohl es Herausforderungen bei der Compiler-Komplexität und der Ökosystem-Adoption gibt, haben seine Leistungsvorteile für große Sprachmodelle erhebliche Investitionen und Kundeninteresse angezogen. Da KI-Modelle weiter wachsen, könnten die Prinzipien, die Dataflow zugrunde liegen, für die breitere Computerindustrie zunehmend relevanter werden.