Powrót do strony głównej

TurboQuant: kompresja KV-cache’u LLM 6-krotnie

TurboQuant od Google Research realizuje ekstremalną kompresję KV-cache’u LLM poprzez PolarQuant i QJL. Osiąga się 6x redukcję pamięci i 8x przyspieszenie bez fine-tuning. Benchmarki potwierdzają zerową degradację w zadaniach long-context.

TurboQuant: 6x kompresja pamięci LLM bez fine-tuning
Advertisement 728x90

TurboQuant: kompresja KV-cache w LLM 6 razy bez utraty dokładności

Google Research przedstawił TurboQuant — algorytm ekstremalnej kompresji KV-cache dla dużych modeli językowych. Zmniejszenie zużycia pamięci o co najmniej 6 razy towarzyszy przyspieszeniu inferencji nawet do 8 razy na GPU H100. Kluczowy efekt: zmniejszenie ograniczeń pasma pamięci bez pogorszenia jakości generacji.

KV-cache jako wąskie gardło inferencji

W trakcie generacji autoregresyjnej mechanizm uwagi w modelach językowych wykorzystuje wektory Key i Value z poprzednich tokenów. Pełne ponowne obliczanie kontekstu na każdym kroku jest nieefektywne, dlatego pośrednie reprezentacje są buforowane. KV-cache rośnie liniowo wraz ze wzrostem długości kontekstu, co ogranicza throughput i maksymalną długość kontekstu.

Na długich sekwencjach inferencja napotyka ograniczenie pasma pamięci: GPU spędza czas na czytaniu danych zamiast na obliczeniach. To zwiększa opóźnienia i koszty. TurboQuant rozwiązuje problem kompresji przy zachowaniu semantyki wektorów używanych przez mechanizm uwagi.

Google AdInline article slot

Zasada działania PolarQuant

Pierwszy etap — PolarQuant. Wektory są przekształcane do współrzędnych biegunowych po losowym obróceniu (rotation). Promień koduje długość wektora, kąt — jego kierunek.

# Pseudokod PolarQuant
rotated = rotate_random(vector)
rho = norm(rotated)    # promień
phi = angle(rotated)   # kąt
quantized = quantize(rho, phi)

Obrót upraszcza rozkład danych, czyniąc je bardziej przewidywalnymi dla kwantyzacji. Brak dodatkowego narzutu na bufor lub parametry — kompresja osiąga 3–4 bity na wartość bez potrzeby dopasowania modelu.

Kompensacja błędów przez QJL

Kwantyzacja wprowadza szum. Drugi etap — QJL (Quantized Johnson-Lindenstrauss) koduje resztę błędu w 1 bit na wartość. Przekształcenie zachowuje odległości euklidesowe między wektorami, co ma kluczowe znaczenie dla uwagi typu dot-product.

Google AdInline article slot

QJL aproksymuje lemat JL w wersji skwantyzowanej:

  • Wejście: reszta po PolarQuant
  • Wyjście: korekta 1-bitowa
  • Właściwość: ||Qx - Qy|| ≈ ||x - y|| dla x, y ∈ KV-cache

Połączenie daje kompresję KV-cache do 1,25–2 bity na wartość z minimalną degradacją perplexity.

Benchmarki i wydajność

Testy na Llama-3.1-8B-Instruct (LongBench):

Google AdInline article slot
  • Kompresja: 6–8 razy w porównaniu do podstawy
  • Przyspieszenie obliczeń logitów: do 8 razy na H100 (bazowanie na JAX)
  • Jakość: spadek poniżej 1% w zadaniach needle-in-haystack i długokontekstowych

Na GloVe (d=200) TurboQuant dominuje w równowadze recall vs stosunek kompresji (1:k optymalne).

| Metoda | Bity/wartość | Kompresja | Spadek perplexity |

|-------|------------|--------|------------------|

| Podstawa | 16 | 1x | 0% |

| INT8 | 8 | 2x | 0,5% |

| TurboQuant (3-bit) | 3 | 6x | 0,2% |

Do 3 bitów bez ponownego trenowania — przełom dla zero-shot quantization.

Co ważne

  • Ekstremalna kompresja: KV-cache 6 razy mniejszy przy 3 bitach/wartość.
  • Przyspieszenie inferencji: do 8 razy na obciążeniach pamięciowych.
  • Zachowanie odległości: QJL gwarantuje zgodność z mechanizmem uwagi.
  • Uniwersalność: działa w wyszukiwaniu wektorów i RAG.
  • Bez dopasowania modelu: gotowa do użycia z istniejącymi LLM.

Zastosowanie poza LLM

TurboQuant wykracza poza ramy transformatorów. W bazach wektorowych kompresja embeddingów zachowuje funkcjonalność wyszukiwania ANN (HNSW, FAISS). Na urządzeniach krawędziowych zmniejsza wymagania dotyczące DRAM, umożliwiając inferencję lokalną.

Dla senior developerów: zintegruj w niestandardowe silniki inferencji. Obsługa JAX/Flax ułatwia prototypowanie. Testuj na długich kontekstach (>128k tokenów) by uzyskać rzeczywisty zysk.

— Editorial Team

Advertisement 728x90

Czytaj dalej