TurboQuant: KV-Cache-Kompressionsalgorithmus zur Optimierung von KI-Modellen
Googles TurboQuant löst Engpässe in Transformer-KV-Caches mit Vektorquantisierung, um den Speicherverbrauch zu reduzieren, ohne Genauigkeit einzubüßen. Der Algorithmus kombiniert PolarQuant und QJL und erreicht Kompression bis auf 3 Bits pro Element, während die Leistung bei Langkontext-Aufgaben erhalten bleibt. Dadurch ist es möglich, große LLMs auf ressourcenbeschränkter Hardware auszuführen.
Die Methode zielt auf Schlüssel-Wert-Paare in Aufmerksamkeitsmechanismen ab, wo traditionelle Quantisierung Overhead durch das Speichern von Konstanten für Datenblöcke verursacht. TurboQuant eliminiert diese Kosten durch die Verwendung polarer Koordinaten und Residualfehler-Quantisierung.
PolarQuant: Kompression ohne Overhead
PolarQuant wandelt kartesische Koordinaten von Speichervektoren in polare Koordinaten um und eliminiert dadurch redundante Konstanten. Statt Abstände entlang der X-, Y- und Z-Achsen zu speichern, verwendet die Methode Radius und Winkel, um den Codebook-Speicher zu minimieren.
Vorteile des Ansatzes:
- Kein Overhead für das Speichern von Metadaten.
- Erhaltung der Vektorraumgeometrie.
- Kompatibilität mit bestehenden Vektorsuch-Pipelines.
Dies ist besonders nützlich zur Beschleunigung der Indizierung in semantischen Suchsystemen, wo TurboQuant einen 1@k-Recall auf dem GloVe-Datensatz (d=200) erreicht.
QJL: Fehlerskorrektur mit Johnson-Lindenstrauss
Nach PolarQuant wird QJL auf den 1-Bit-Residual angewendet. Der Algorithmus nutzt die Johnson-Lindenstrauss-Transformation (JLT), um hochdimensionale Daten in einen niedrigerdimensionalen Raum zu projizieren, während Abstände erhalten bleiben.
QJL umfasst:
- Projektion der Fehler auf eine zufällige JLT-Matrix.
- Einen spezialisierten Estimator, um Abfragegenauigkeit und komprimierte Daten auszugleichen.
- Kein zusätzlicher Speicheroverhead für das Dekodieren.
Das Ergebnis ist eine hochpräzise Ähnlichkeitsrückgewinnung ohne Notwendigkeit, das Modell fein abzustimmen.
Benchmarks und Leistung
TurboQuant wurde auf offenen LLMs (Gemma, Mistral) in Benchmarks wie LongBench, Needle In A Haystack, ZeroSCROLLS, RULER und L-Eval getestet. Auf Llama-3.1-8B-Instruct übertrifft es Baselines bei Skalarprodukt-Verzerrung und Recall, während die KV-Cache-Größe minimiert wird.
In der Needle-In-A-Haystack-Aufgabe (Finden eines Fragments in einem langen Kontext) erhält die KV-Kompression auf 3 Bits die Genauigkeit des Originalmodells bei und beschleunigt die Inferenz. TurboQuant liefert Geschwindigkeitsverbesserungen bei Attention-Logits im Vergleich zu einer optimierten JAX-Baseline über 3- bis 8-Bit-Stufen.
Wichtige Metriken:
- Mindestens 6-fache Reduktion des KV-Cache-Speichers.
- Schnellere Vektorsuche dank kleinerer Indizes.
- Stabile Leistung ohne Retraining.
Was wichtig ist
- TurboQuant kombiniert PolarQuant und QJL für extreme KV-Cache-Kompression ohne Qualitätsverlust.
- Unterstützt lange Kontexte in LLMs und steigert die Inferenzgeschwindigkeit um 20-30 %.
- Ideal für Vektorsuche und semantische Indizes mit minimalem Speicherverbrauch.
- Funktioniert auf Gemma-, Mistral- und Llama-Modellen ohne Retraining.
- Begrenzt auf Inferenz; löst keine Trainingsherausforderungen.
Einsatzperspektiven
Der Algorithmus eignet sich für Produktionsszenarien mit großen Vektordatenbanken und reduziert die Latenz beim Indexaufbau. Für LLMs optimiert er den KV-Cache für lange Sequenzen und ermöglicht das Ausführen von Modellen auf Consumer-Hardware. Eine Präsentation auf der ICLR 2026 wird die Skalierbarkeit validieren.
— Editorial Team
Noch keine Kommentare.