19 puntos por GN⁺ 2026-03-26 | 4 comentarios | Compartir por WhatsApp
  • Un conjunto de algoritmos de cuantización que resuelve de raíz el problema del sobrecosto de memoria en vectores de alta dimensión, aplicable tanto a la compresión de caché clave-valor de los LLM como a la búsqueda vectorial
  • Una estructura de compresión en 2 etapas que primero comprime los datos con alta calidad mediante PolarQuant y luego elimina el error residual con solo 1 bit usando el algoritmo QJL
  • Puede cuantizar la caché clave-valor hasta 3 bits sin pérdida de precisión del modelo ni entrenamiento o ajuste fino, y logra hasta 8 veces más rendimiento en GPUs H100
  • En búsqueda vectorial también registra tasas de recall óptimas sin codebooks masivos ni ajustes por dataset, superando métodos SOTA existentes
  • Un aporte algorítmico fundamental con eficiencia demostrable cercana al límite inferior teórico, con potencial de jugar un papel clave en modelos como Gemini y en infraestructura de búsqueda semántica a gran escala

Contexto de vectores y cuantización

  • Los vectores son la forma fundamental en que los modelos de IA entienden y procesan información; los vectores de alta dimensión representan información compleja como características de imágenes, significado de palabras o propiedades de datasets
  • Los vectores de alta dimensión consumen enormes cantidades de memoria, lo que genera cuellos de botella en la caché clave-valor (una hoja de referencia digital rápida que guarda información usada con frecuencia con etiquetas simples para permitir búsqueda inmediata)
  • La cuantización vectorial es una técnica clásica de compresión de datos que reduce el tamaño de los vectores de alta dimensión, ayudando a acelerar la búsqueda vectorial y a aliviar el cuello de botella de la caché clave-valor
  • La cuantización vectorial tradicional tiene su propio sobrecosto de memoria, porque debe calcular y almacenar constantes de cuantización con precisión completa para cada pequeño bloque de datos, lo que añade un costo extra de 1 a 2 bits por número y compensa parcialmente el objetivo de la cuantización

Cómo funciona TurboQuant

  • TurboQuant es un método de compresión que logra una alta reducción del tamaño del modelo sin pérdida de precisión, y soporta tanto compresión de caché clave-valor como búsqueda vectorial
  • Está compuesto por dos etapas clave:

Etapa 1: compresión de alta calidad (método PolarQuant)

  • Rota aleatoriamente los vectores de datos para simplificar la estructura geométrica de los datos, y luego aplica de forma individual un cuantizador estándar de alta calidad a cada parte del vector
  • En esta etapa se usan la mayoría de los bits para capturar los conceptos principales y la intensidad del vector original

Etapa 2: eliminación del error oculto

  • Al pequeño error restante de la etapa 1 se le aplica el algoritmo QJL con una capacidad de compresión residual de apenas 1 bit
  • QJL actúa como un verificador matemático de errores y elimina el sesgo para producir puntuaciones de atención más precisas

QJL: técnica de 1 bit con cero sobrecosto

  • Aprovecha la transformación de Johnson-Lindenstrauss para reducir datos de alta dimensión preservando las distancias y relaciones clave entre puntos de datos
  • Reduce cada número del vector resultante a un único bit de signo (+1 o -1), eliminando por completo el sobrecosto de memoria
  • Usa un estimador especial que equilibra estratégicamente consultas de alta precisión y datos simplificados de baja precisión para mantener la exactitud
  • Esto permite calcular con precisión las puntuaciones de atención que determinan qué partes de la entrada son importantes y cuáles pueden ignorarse

PolarQuant: un nuevo “ángulo” para la compresión

  • Es un enfoque que resuelve el problema del sobrecosto de memoria de una manera completamente distinta
  • En lugar de coordenadas estándar (X, Y, Z), convierte los vectores a coordenadas polares; es parecido a reemplazar “3 cuadras al este y 4 al norte” por “5 cuadras en dirección de 37 grados”
  • El resultado de la transformación se compone de dos tipos de información: un radio que representa la intensidad de los datos clave y un ángulo que representa la dirección y el significado de los datos
  • Como el patrón de los ángulos es conocido y está altamente concentrado, mapea los datos en una cuadrícula “circular” fija con fronteras ya conocidas en vez de una cuadrícula “rectangular” con fronteras cambiantes, lo que omite la costosa etapa de normalización de datos
  • En un vector de dimensión d, agrupa pares de coordenadas y los mapea al sistema polar, junta los radios por pares y repite una transformación polar recursiva hasta destilar finalmente un único radio y un conjunto de ángulos descriptivos

Experimentos y resultados

Rendimiento en benchmarks de contexto largo

  • Fue evaluado con LLM open source (Gemma, Mistral) en benchmarks estándar de contexto largo como LongBench, Needle In A Haystack, ZeroSCROLLS, RULER y L-Eval
  • TurboQuant logró resultados óptimos tanto en distorsión del producto punto (dot product distortion) como en recall, mientras minimizaba al mismo tiempo la huella de memoria clave-valor
  • En el modelo Llama-3.1-8B-Instruct mostró un rendimiento sólido frente al baseline KIVI en tareas variadas como preguntas y respuestas, generación de código y resumen

Tarea Needle-in-Haystack

  • En pruebas para encontrar información específica dentro de grandes volúmenes de texto, TurboQuant obtuvo resultados downstream perfectos en todos los benchmarks
  • Redujo el tamaño de la memoria clave-valor en al menos 6 veces
  • PolarQuant también mostró un desempeño prácticamente sin pérdida en esta tarea

Rendimiento en tiempo de ejecución

  • Puede cuantizar la caché clave-valor a 3 bits sin entrenamiento ni ajuste fino y sin comprometer la precisión del modelo
  • Logra tiempos de ejecución más rápidos que el LLM original; la implementación es extremadamente eficiente y el sobrecosto en runtime es despreciable
  • TurboQuant de 4 bits alcanzó hasta 8 veces más rendimiento en el cálculo de logits de atención frente a claves no cuantizadas de 32 bits en una GPU H100, medido contra un baseline optimizado en JAX

Rendimiento en búsqueda vectorial

  • Fue comparado con métodos SOTA como PQ y RabbiQ en búsqueda de vectores de alta dimensión
  • Se utilizó la tasa de recall 1@k, que mide con qué frecuencia el algoritmo captura el mejor resultado real de producto punto dentro de los k mejores aproximados
  • Frente a baselines que dependen de codebooks masivos e ineficientes y de ajustes por dataset, TurboQuant registró tasas de recall consistentemente superiores
  • En el dataset GloVe (d=200), logró la mejor tasa 1@k recall frente a varios baselines modernos de cuantización
  • Ofrece una tasa de distorsión casi óptima de forma data-oblivious, manteniendo con la eficiencia de un sistema de 3 bits la precisión de modelos mucho más pesados

Perspectivas a futuro

  • TurboQuant, QJL y PolarQuant no son solo soluciones prácticas de ingeniería, sino aportes algorítmicos fundamentales respaldados por sólidas pruebas teóricas
  • Tienen eficiencia demostrable y operan cerca del límite inferior teórico, por lo que pueden ser robustos y confiables en sistemas críticos de gran escala
  • Más allá de resolver el cuello de botella de la caché clave-valor en modelos como Gemini, su impacto en la cuantización vectorial en línea eficiente puede extenderse mucho más
  • A medida que la búsqueda moderna evoluciona de palabras clave hacia la comprensión de intención y significado, la búsqueda vectorial para encontrar los elementos semánticamente más similares en bases de datos con miles de millones de vectores se vuelve esencial
  • TurboQuant permite construir y consultar índices vectoriales a gran escala con memoria mínima, tiempo de preprocesamiento casi nulo y precisión de última generación, haciendo que la búsqueda semántica a escala de Google sea más rápida y eficiente

4 comentarios

 
crawler 2026-03-26

"La rotación es un poder infinito. Créelo."

 
s0400615 2026-03-27

Mis respetos.

 
ryj0902 2026-03-27

Inicié sesión por este comentario.

 
GN⁺ 2026-03-26
Opiniones en Hacker News
  • La investigación sobre compresión de caché KV es de verdad un avance muy interesante.
    Aun así, es una pena que en este trabajo falten citas sobre el mecanismo matemático central.
    La técnica de aplicar una rotación geométrica para tratar geometría de alta dimensión y luego realizar una cuantización extrema fue propuesta primero en nuestro paper de NeurIPS 2021 “DRIVE”.
    Con este enfoque basado en rotación y un mecanismo de corrección de sesgo, logramos una estimación óptima de la media de la dispersión.
    Después también presentamos esto en un seminario por invitación de Google, y considerando la similitud teórica entre TurboQuant y PolarQuant, ojalá en futuras versiones se reflejen las citas al trabajo previo.

    • Cuando hablan de rotación, ¿quieren decir al final diagonalización?
      Es decir, me pregunto si se trata de almacenar una matriz diagonal y una nueva base para comprimir más.
    • Hoy me enteré por primera vez de Multi-Head Latent Attention (MHLA), y escuché que eso también comprime la caché KV.
      Me gustaría que explicaran qué relación tiene con este trabajo.
    • En realidad esto es una técnica clásica del tipo Johnson–Lindenstrauss.
      Estas ideas suelen redescubrirse cada pocos años; por ejemplo, en este paper de 2017 ya había un enfoque similar.
    • Si faltaron citas, sí es una lástima.
      Pero también puede pasar que los investigadores hayan llegado de forma independiente a una idea parecida cuando el trabajo ya estaba bastante avanzado.
      Las buenas ideas son de esas a las que naturalmente llega quien entiende el problema a fondo.
    • Schmidhuber’d”, una forma sarcástica de referirse a la omisión de citar trabajo previo.
  • No entiendo la explicación de que “TurboQuant rota aleatoriamente los datos para simplificar la geometría”.
    ¿No hay garantía de que una rotación siempre produzca una forma más simple?
    Además, la parte que dice que “reduce datos de alta dimensión con una transformación Johnson–Lindenstrauss y representa cada vector con bits de signo” tampoco me convence: no me queda claro cómo un solo valor booleano puede mantener la información relacional.

    • En la práctica, la distribución de activaciones de los modelos de deep learning no es isotrópica.
      En algunas dimensiones aparecen activaciones outlier, y por las características del optimizador Adam este fenómeno se refuerza.
      Como referencias, vale la pena ver SmoothQuant y Privileged Basis.
    • La idea es que el modelo debería ser sensible no a la dirección de los datos, sino solo a la distancia entre vectores.
      Eso reduce el aprendizaje de reglas innecesarias y estabiliza la optimización.
      O sea, evita que el modelo aprenda reglas triviales como “si cierto dígito en cierta posición de cierta dimensión es 5, entonces es un gato”.
    • El objetivo de la cuantización es meter los datos en ‘bins’ para comprimirlos.
      Al multiplicar por una matriz de rotación, los datos quedan distribuidos más uniformemente y eso permite una cuantización más eficiente.
      Después, con el algoritmo de Lloyd–Max se optimizan los límites y los valores de reconstrucción, y el sesgo restante se corrige con 1 bit.
      Así se puede mantener alta precisión incluso con pocos bits.
    • La rotación simplemente mueve los datos a otro sistema de coordenadas de referencia para mejorar la eficiencia de compresión.
      Por ejemplo, si conviertes valores de punto flotante a otra unidad (bel → decibel), pueden expresarse como valores más parecidos entre sí y eso facilita la compresión.
    • No se refiere a una rotación aleatoria, sino a una alineación de outliers.
      O sea, es el proceso de volver a agrupar cerca del centro datos que estaban muy alejados.
      Además, como cada dimensión se codifica por separado, el vector completo no se reduce a un solo booleano.
  • Esta entrada de blog es de baja calidad.
    Los ejes de este gráfico están mal etiquetados, y esta visualización en video tampoco transmite en absoluto el concepto de Polar Quantization.
    Otro gráfico empieza el eje en 48 y exagera la diferencia real.
    En general, la confiabilidad del material visual y la calidad de la comunicación son pobres.

  • Alguien ya lo está implementando en llama.cpp.
    Ver este commit relacionado.

    • Con un método más eficiente que el del paper, están intentando reemplazar la operación de rotación O(d²) por Subsampled Randomized Hadamard Transform para mejorarla a O(d log d).
      Esperan que el teorema de Johnson–Lindenstrauss siga siendo válido y que la cuantización independiente de cada coordenada sea teóricamente justificable.
    • Me sorprende que la implementación sea más simple de lo que pensaba.
      No tengo mucho conocimiento del dominio, pero la estructura se ve clara.
    • La velocidad de desarrollo de llama.cpp es impresionantemente rápida.
      Hay bastante probabilidad de que se fusione a la rama principal en 4 a 6 semanas.
  • Hay una animación que explica TurboQuant de forma intuitiva.

  • Este es un resumen que armé a nivel de licenciatura.
    La clave es cuantizar la caché KV minimizando la pérdida de información.
    Como la mayoría de los vectores se concentran cerca del ecuador de una esfera de alta dimensión, una rotación uniformiza la distribución y aumenta la conservación de la entropía.
    PolarQuant intentó esto con una transformación a coordenadas polares, pero TurboQuant lo simplifica y añade corrección de sesgo QJL.
    En resumen, logra compresión de alta eficiencia con PolarQuant + QJL + correcciones prácticas.
    La entrada de blog tiene muchos errores y resulta confusa.

    • En la práctica se hace una rotación inversa (un-rotation) para futuros vectores de consulta.
      El codebook de coordenadas hiperpolares de PolarQuant sigue presente en parte en TurboQuant.
  • Este texto está entre los peores que he visto para explicar componentes de IA.
    Casi no ofrece contexto técnico.

    • De hecho, parece que lo escribió una IA, o alguien con poco entendimiento técnico.
      Menciona el teorema de Johnson–Lindenstrauss pero no explica la conexión concreta.
    • Algunas frases están demasiado simplificadas.
      Por ejemplo, es como explicar “3 cuadras al este, 4 cuadras al norte” diciendo “muévete 5 cuadras a un ángulo de 37 grados”; se siente como una analogía de nivel secundaria.
    • La frase “TurboQuant, QJL y PolarQuant son innovaciones algorítmicas teóricamente eficientes y cercanas al límite inferior” suena como una línea promocional exagerada.
  • Ya se publicó una implementación independiente en PyTorch.
    turboquant-pytorch

    • Ofrece una explicación mucho más clara que la del blog de Google.
  • El blog se publicó hace poco, pero el paper fue subido a arXiv hace casi un año.
    Me pregunto si ya se aplicó a modelos como Gemini y, de ser así, si también podría reducir el costo de RAM para uso personal.

  • Sorprende la velocidad con la que la investigación en compresión se está convirtiendo en aplicaciones reales.
    Igual que en formatos de imagen AVIF y JPEG XL, que derivaron de investigación en códecs de video, también es muy posible que las técnicas de cuantización para IA pronto se apliquen en entornos reales de inferencia.

    • JPEG XL se basa en investigación específica para imágenes, pero, como AVIF, es un caso de adaptar tecnología de video a imágenes.
      Algunos conceptos, como el espacio de color XYB, son compartidos, y en los LLM seguramente también hará falta una ingeniería a medida similar.