Entwicklung & Code

Google komprimiert LLM-Cache auf 3 Bit ohne Genauigkeitsverlust


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Google Research hat neue technische Details zu seinem Kompressionsalgorithmus TurboQuant veröffentlicht. Er solle den Key-Value-Cache großer Sprachmodelle auf bis zu 3 Bit pro Wert komprimieren – ohne messbare Einbußen bei der Modellgenauigkeit, teilten die Forscher mit. Auf Nvidia-H100-GPUs erreicht das Verfahren laut Google eine bis zu achtfache Beschleunigung bei der Berechnung von Attention-Logits gegenüber unquantisierten 32-Bit-Keys. Unquantisierte Key-Values sind in modernen Anwendungen jedoch normalerweise nicht anzutreffen. Viele Ansätze versuchen unter 4 Bit pro Wert zu erreichen, Google kombiniert für seine Herangehensweise die Verfahren PolarQuant und QJL.

Weiterlesen nach der Anzeige

Der Key-Value-Cache, in dem Transformer-Modelle bereits berechnete Kontext-Informationen für den schnellen Zugriff zwischenspeichern, erfordert große Mengen Arbeitsspeicher. Bei langen Eingabesequenzen wächst dieser Cache stark an und wird zum Flaschenhals. Bisherige Vektorquantisierung lindert das zwar, erzeugt aber selbst einen Speicher-Overhead: Für jeden kleinen Datenblock müssen Quantisierungskonstanten in voller Präzision gespeichert werden, was den Kompressionsgewinn um 1 bis 2 Bit pro Wert wieder schmälert. Dieses Problem soll TurboQuant mit der Kombination von PolarQuant und QJL TurboQuant beseitigen.

PolarQuant weicht vom üblichen Ansatz ab, Vektoren in kartesischen Koordinaten zu verarbeiten. Stattdessen rotiert das Verfahren die Datenvektoren zufällig und wandelt sie anschließend in Polarkoordinaten um. Die Daten werden also nicht mehr als Abstände entlang einzelner Achsen gespeichert, sondern als Kombination aus einem Radius, der die Signalstärke beschreibt, und Winkeln, die die Bedeutung kodieren. Da die entstehenden Winkelverteilungen stark konzentriert und vorhersagbar sind, entfällt der sonst nötige Normalisierungsschritt mitsamt seinem Speicher-Overhead. PolarQuant übernimmt in TurboQuant den Großteil der Kompressionsarbeit.

Die zweite Stufe adressiert den kleinen Restfehler, den PolarQuant hinterlässt. QJL (Quantized Johnson-Lindenstrauss) nutzt die in der theoretischen Informatik bekannte Johnson-Lindenstrauss-Transformation, um die verbleibenden hochdimensionalen Fehlerdaten auf ein einziges Vorzeichen-Bit pro Wert zu reduzieren. Die wesentlichen Abstände und Relationen zwischen den Datenpunkten bleiben dabei erhalten. QJL fungiert so als mathematische Fehlerkorrektur: Sie eliminiert systematische Verzerrungen in den Attention-Scores, ohne zusätzlichen Speicher-Overhead zu verursachen.

Weiterlesen nach der Anzeige

Google hat alle drei Algorithmen mit den Open-Source-Modellen Llama-3.1-8B-Instruct und Ministral-7B-Instruct auf gängigen Long-Context-Benchmarks getestet, darunter LongBench, Needle in a Haystack, ZeroSCROLLS, RULER und L-Eval. Die Ergebnisse: In den Needle-in-a-Haystack-Tests reduzierte TurboQuant den KV-Speicher laut Google um mindestens den Faktor 6; in den im ICLR-Paper gezeigten LongBench-Ergebnissen liegen die Kompressionsraten je nach Bitbreite darunter oder darüber. Dabei sollen die Modelle in den getesteten Aufgaben – Frage-Antwort-Szenarien, Code-Generierung und Zusammenfassungen – nicht an Qualität verloren haben. In den Needle-in-a-Haystack-Tests, bei denen ein Modell eine einzelne Information in großen Textmengen finden muss, erzielte TurboQuant über alle Benchmarks hinweg die gleiche Genauigkeit wie die Vollpräzisions-Basis (Score: 0,997).

Ein Training oder Feintuning der Modelle ist für den Einsatz von TurboQuant nicht erforderlich. Google vergleicht TurboQuant in der Vektorsuche mit Product Quantization (PQ) und RabitQ: Im Paper kritisieren die Autoren an PQ vor allem den datensatzabhängigen Trainingsaufwand und die Notwendigkeit großer Codebooks. An RaBitQ bemängelt Google die fehlende Vektorisierung, fehlende GPU-Unterstützung und zusätzliche Overheads.

Google sieht die Hauptanwendung von TurboQuant in der Beseitigung von KV-Cache-Engpässen in Modellen wie Gemini. Darüber hinaus soll das Verfahren die semantische Vektorsuche beschleunigen, bei der nicht nach Schlüsselwörtern, sondern nach inhaltlicher Ähnlichkeit in Milliarden von Vektoren gesucht wird. Durch die geringe Speicheranforderung und den nahezu wegfallenden Preprocessing-Aufwand ließen sich große Vektorindizes deutlich effizienter aufbauen und abfragen.

TurboQuant wird auf der ICLR 2026 vorgestellt, PolarQuant und QJL auf der AISTATS 2026. Weitere Informationen finden sich im Google-Research-Blog.


(fo)



Source link

Beliebt

Die mobile Version verlassen