¿Qué es TurboQuant? La innovadora compresión de IA de Google para caché KV 6 veces más pequeño e inferencia 8 veces más rápida

Puntos clave
- TurboQuant es el algoritmo de cuantización vectorial en línea de Google Research que comprime la caché de clave-valor (KV) en modelos de lenguaje grandes a solo 3 bits por valor, logrando una pérdida de precisión cero en benchmarks como LongBench, Needle-in-a-Haystack y RULER.
- Los benchmarks indican una reducción de 6x en la memoria de la caché KV y una aceleración de hasta 8x en el cálculo del logit de atención en GPUs NVIDIA H100 en comparación con las líneas base de 32 bits.
- No requiere entrenamiento ni ajuste fino, lo que lo hace aplicable inmediatamente a modelos existentes como Gemma, Mistral, Llama y Qwen.
- La retroalimentación de la comunidad sugiere que permite que hardware de grado consumidor maneje ventanas de contexto dramáticamente más largas con una calidad de salida casi idéntica a la inferencia de precisión completa.
- La técnica combina rotación ortogonal aleatoria, PolarQuant para la compresión principal y Quantized Johnson-Lindenstrauss (QJL) de 1 bit para la corrección residual.
¿Qué es TurboQuant?
TurboQuant es un método avanzado de cuantización vectorial desarrollado por Google Research que redefine la eficiencia para modelos de lenguaje grandes y la búsqueda de vectores de alta dimensionalidad. Anunciado a finales de marzo de 2026 y programado para presentarse en ICLR 2026, apunta al cuello de botella crítico de memoria en la inferencia de transformers: la caché KV.
El análisis muestra que a medida que las longitudes de contexto crecen hasta decenas o cientos de miles de tokens, la caché KV —que almacena vectores de clave y valor precalculados para cada token— puede consumir gigabytes de memoria GPU y dominar los costos de inferencia. TurboQuant comprime estos vectores de alta dimensionalidad (típicamente flotantes de 16 o 32 bits) a una precisión ultrabaja sin las compensaciones habituales en calidad o velocidad del modelo.
A diferencia de la cuantización posterior al entrenamiento tradicional que a menudo requiere datos de calibración y aún incurre en degradación de precisión, TurboQuant es independiente de los datos y está matemáticamente probado que se aproxima a los límites teóricos de la información tanto para el error cuadrático medio (MSE) como para la distorsión del producto interno.
El cuello de botella de la caché KV en LLMs modernos
En las arquitecturas de transformers, la auto-atención depende de la caché KV para evitar recalcular claves y valores para tokens vistos previamente. Para un modelo con dimensión oculta d y longitud de secuencia n, la caché crece linealmente como O(n × d × capas × cabezas × bytes por valor).
Los benchmarks indican que esta caché puede superar en tamaño a los pesos del modelo durante tareas de contexto largo. El almacenamiento KV estándar de 16 bits rápidamente se vuelve prohibitivo en GPUs de consumidor o en entornos de servicio de alto rendimiento como vLLM. Los intentos de compresión anteriores (por ejemplo, cuantización de 4 bits u 8 bits con escalas por bloque) introdujeron sobrecarga de memoria al almacenar constantes de normalización, limitando las ganancias reales a 2-3x como máximo mientras arriesgaban la desviación de la salida.
TurboQuant elimina por completo esta sobrecarga, permitiendo la implementación práctica de modelos con ventanas de contexto de 32k–128k+ en hardware que anteriormente luchaba con 8k.
Cómo funciona TurboQuant: análisis técnico en profundidad
TurboQuant opera como un algoritmo de dos etapas y en línea, optimizado tanto para preservar el MSE como el producto interno—aspectos críticos para obtener puntuaciones de atención precisas.
Etapa 1: Rotación aleatoria + compresión PolarQuant
-
Rotación ortogonal aleatoria: Cada vector KV de entrada sufre una transformación ortogonal aleatoria independiente de los datos (mediante descomposición QR de una matriz gaussiana). Esto redistribuye las magnitudes de los coeficientes de manera uniforme entre dimensiones, convirtiendo la estructura cuasi-esparsa típica de las activaciones de LLM en una distribución bien comportada.
Tras la rotación, cada coordenada sigue una distribución conocida de Beta((d-1)/2, (d-1)/2) en el intervalo [-1, 1]. Esta previsibilidad permite precalcular de forma analítica los centroides óptimos de cuantización.
-
PolarQuant (Cuantización escalar de alta calidad):
- Los vectores se normalizan y se transforman de coordenadas cartesianas a coordenadas polares emparejando las dimensiones de manera recursiva.
- El radio captura la magnitud; los ángulos codifican la información direccional (semántica).
- Dado que las distribuciones angulares son concentradas y predecibles, se eliminan las costosas constantes de normalización por bloque.
- Un cuantizador de Lloyd-Max—optimizado para el MSE sobre la distribución Beta—mapea cada coordenada a un valor discreto de pocos bits (por ejemplo, 3 bits en total para la etapa principal).
Esta etapa aporta la mayor parte de la compresión (la mayoría de los bits) mientras conserva casi toda la información del vector.
Etapa11 2: Corrección residual con QJL
Tras la PolarQuant queda un error residual muy pequeño. TurboQuant aplica la transformación Quantized Johnson-Lindenstrauss (QJL) utilizando solo 1 bit por vector (signo +1 o -1). Esto corrige el sesgo del producto interno sin añadir sobrecarga de memoria.
El resultado: los vectores reconstruidos alcanzan una similitud de coseno y una correlación de producto interno casi perfectas respecto al original (0.983+ con 3 bits en pruebas comunitarias).
El proceso completo es apto para aceleradores, con kernels de Triton fusionados que permiten calcular directamente los logits de atención a partir de los índices comprimidos—no se requiere una des-cuantización completa durante la inferencia.
Evaluaciones de Rendimiento y Rendimiento en el Mundo Real
Las evaluaciones independientes y las evaluaciones internas de Google confirman resultados excepcionales:
- Memoria: La caché KV de 3 bits produce una reducción de ~6x en comparación con las líneas base de 16 bits; las variantes de 4 bits logran ganancias efectivas de 8x en algunas cargas de trabajo.
- Velocidad: TurboQuant de 4 bits ofrece una computación de atención hasta 8x más rápida en GPU H100 en comparación con claves no cuantizadas de 32 bits.
- Precisión: Recuperación perfecta en la prueba "Needle-in-a-Haystack" (Aguja en un Pajar) en contextos de 8k a 64k. Cero degradación en LongBench, ZeroSCROLLS, RULER y L-Eval para modelos incluyendo Gemma, Mistral y Qwen3.5.
- Pruebas de la Comunidad (ej., Gemma-3-4B en RTX 4090):
- Kernel fusionado de 2 bits: salida idéntica a la línea base fp16, caché KV reducida de 26 MB a 7 MB.
- El rendimiento de extremo a extremo coincide o supera la línea base mientras utiliza un 70%+ menos de VRAM.
Las evaluaciones de búsqueda vectorial en GloVe (d=200) muestran una recuperación top-k superior en comparación con Product Quantization (PQ) y RabbiQ, a pesar de codebooks más pequeños y sin ajuste del conjunto de datos.
Cómo Implementar TurboQuant: Guía Paso a Paso
Google no ha publicado código oficial de producción, pero la comunidad de código abierto entregó implementaciones funcionales en días tras el anuncio. Así es cómo empezar hoy mismo.
1. Inicio Rápido con PyTorch (Investigación/Prototipado)
Use la implementación desde cero en tonbistudio/turboquant-pytorch:
- Clone el repositorio e instale las dependencias (PyTorch + Triton).
- Precalcule los codebooks Lloyd-Max para la dimensión oculta de su modelo y el ancho de bits objetivo.
— Parchee
DynamicCachede Hugging Face para cuantizar en cada llamada acache.update(). . Ejecute el script de demostración:python run_demo.py --fused --bits 3para Gemma-3-4B o similar.
Los kernels fusionados de Triton pre-rotan las consultas una vez y calculan productos punto directamente desde índices uint8, entregando una aceleración de extremo a extremo de 1.2x+.
2. Servicio en Producción con vLLM
Integraciones bifurcadas de vLLM (ej., mitkox/vllm-turboquant o la rama flash7777/vllm turboquant):
- Instale la compilación personalizada de vLLM. -BHabilite TurboQuant en los argumentos del motor (admite claves/valores de 2 a 4 bits).
- Implemente con su servidor compatible con OpenAI existente — no se requieren cambios en el modelo.
- Espere ahorros inmediatos en la caché KV y mayor rendimiento para cargas de trabajo de contexto largo.
3. Inferencia Local en Apple Silicon (MLX)
Los puertos nativos de MLX (ej., helgklaizar/turboquant_mlx) permiten TurboQuant en Macs con serie M:
-fullpip install mlx-turboquant (hay paquetes comunitarios disponibles).
- Cargue modelos a través de MLX y aplique el envoltorio de caché. — Ideal para experimentación en el dispositivo con contextos de 32k+.
4. Integración con llama.cpp (CPU/GPU)
Las ramas experimentales (TheTom/llama-cpp-turboquant) están bajo optimización activa para modelos compatibles con GGUF.
Consejos Pro:
- Comienza con cuantización de 3 o 4 bits para una pérdida de calidad imperceptible.
- Utiliza rutas de consulta prerrotadas en kernels fusionados para minimizar la sobrecarga.
- Prueba primero con Needle-in-a-Haystack para validar la fidelidad.
- Monitoriza la VRAM con herramientas como
nvidia-smi—espera un escalado de contexto efectivo de 4 a 7 veces.
Se espera soporte principal en vLLM, TensorRT-LLM y llama.cpp en cuestión de semanas, conforme maduren las optimizaciones.
TurboQuant vs. Métodos de Cuantización Tradicionales
Los enfoques tradicionales (por ejemplo, GPTQ, AWQ, o int4 básico) dependen de escalas por grupo y calibración, introduciendo a menudo una sobrecarga de 1–2 bits por valor y degradando el rendimiento en contextos largos. La Cuantización de Producto requiere codebooks grandes y específicos del conjunto de datos, además de ajuste offline.
TurboQuant se distingue:
- Cero sobrecarga: Sin constantes almacenadas ni metadatos por bloque.
- Independiente de los datos: Funciona de inmediato en cualquier modelo.
- Distorsión casi óptima: Demostrada matemáticamente tanto para MSE como para productos internos.
- Aptitud para online: Se ejecuta durante la inferencia con latencia insignificante.
Las implementaciones comunitarias demuestran que incluso una cuantización TurboQuant agresiva de 2 bits puede igualar la calidad de salida de precisión completa donde fallan los métodos estándar de 4 bits.
Aplicaciones e Impacto Futuro
TurboQuant desbloquea:
- Contextos más largos en hardware de consumo (por ejemplo, 128k tokens en una sola RTX 4090).
- Reducción de costes: Hasta un 50%+ menos de gastos de inferencia para proveedores en la nube.
- IA en el Edge: Búsqueda semántica eficiente y LLMs en el dispositivo.
- Bases de datos vectoriales: Índices más rápidos, densos y con recall de última generación.
A medida que crezca la adopción, se esperan pipelines híbridos de cuantización de pesos + caché KV que lleven modelos de 70B+ al ámbito móvil y portátil.
Conclusión
TurboQuant representa un salto inusual en la ingeniería de sistemas de IA: ganancias extremas de eficiencia sin comprometer la calidad. Al resolver el cuello de botella de la caché KV mediante perspicaces ideas matemáticas elegantes—rotación aleatoria, geometría polar y corrección residual—Google Research ha proporcionado un modelo que la comunidad ya está convirtiendo en herramientas listas para producción.
Ya sea que ejecutes modelos locales, sirvas APIs de alto rendimiento o construyas aplicaciones de búsqueda vectorial, ahora es el momento de experimentar. Clona una implementación comunitaria, haz benchmarking comparándola con tu configuración actual y escala tus ventanas de contexto drásticamente. La era de la IA limitada por memoria está terminando—TurboQuant hace que una inferencia más grande, rápida y barata sea una realidad práctica hoy.