SMEPilot: Characterizing and Optimizing LLM Inference with Scalable Matrix Extensions
Dieses Paper stellt SMEPilot vor, eine LLM-Inferenz-Engine, die die Leistung auf CPUs mit Scalable Matrix Extensions (SME) optimiert, indem sie dynamisch zwischen CPU-only-, SME-only- oder kooperativen Ausführungsstrategien wählt und Tile-Level-Partitionierung sowie Layout-Reuse einsetzt, um eine bis zu 3,94-fache Beschleunigung über verschiedene Modelle und Plattformen hinweg zu erreichen.
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
Das große Ganze: Ein neues Werkzeug für alte Maschinen
Stellen Sie sich vor, Sie haben eine sehr geschäftige Küche (eine moderne Computer-CPU). Jahrelang hat diese Küche auf ein Team von Generalisten gesetzt (Standard-CPU-Kerne), die Gemüse schneiden, Töpfe rühren und Speisen anrichten. Sie sind gut in allem, aber sie sind nicht super schnell bei einer ganz spezifischen Aufgabe: riesige Haufen von Gemüse in perfekte Quadrate zu schneiden (was Large Language Models, oder LLMs, tun müssen, um zu „denken“).
Vor Kurzem hat die Küche eine neue Ausrüstung erhalten: einen Hochgeschwindigkeits-Gemüseschneider (genannt SME, oder Scalable Matrix Extension). Diese Maschine kann Gemüse unglaublich schnell schneiden. Die Autoren der Arbeit haben jedoch ein Problem entdeckt: Nur weil man einen Schneider besitzt, bedeutet das nicht, dass man ihn für jede Aufgabe verwenden sollte.
- Das Problem: Wenn Sie versuchen, den Schneider für alles zu benutzen, könnten Sie das Förderband verstopfen (Speicherbandbreite) oder Zeit mit dem Einrichten für kleine Aufgaben verschwenden. Manchmal sind die Generalisten-Köche bei kleinen, kniffligen Aufgaben tatsächlich schneller.
- Die Lösung: Das Team hat SMEPilot entwickelt. Stellen Sie sich SMEPilot als einen superintelligenten Küchenmanager vor. Er überlässt nicht einfach alles dem Schneider; er entscheidet genau, welcher Koch welche Aufgabe übernimmt, wann die Maschine eingesetzt wird und wie die gesamte Küche läuft, ohne dass jemand untätig herumsteht.
Wie SMEPilot funktioniert: Die drei Zaubertricks
Die Arbeit identifiziert drei Hauptwege, wie SMEPilot die Küche schneller macht. Hier sind die Analogien für jeden Punkt:
1. Die „Team-Aufteilung“ (Tile-Level Work Partitioning)
Das Problem: Stellen Sie sich vor, Sie müssen eine riesige Pizza (ein großes mathematisches Problem) schneiden.
- Wenn Sie die ganze Pizza dem Hochgeschwindigkeits-Schneider geben, sitzen die Köche untätig herum.
- Wenn Sie sie den Köchen geben, steht der Schneider untätig herum.
- Wenn Sie die Pizza einfach in der Mitte teilen und eine Hälfte dem Schneider und die andere den Köchen geben, könnte der Schneider in 1 Sekunde fertig sein, während die Köche 10 Sekunden brauchen. Der Schneider wartet dann einfach, was Zeit verschwendet.
Die SMEPilot-Lösung: SMEPilot schneidet die Pizza in winzige Stücke (Tiles). Er gibt dem Schneider ein paar Stücke und den Köchen ein paar Stische. Entscheidend ist, dass er genau berechnet, wie viele Stücke jeder bekommen soll, damit beide exakt zur gleichen Zeit fertig sind. Dies hält sowohl die Maschine als auch die Köche die ganze Zeit über zu 100 % beschäftigt.
2. Das „Fließband“ (Phase-Aware Pipeline Execution)
Das Problem: Das Zubereiten eines Sandwiches umfasst zwei Schritte:
- Schritt A: Das Brot schneiden (benötigt den Hochgeschwindigkeits-Schneider).
- Schritt B: Senf darauf streichen (benötigt eine menschliche Hand).
In einer schlechten Küche warten Sie, bis das gesamte Brot geschnitten ist, bevor Sie mit dem Senfstreichen beginnen. Der Mensch sitzt untätig herum, während die Maschine arbeitet. Dann sitzt die Maschine untätig herum, während der Mensch den Senf streicht. Dies wird als „temporale Blase“ bezeichnet (eine Zeitlücke, in der keine Arbeit geleistet wird).
Die SMEPilot-Lösung: SMEPilot erstellt ein Fließband. Sobald der Schneider ein einzelnes Stück Brot fertig geschnitten hat, reicht er es an den Menschen weiter, um den Senf aufzustreichen, während der Schneider sofort mit dem nächsten Stück Brot beginnt. Die Maschine und der Mensch arbeiten gleichzeitig an verschiedenen Teilen des Sandwiches. Dies eliminiert die Wartezeit.
3. Das „Vorgepackte Mittagessen“ (Layout-Aware Runtime)
Das Problem: Der Hochgeschwindigkeits-Schneider funktioniert nur, wenn das Gemüse in einem ganz bestimmten, dichten Gitter angeordnet ist (ein „kompaktes“ Layout). Aber der Rest der Küche lagert Gemüse in losen, Standard-Beuteln.
- Der schlechte Weg: Jedes Mal, wenn Sie den Schneider benutzen wollen, halten Sie inne, nehmen das Gemüse aus dem Beutel, ordnen es perfekt in einem Gitter an, schneiden es und packen es dann wieder in einen Beutel zurück. Dieses „Umordnen“ dauert fast so lange wie das Schneiden selbst, was den Geschwindigkeitsvorteil zunichtemacht.
Die SMEPilot-Lösung: SMEPilot ist klug dabei, wann umgeordnet wird.
- Für statische Zutaten (wie Modellgewichte): Es ordnet sie einmalig, wenn die Küche öffnet, in das perfekte Gitter an, sodass sie für jede Bestellung sofort bereit sind.
- Für frische Zutaten (wie neue Daten): Es ordnet sie unmittelbar in das Gitter ein, wenn sie erstellt werden, sodass sie ohne zusätzliche Schritte später bereit für den Schneider sind. Dies vermeidet den „Umordnungs-Malus“.
Die Ergebnisse: Wie viel schneller?
Die Forscher haben SMEPilot auf Handys, Laptops und Servern mit populären KI-Modellen (wie Llama und Qwen) getestet.
- Die Geschwindigkeit: SMEPilot machte die KI bis zu 3,94-mal schneller als die Standardmethode zum Ausführen dieser Modelle auf CPUs.
- Die Energie: Da es die Arbeit so viel schneller erledigt, verbraucht es auch weniger als die Hälfte der Energie im Vergleich zur Standardmethode.
- Der Vergleich: In einigen Tests war die CPU, die SMEPilot ausführt, fast so schnell wie eine dedizierte Grafikkarte (GPU), die normalerweise der „schwere Arbeiter“ für KI ist.
Das Faz-Wort
Die Arbeit argumentt, dass SME (die neue Maschine) kein Zauberstab ist, der die alten Köfe ersetzt. Stattdessen kommt die beste Leistung durch einen klugen Manager (SMEPilot) zustande, der weiß:
- Wann man die Maschine nutzt und wann man die Köfe nutzt.
- Wie man die Arbeit aufteilt, damit alle beschäftigt bleiben.
- Wie man den Arbeitsplatz organisiert, damit keine Zeit mit dem Vorbereiten verschwendet wird.
Durch dies können gewöhnliche Computer leistungsstarke KI viel schneller und effizienter ausführen als zuvor.
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.