TurboQuant+ : Compression du cache KV de 6,4x pour les LLMs

TurboQuant+ : Révolutionner l'inférence LLM avec une compression du cache KV de 6,4x

L'inférence LLM locale vient de devenir considérablement plus efficace. TurboQuant+ implémente l'article TurboQuant de l'ICLR 2026 avec une intégration llama.cpp prête pour la production, offrant une compression du cache KV de 4,6-6,4x tout en maintenant une qualité et une vitesse proches de q8_0.

🚀 Avancées clés

1. Famille de formats multi-bits

Format Bits/Val Compression PPL vs q8_0 Cas d'usage
turbo4 4,25 3,8x +0,23 % Meilleure qualité/vitesse
turbo3 3,5 4,6x +1,06 % Compression maximale
turbo2 2,5 6,4x +6,48 % Pression mémoire extrême

turbo4 surpasse q4_0 en qualité (plus proche de q8_0) et en ratio de compression.

2. Sparse V : Décodage attention-gated

La fonctionnalité phare : sauter la déquantisation des positions V à faible attention.

  • +22,8 % de vitesse de décodage à 32K de contexte
  • Dégradation PPL nulle (validé 50 chunks wikitext-103, IC ±0,021)
  • Fonctionne avec TOUS les formats (q8_0, q4_0, turbo3/4)
  • Amélioration NIAH : turbo4 = 31/33 vs 30/33 de q8_0

« La plupart des poids d'attention sont négligeables à long contexte. Les ignorer. » – Idée centrale

3. Parité de vitesse atteinte

M5 Max, Qwen 3.5 35B-A3B :

Pré-remplissage (32K contexte) : turbo3 = 1,10x q8_0 (1204 vs 1098 tok/s) Décodage : turbo4 = 0,93x q8_0 avec Sparse V

PDF réel 24K : décodage turbo4 = 63,7 tok/s (0,93x q8_0)

🔥 Pour commencer (5 minutes)

Prototype Python

git clone https://github.com/TheTom/turboquant_plus.git
cd turboquant_plus
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
python3 -m pytest tests/ -v  # 141 tests passent
python3 benchmarks/demo.py   # Démo rapide

Production llama.cpp

git clone https://github.com/TheTom/llama-cpp-turboquant.git
cd llama-cpp-turboquant
git checkout feature/turboquant-kv-cache
cmake -B build -DGGML_METAL=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build -j

# Lancer avec cache turbo
./build/bin/llama-server -m your-model.gguf --cache-type-k turbo3 --cache-type-v turbo3 -c 262144

📊 Validation testée au combat

511+ tests Python, couverture 100 %Qwen 3.5 35B-A3B (MoE) sur M5 Max9/9 NIAH aiguille unique avec Sparse V (vs 7/9 baseline) ✅ 100 % récupération multi-clés jusqu'à 32K ✅ Testé par la communauté : Macs M1-M5, RTX 3090/4090/5090, AMD 6800XT

🎯 Pourquoi cela compte

Mémoire : Cache KV 6,4x plus petit = exécuter des modèles plus grands avec contextes plus longs Vitesse : Équivalent q8_0 en pré-remplissage, 0,9x en décodage à 32K Qualité : turbo4 bat q4_0, seulement +0,23 % PPL vs q8_0

🚀 Futur : TurboQuant+

  • Allocation de bits adaptative par couche
  • Compression avec décroissance temporelle (économies mémoire 30-34 %)
  • Compression adaptée MoE
  • Backend CUDA (support NVIDIA)

Statut : v1 complet et prêt pour la production. Extensions à venir après PR en amont llama.cpp.


Étoiler le repo et essayez turbo3 pour votre prochaine exécution à long contexte. Votre RAM (et votre facture d'électricité) vous remerciera.

GitHub: turboquant_plus

Original Article: Voir l’original

Partager cet article