DCC: Data-Centric Compilation of Machine Learning Kernels for Processing-In-Memory Architectures
Dieser Beitrag stellt DCC vor, den ersten datenzentrierten Compiler für Processing-In-Memory (PIM)-Systeme, der Datenumordnungen und Berechnungscode gemeinsam optimiert, um Speicherzugriffsinkonsistenzen zu überwinden und damit erhebliche Beschleunigungen bei Machine-Learning-Kernen und der Inferenz großer Sprachmodelle über diverse PIM-Architekturen hinweg erzielt.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie betreiben eine riesige Bibliothek (ein Machine-Learning-Modell), in der Sie spezifische Bücher (Daten) finden müssen, um Fragen zu beantworten.
Das Problem: Zwei verschiedene Bibliothekar-Stile
In einem herkömmlichen Computer haben Sie einen superschnellen Bibliothekar (die GPU), der in einem riesigen zentralen Büro arbeitet. Um schnell zu arbeiten, benötigt dieser Bibliothekar Bücher, die in einer bestimmten Weise angeordnet sind: Buch 1, Buch 2 und Buch 3 müssen auf verschiedenen Regalen stehen, damit der Bibliothekar sie gleichzeitig aus verschiedenen Gängen greifen kann.
Sie haben jedoch auch einen neuen, supereffizienten Assistenten (das PIM-Gerät), der direkt neben den Regalen arbeitet. Dieser Assistent ist beim Lesen unglaublich schnell, kann aber nur die Bücher auf seinem eigenen spezifischen Regal erreichen. Wenn die Bücher über verschiedene Gänge verstreut sind, muss der Assistent hin und her laufen, was langsam ist.
Um diesen neuen Assistenten zu nutzen, müssen Sie die Bücher nehmen, sie so umordnen, dass Buch 1, 2 und 3 alle auf dem gleichen Regal für den Assistenten liegen, ihn die Arbeit erledigen lassen und die Bücher dann erneut umordnen, um sie wieder im Format des zentralen Büros für den Hauptbibliothekar zurückzulegen.
Der alte Weg: Manuelle Durchführung
Früher mussten Programmierer manuell herausfinden, wie diese Bücher am besten umsortiert werden. Sie mussten raten: „Soll ich 10 Bücher auf dieses Regal legen? Oder 20?" Wenn sie falsch rieten, verbrachte der Assistent mehr Zeit mit dem Umsortieren der Bücher als tatsächlich mit dem Lesen. Das war wie der Versuch, eine Bibliothek von Hand zu organisieren, während die Uhr tickt – es war langsam, fehleranfällig, und verschiedene Bibliotheken (verschiedene Hardware) erforderten völlig unterschiedliche Umsortierungsregeln.
Die Lösung: DCC (Der Assistent des klugen Bibliothekars)
Die Arbeit stellt DCC vor, ein neues „intelligentes System", das wie ein Masterplaner für diese Bibliothek fungiert. Anstatt dem Assistenten nur zu sagen, was er lesen soll, ermittelt DCC den besten Weg, die Bücher zu arrangieren, und den besten Weg, dem Assistenten zu sagen, wie er sie lesen soll, alles gleichzeitig.
So funktioniert DCC, unter Verwendung einfacher Metaphern:
Der universelle Übersetzer (Multi-Layer-Abstraktion):
Verschiedene Bibliotheken haben unterschiedliche Grundrisse (einige haben 4 Gänge, andere 8). DCC spricht eine universelle Sprache. Es ist egal, ob Sie eine Samsung-Bibliothek oder eine SK Hynix-Bibliothek verwenden; es übersetzt die „Bücheranordnungsregeln" in ein Format, das es versteht, damit es mit jeder Hardware arbeiten kann.Der „Was-wäre-wenn"-Simulator (Datenzentrischer Zeitplan-Generator):
Anstatt zu raten, führt DCC Tausende von Simulationen in seinem Kopf durch. Es fragt: „Was wäre, wenn wir 4 Bücher auf Regal A legen? Was wäre, wenn wir 8 legen?" Es betrachtet den gesamten Prozess – die Umsortierungszeit plus die Lesezeit.- Der alte Weg: „Lassen Sie uns das Lesen superschnell machen!" (Ignorieren, dass das Umsortieren ewig dauert).
- Die DCC-Methode: „Wenn wir den Leseplan leicht ändern, können wir die Umsortierungszeit halbieren. Das ist der wahre Gewinner." Es findet das perfekte Gleichgewicht zwischen dem Bewegen und dem Lesen der Bücher.
Der Geschwindigkeits-Prophet (Gekoppelter Leistungs-Prophet):
DCC ist wie ein erfahrener Trainer, der Tausende von Spielen beobachtet hat. Es muss nicht jede einzelne Simulation durchführen, um zu wissen, welche gewinnen wird. Es verwendet ein „Lernmodell", um den schnellsten Plan sofort vorherzusagen. Das bedeutet, dass es keine Zeit damit verschwendet, schlechte Ideen zu testen.Der Verkehrsleiter (Code-Optimierer):
Sobald DCC den besten Plan ausgewählt hat, organisiert es den Verkehr. Es stellt sicher, dass der Assistent, wenn er Bücher greift, sie in perfekten Chargen greift (wie einen ganzen Stapel Bücher auf einmal), damit keine Zeit damit vergeht, auf das nächste Buch zu warten.
Die Ergebnisse: Wie viel schneller?
Die Arbeit testete dieses System an realen Aufgaben, wie dem Ausführen von Large Language Models (der KI, die Texte schreibt oder Fragen beantwortet).
- Der Geschwindigkeitsschub: Auf einer Art Hardware (AttAcc) machte DCC die KI 13-mal schneller als die Verwendung nur des Hauptcomputers (GPU). Auf einer anderen Art (HBM-PIM) war es 7,7-mal schneller.
- Der Realwelt-Test: Beim Ausführen eines vollständigen Gesprächs mit einer KI (wie GPT-3 oder LLaMA-2) machte DCC den gesamten Prozess im Durchschnitt 4,5-mal schneller.
- Der „Magische" Trick: Die größte Überraschung war, dass sich die alten Methoden nur darauf konzentrierten, den „Leseteil" schnell zu machen. DCC erkannte, dass der „Umsorte-Teil" tatsächlich der Engpass war. Indem es das Umsortieren und das Lesen gemeinsam behob, schaltete es massive Geschwindigkeitsgewinne frei.
Zusammenfassung
Denken Sie an DCC als den ultimativen Verkehrsleiter für eine belebte Stadt. Früher wurden Ampeln nur basierend darauf eingestellt, wie schnell Autos fahren konnten, wobei die Staus an den Kreuzungen ignoriert wurden. DCC betrachtet die gesamte Karte, erkennt, dass die Staus das Problem sind, und ändert gleichzeitig die Ampelphasen und die Straßenplanung, um die gesamte Stadt viel schneller fließen zu lassen.
Die Arbeit behauptet, dies sei das erste System, das diese „gemeinsame Optimierung" für KI-Aufgaben auf diesen neuen Speichergeräten durchführt, wodurch sie für die Zukunft der KI praktisch und unglaublich schnell werden.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.