Retour à l'accueil

TurboQuant : cache KV 3 bits pour LLM sans pertes

Google TurboQuant compresse le cache KV des LLM à 3 bits, accélérant le mécanisme d'attention 8x sans perte de précision. Testé sur Gemma et Mistral avec succès total sur les benchmarks de contexte long. Applicable à la recherche vectorielle dans les systèmes RAG.

Google accélère les LLM : TurboQuant et cache 3 bits
Advertisement 728x90

Compression du cache KV des LLM à 3 bits : TurboQuant de Google Research

Google Research a développé TurboQuant — une méthode pour compresser le cache clé-valeur (cache KV) des grands modèles de langage (LLM) à 3 bits par paramètre. L'algorithme préserve la précision de génération sans réentraînement ni surcharge mémoire supplémentaire. TurboQuant combine PolarQuant pour la quantification principale et QJL pour la correction d'erreur, permettant un traitement 6–8x plus rapide des contextes longs.

Le cache KV accumule les représentations intermédiaires du mécanisme d'attention pendant le traitement de séquences. Pour des contextes de 128k+ jetons, la taille du cache dépasse les gigaoctets, limitant l'inférence sur GPU. TurboQuant résout cela en convertissant les données en coordonnées polaires et en appliquant une correction à un bit.

Fonctionnement de l'algorithme

TurboQuant se compose de deux étapes :

Google AdInline article slot
  • PolarQuant : convertit les vecteurs KV en coordonnées polaires. L'amplitude est quantifiée avec une haute précision (8–16 bits), tandis que les phases sont compressées à 1–2 bits. Cela minimise l'erreur sur les composantes principales.
  • QJL (Quantized Joint Learning) : correction postérieure à un bit pour les artefacts résiduels. Ne nécessite aucun entraînement par gradient et s'exécute pendant l'inférence.

La combinaison fournit une représentation à 3 bits sans dégradation de la perplexité. L'approche est prouvée optimale par rapport aux bornes inférieures théoriques de compression pour les matrices d'attention.

Benchmarks et performances

Des tests sur les modèles ouverts Gemma-2B/7B et Mistral-7B ont montré :

  • Compression mémoire du cache KV de 6–10x.
  • Jusqu'à 8x d'accélération de l'attention sur GPU H100 (3 bits vs base FP32).
  • Précision parfaite sur Needle In A Haystack (NIAH) pour des contextes jusqu'à 128k jetons — 0 % d'erreurs de récupération de faits.

| Benchmark | FP32 (référence) | TurboQuant 3 bits | Accélération relative |

Google AdInline article slot

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

| LongBench | 100% | 99.8% | 6,2x mémoire, 7,1x vitesse |

| RULER | 100% | 100% | 8,3x vitesse |

Google AdInline article slot

| NIAH | 100% | 100% | 6,8x mémoire |

En mode 4 bits, l'accélération culmine sur H100 avec une mise à l'échelle linéaire sur A100/H200.

Applications au-delà des LLM

TurboQuant s'applique à la recherche vectorielle dans les systèmes RAG et au classement sémantique. Des tests sur les benchmarks ANN (SIFT, GIST) surpassent la quantification FP16 :

  • Recall@10 : +2–5 % par rapport aux bases Int8.
  • Latence : 4–6x inférieure sans réentraînement d'index.

L'algorithme est indépendant du domaine, facilitant le déploiement en production. Pour les LLM, il s'intègre dans les frameworks d'inférence comme vLLM ou Hugging Face TGI sans modification du modèle.

Avantages clés pour les développeurs intermédiaires/seniors :

  • Quantification zero-shot — plug-and-play.
  • Précision équivalente à la pleine précision sur les tâches à contexte long.
  • Évolutivité sur configurations multi-GPU.

Points clés à retenir

  • TurboQuant compresse le cache KV des LLM à 3 bits, accélérant l'inférence 8x sans perte de qualité.
  • Algorithme en deux étapes (PolarQuant + QJL) mathématiquement optimal, sans réglage fin requis.
  • Compatibilité totale avec Gemma/Mistral ; idéal pour contextes 100k+ jetons.
  • Extension à la recherche vectorielle : meilleur rappel avec empreinte 6x plus petite.
  • Présentation à ICLR 2026 — implémentation open source attendue.

La méthode est cruciale pour l'évolutivité des LLM en production, où la mémoire du cache KV est le principal goulot d'étranglement. (Longueur totale : ~3200 caractères)

— Editorial Team

Advertisement 728x90

Lire ensuite