# TurboQuant: algorytm kompresji KV-cache dla optymalizacji modeli AI
TurboQuant od Google rozwiązuje problem wąskich gardeł w KV-cache transformerów, wykorzystując wektorową kwantyzację do zmniejszenia zużycia pamięci bez utraty precyzji. Algorytm łączy PolarQuant i QJL, zapewniając kompresję do 3 bitów na element przy zachowaniu wydajności w zadaniach z długim kontekstem. Pozwala to uruchamiać duże modele LLM na sprzęcie o ograniczonych zasobach.
Metoda skupia się na parze klucz-wartość w mechanizmach uwagi, gdzie tradycyjna kwantyzacja dodaje overhead z powodu przechowywania stałych dla bloków danych. TurboQuant eliminuje te koszty, stosując współrzędne polarne i resztkową kwantyzację błędów.
PolarQuant: kompresja bez overhead
PolarQuant przekształca kartezjańskie współrzędne wektora pamięci w polarne, eliminując nadmiarowe stałe. Zamiast przechowywania odległości wzdłuż osi X, Y, Z metoda wykorzystuje promień i kąty, co minimalizuje pamięć na codebooki.
Zalety podejścia:
- Zerowe koszty overhead na przechowywanie metadanych.
- Zachowanie geometrii przestrzeni wektorowej.
- Kompatybilność z istniejącymi pipeline'ami wyszukiwania wektorowego.
To szczególnie przydatne do przyspieszenia indeksowania w systemach wyszukiwania semantycznego, gdzie TurboQuant osiąga recall 1@k na zbiorze danych GloVe (d=200).
QJL: korekcja błędów z Johnson-Lindenstrauss
Po PolarQuant stosowany jest QJL na 1-bitowym resztku. Algorytm wykorzystuje transformację Johnson-Lindenstrauss (JLT) do projekcji wielowymiarowych danych w przestrzeń niskowymiarową z zachowaniem odległości.
QJL obejmuje:
- Projekcję błędów na losową macierz JLT.
- Specjalny estymator do równowagi precyzji zapytania i skompresowanych danych.
- Brak dodatkowych kosztów pamięci na dekodowanie.
W rezultacie uzyskuje się wysokoprecyzyjne odzyskiwanie podobieństwa bez fine-tuningu modelu.
Benchmarki i wydajność
TurboQuant przetestowany na otwartych LLM (Gemma, Mistral) w benchmarkach LongBench, Needle In A Haystack, ZeroSCROLLS, RULER, L-Eval. Na Llama-3.1-8B-Instruct algorytm przewyższa baseline'y pod względem zniekształcenia iloczynu skalarnego i recall przy minimalizacji rozmiaru KV-cache.
W zadaniu Needle In A Haystack (wyszukiwanie fragmentu w długim kontekście) kompresja KV do 3 bitów zachowuje precyzję oryginalnego modelu i przyspiesza inferencję. TurboQuant pokazuje speedup w logitach uwagi w porównaniu do zoptymalizowanego baseline'u JAX na poziomach od 3 do 8 bitów.
Kluczowe metryki:
- Redukcja pamięci KV-cache co najmniej 6-krotnie.
- Przyspieszenie wyszukiwania wektorowego dzięki mniejszym indeksom.
- Stabilna wydajność bez retrainingu.
Co ważne
- TurboQuant łączy PolarQuant i QJL do ekstremalnej kompresji KV-cache bez utraty jakości.
- Obsługuje długi kontekst w LLM, przyspieszając inferencję o 20-30%.
- Idealny do wyszukiwania wektorowego i semantycznych indeksów z minimalną pamięcią.
- Działa na modelach Gemma, Mistral, Llama bez doobczenia.
- Ograniczony do inferencji; nie rozwiązuje problemów treningu.
Perspektywy wdrożenia
Algorytm nadaje się do scenariuszy produkcyjnych z dużymi bazami wektorowymi, zmniejszając latencję budowania indeksów. W LLM optymalizuje KV-cache dla długich sekwencji, czyniąc modele dostępne na konsumenckim sprzęcie. Prezentacja na ICLR 2026 potwierdzi skalowalność.
— Editorial Team
Brak komentarzy.