TurboQuant+: Compresión de Caché KV 6.4x para LLMs

TurboQuant+: Revolucionando la Inferencia LLM con Compresión de Caché KV 6.4x

La inferencia LLM local acaba de volverse drásticamente más eficiente. TurboQuant+ implementa el artículo TurboQuant de ICLR 2026 con integración lista para producción en llama.cpp, ofreciendo compresión de caché KV 4.6-6.4x manteniendo calidad y velocidad cercanas a q8_0.

🚀 Avances Clave

1. Familia de Formatos Multi-Bit

Formato Bits/Val Compresión PPL vs q8_0 Caso de Uso
turbo4 4.25 3.8x +0.23% Mejor calidad/velocidad
turbo3 3.5 4.6x +1.06% Compresión máxima
turbo2 2.5 6.4x +6.48% Presión extrema de memoria

turbo4 supera a q4_0 tanto en calidad (más cerca de q8_0) como en ratio de compresión.

2. Sparse V: Decodificación con Puerta de Atención

La característica estrella: omitir descuantización de posiciones V de baja atención.

  • +22.8% velocidad de decodificación a 32K contexto
  • Cero degradación PPL (validado 50 fragmentos wikitext-103, CI ±0.021)
  • Funciona en TODOS los formatos (q8_0, q4_0, turbo3/4)
  • Mejora NIAH: turbo4 = 31/33 vs 30/33 de q8_0

"La mayoría de los pesos de atención son insignificantes en contextos largos. Omitirlos." – Idea central

3. Paridad de Velocidad Alcanzada

M5 Max, Qwen 3.5 35B-A3B:

Prefill (32K contexto): turbo3 = 1.10x q8_0 (1204 vs 1098 tok/s) Decodificación: turbo4 = 0.93x q8_0 con Sparse V

PDF real de 24K: decodificación turbo4 = 63.7 tok/s (0.93x q8_0)

🔥 Primeros Pasos (5 Minutos)

Prototipo 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 pruebas pasan
python3 benchmarks/demo.py   # Demo rápido

Producción 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

# Ejecutar con caché turbo
./build/bin/llama-server -m your-model.gguf --cache-type-k turbo3 --cache-type-v turbo3 -c 262144

📊 Validación Probada en Batalla

511+ pruebas Python, 100% coberturaQwen 3.5 35B-A3B (MoE) en M5 Max9/9 NIAH aguja única con Sparse V (vs 7/9 baseline) ✅ 100% recuperación multi-clave hasta 32K ✅ Probado por la comunidad: Macs M1-M5, RTX 3090/4090/5090, AMD 6800XT

🎯 Por Qué Importa

Memoria: Caché KV 6.4x más pequeña = ejecutar modelos más grandes con contextos más largos Velocidad: Igualar prefill q8_0, 0.9x decodificación a 32K Calidad: turbo4 supera q4_0, solo +0.23% PPL vs q8_0

🚀 Futuro: TurboQuant+

  • Asignación adaptativa de bits por capa
  • Compresión con decaimiento temporal (ahorro de memoria 30-34%)
  • Compresión consciente de MoE
  • Backend CUDA (soporte NVIDIA)

Estado: v1 completa y lista para producción. Extensiones próximamente tras PR a upstream llama.cpp.


Dale estrella al repo y prueba turbo3 en tu próxima ejecución de contexto largo. Tu RAM (y factura de electricidad) te lo agradecerán.

GitHub: turboquant_plus

Artículo original: Ver original

Compartir este artículo