TurboQuant
Redéfinir l'efficacité de l'IA
Un nouvel algorithme de quantification vectorielle en ligne qui compresse le cache KV à 3 bits sans perte de qualité, réduit la mémoire par 6 et accélère l'attention jusqu'à 8x.
Pourquoi TurboQuant ressemble à un résultat de rupture
TurboQuant n'est pas un simple outil de compression. C'est un cadre de quantification en ligne proche de la limite informationnelle, tout en restant data-oblivious et adapté aux accélérateurs.
Méthodes classiques (par ex. PQ)
- Require dataset-specific training
- Store many full-precision normalization constants
- Long indexing time
- Visible accuracy loss
TurboQuant
- Random rotation plus polar transform (PolarQuant)
- 1-bit residual correction (QJL) removes normalization overhead
- Near-zero indexing time
- Matches the 32-bit baseline on reported benchmarks
PolarQuant
Polar-transform core that eliminates normalization overhead
arXiv: 2502.02617 →Pourquoi TurboQuant compte
Un rappel rapide des limites de la quantification vectorielle et de la pression du cache KV
1Le problème classique de la quantification vectorielle
La quantification vectorielle compresse des vecteurs de grande dimension tout en minimisant la distorsion. Les bornes théoriques sont claires, mais les méthodes classiques restent loin de ces limites.
Formules de distorsion
Theory
Les approches classiques comme PQ restent sensiblement au-dessus de ces bornes.
2Le goulot d'étranglement du cache KV dans les LLM
Dans les transformers décodeurs, chaque token ajoute une paire clé/valeur. Avec de longues fenêtres de contexte, ce coût mémoire devient dominant.
Estimation mémoire
Ce que TurboQuant change
- ✓ Pas d'entraînement ni de finetuning
- ✓ 3,5 bits par canal pour une qualité neutre
- ✓ LongBench au niveau de FP32
- ✓ Rend l'inférence long contexte plus réaliste en périphérie
3Applications en recherche vectorielle
Dans des systèmes ANN comme FAISS, TurboQuant améliore le rappel tout en gardant un coût d'indexation proche de zéro.
TurboQuant as a two-stage algorithm
TurboQuant = PolarQuant for main compression + QJL for residual correction
PolarQuant: polar-coordinate transform
The key idea is to remove per-block normalization overhead. PolarQuant rotates the vector randomly so coordinates follow a concentrated distribution that is easy to quantize.
Coordinate distribution
f_X(x) = Γ(d/2) / (√π · Γ((d-1)/2)) × (1 - x²)^((d-3)/2) where x ∈ [-1, 1]
Why it works
- No per-block full-precision constantsOverhead drops to zero.
- Near-lossless beyond 4.2x compressionStronger than conventional baselines.
- Gaussian-like coordinates in high dimensionSupports optimal scalar quantizers such as Lloyd-Max.
Les chiffres portent l'argument
Benchmarks sur Gemma, Mistral et Llama-3.1-8B
Benchmarks de compression du cache KV
| Benchmark | TurboQuant 3,5 bits | TurboQuant 2,5 bits | Cache complet |
|---|---|---|---|
| LongBench | 50.06 | 49.44 | 50.06 |
| Needle In A Haystack | 100 | 99.8 | 100 |
| ZeroSCROLLS | meilleur | presque meilleur | baseline |
| RULER | meilleur | presque meilleur | baseline |
| L-Eval | meilleur | presque meilleur | baseline |
Benchmark de recherche vectorielle (GloVe d=200)
Rappel 1@k
Temps d'indexation
Comparaison avec les alternatives
| Méthode | Entraînement | Sans biais | Compression | Accélération |
|---|---|---|---|---|
| TurboQuant | Non | Oui | 6x+ | 8x |
| KIVI | Calibration | Non | 4x | 4x |
| SnapKV | Finetuning | Non | 2-4x | 2-4x |
| DuQuant | Calibration | Partiel | 4x | 4x |
Du papier à la production
Comment intégrer TurboQuant dans une vraie stack
État actuel
L'article fournit la théorie et le pseudocode, mais il n'existe pas encore d'implémentation open source officielle. Le travail d'intégration communautaire a déjà commencé.
- •llama.cpp Discussion #20969 suit les pistes d'intégration
- •Des expériences MLX rapportent environ 5x de compression avec 99,5% de qualité conservée
- •Une publication open source est largement attendue autour de T2 2026
Esquisse d'implémentation
Precompute Lloyd-Max centroids
Do it once offline and reuse them.
# Python-like pseudocode
centroids = lloyd_max_quantizer(
distribution="beta",
bits=b
)Generate a random rotation matrix
Use QR decomposition to build an orthogonal matrix.
# random rotation G = np.random.randn(d, d) Pi, _ = np.linalg.qr(G)
Build quant / dequant primitives
This is the core path for storage and recovery.
def quant(x, Pi, centroids):
y = Pi @ x
idx = find_nearest(y, centroids)
return idx
def dequant(idx, Pi, centroids):
y = centroids[idx]
x = Pi.T @ y
return xIntegrate inside attention
Store K/V in TurboQuant form and estimate inner products with QJL.
# Transformer attention k_quant = turboquant_quant(k) v_quant = turboquant_quant(v) # use QJL during attention
Notes de déploiement
Hardware
H100 and A100 are ideal. 4-bit mode is where the paper reports 8x speedups.
Mixed precision
Use TurboQuant for KV cache and INT4 for weights to maximize total compression.
Edge devices
3-bit KV cache can make 32K+ context feasible on phones with software-only implementations.
Risques pratiques et réponses
Random rotation overhead
Pre-generate and reuse the matrices instead of rebuilding them online.
Residual norm storage
One FP16 scalar is small enough to keep the overhead negligible.
Comment TurboQuant peut déplacer la pile IA
LLM inference
Million-token contexts become materially cheaper, with a path to native support in future model stacks.
Vector databases
Real-time indexing and sub-millisecond search become easier to deliver.
Edge AI
Long-context inference on mobile and embedded devices becomes more realistic.
Multimodal embeddings
The same ideas can extend to image and video embedding compression.
Theory extensions
Combining with outlier-handling methods could push the field toward practical 2-bit systems.
Community impact
Expect rapid follow-through from ecosystems such as vLLM and Hugging Face.
Calendrier attendu
2026 Q2
Open-source code and framework integrations
2026 Q4
Commercial products, likely cloud-first
2027
Potential normalization as an LLM quantization standard
Note de risque : une mauvaise gestion du seed aléatoire peut introduire un léger biais, mais l'article considère l'effet négligeable en grande dimension.
Questions fréquentes
Les premières questions que posent ingénieurs et lecteurs
Références et liens
Blog officiel
Annonce Google Research
Article TurboQuant
PDF principal ICLR 2026
Article PolarQuant
Article AISTATS 2026 sur la transformée polaire
Article QJL
Transformation JL quantifiée, AAAI 2025
Note : le dépôt GitHub cg94301/turboquant est sans rapport avec cet algorithme. Il s'agit d'un projet de stratégie de trading.