Inferenzoptimierung, Serving und Leistungskennzahlen
PagedAttention
Speichermanagement der KV-Daten in adressierbaren Blöcken.
PagedAttention ist ein Verfahren, das den Zwischenspeicher der Aufmerksamkeitswerte in gleich große Blöcke aufteilt, statt je Anfrage einen zusammenhängenden Bereich zu reservieren. Vorbild ist die Speicherverwaltung von Betriebssystemen mit Seiten und Adressübersetzung. Kwon et al.
Verschnitt und Doppelung waren das Problem
Vorher musste im Voraus Platz für die maximal mögliche Länge reserviert werden. Wer nur kurze Antworten erzeugt, verschenkt den Rest, und das begrenzt die Zahl gleichzeitiger Anfragen. Mit Blöcken wird nur belegt, was gebraucht wird, und freigegeben, was endet.
Der zweite Gewinn ist das Teilen. Mehrere Anfragen mit demselben Anfang können dieselben Blöcke benutzen, statt identische Inhalte doppelt zu speichern. Verwandte Ansätze verwalten geteilte Präfixe zusätzlich über einen Baum. Zheng et al.: SGLang
So kannst du dir das vorstellen
Ein Regal mit gleich großen Fächern statt fest zugeteilter Schrankreihen. Niemand belegt mehr Fächer als nötig, und zwei Vorgänge mit demselben Anfangsdokument teilen sich dasselbe Fach. Das Bild erklärt die Aufteilung, nicht die Adressierung im Speicher.
Was es in der Praxis bedeutet
Für Betreiber ist das der Grund, warum moderne Serving-Systeme deutlich mehr Anfragen auf derselben Karte bedienen als frühere Aufbauten. Die Einstellung, die dabei zählt, ist der Anteil des Grafikspeichers, der für diesen Zwischenspeicher reserviert wird.
Für Anwender ist die Wirkung indirekt: günstigere Preise je Token und die Möglichkeit, gemeinsame Prompt-Anfänge wiederzuverwenden, ohne dass der Speicherbedarf mitwächst.
Wo es verwechselt wird
PagedAttention ändert nicht die Rechenweise der Aufmerksamkeit, sondern deren Speicherverwaltung. Damit unterscheidet es sich von Verfahren, die die Berechnung selbst beschleunigen.
Verwandte Begriffe
KV Cache, Continuous Batching, RadixAttention, FlashAttention, Model Serving.