En este artículo
Comprime los vectores RAG a 2 bits: ¿está lista para producción la cuantización independiente de los datos?
La respuesta corta: TurboQuant a 2 bits almacena los códigos cuantizados de cada vector con una decimosexta parte de los bytes de float32. El índice completo no queda automáticamente 16 veces más pequeño, porque normas, IDs, grafos, metadatos y vectores opcionales de precisión completa también ocupan espacio. TurboVec reporta unos 4 GB frente a 31 GB para su ejemplo de 10 millones de documentos. Qdrant también incluye TurboQuant desde la versión 1.18.
TurboQuant es investigación revisada de ICLR 2026 y ya existen implementaciones de producción. TurboVec alcanzó su primera versión estable 1.0 el 18 de agosto de 2026 con un formato en disco compatible hacia delante, aunque el mantenimiento sigue concentrado en su creador. Trata sus benchmarks contra FAISS como resultados del autor y específicos del hardware, y mide memoria total, recall y latencia en tu corpus.
¿Diseñas un stack RAG autoalojado o aislado de red?
Planificar una revisión de arquitectura de recuperaciónPor qué la memoria del RAG se convierte en el cuello de botella
La generación aumentada por recuperación almacena un embedding por fragmento, y la búsqueda de baja latencia suele mantener los vectores en RAM. Un vector float32 de 1536 dimensiones usa 6.144 bytes, así que diez millones requieren unos 61,4 GB antes del índice. A 2 bits por dimensión, los códigos brutos usan 384 bytes por vector o unos 3,84 GB. Esa es la compresión exacta de 16x de los códigos. La proporción del índice completo será menor.
La memoria puede dominar el coste de recuperación. Influye en el número de nodos, la convivencia con modelos y la viabilidad on-premise. Solo una medición de memoria residente total demuestra el ahorro real.
¿Qué es la cuantización independiente de los datos?
La cuantización independiente de los datos comprime vectores con una receta fija que no aprende nada de tu conjunto de datos. No hay codebook entrenado sobre una muestra, ni pasada de calibración, ni parámetros específicos del conjunto de datos que ajustar, guardar o reajustar cuando los datos derivan.
Esto difiere de la cuantización de producto entrenada que ofrecen FAISS IVF-PQ y muchas bases de datos vectoriales. PQ aprende codebooks con k-means sobre una muestra representativa. Los nuevos vectores pueden usar el codebook existente, pero una deriva material puede justificar entrenar otro y reindexar. TurboQuant puro elimina ese ciclo. Las implementaciones ampliadas pueden añadir una pequeña calibración para mejorar el recall.
Cómo comprime TurboQuant sin entrenamiento
TurboQuant procede del artículo de ICLR 2026 "TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate" de Amir Zandieh, Majid Daliri, Majid Hadian y Vahab Mirrokni, en Google y NYU. Google Research lo describe en una publicación pública.
- Rotar. Aplica una rotación ortogonal aleatoria a cada vector. Una rotación preserva distancias y productos escalares, así que no cambia nada del resultado de búsqueda. Lo que cambia es la distribución de coordenadas: tras una rotación aleatoria, cada coordenada de un vector de alta dimensión sigue una distribución conocida y concentrada que depende solo de la dimensión, no de tus datos.
- Cuantizar por coordenada. Como esa distribución se conoce de antemano, puedes precomputar el cuantizador escalar óptimo una vez, desde la teoría, y reutilizar el mismo codebook universal para cada coordenada de cada vector. En dimensiones altas, las coordenadas rotadas son casi independientes, por lo que tratarlas de una en una es casi óptimo y no un atajo.
El artículo añade una segunda etapa que cuantiza el residuo con una transformada de Johnson-Lindenstrauss cuantizada a 1 bit, produciendo una estimación no sesgada del producto escalar. Los autores muestran que la distorsión queda cerca de la cota inferior teórica de la información, dentro de un pequeño factor constante de alrededor de 2,7, en todos los anchos de bits. En la búsqueda del vecino más cercano el método supera a la cuantización de producto en recall a la vez que reduce el tiempo de indexación casi a cero, porque no hay nada que entrenar.
La recompensa práctica es la parte que sobrevive a toda la teoría: sin muestra de entrenamiento, sin calibración, sin codebook que persistir o reentrenar. Rotas y cuantizas, y puedes hacerlo en el momento en que llega un vector.
¿A qué le gana realmente TurboQuant?
El método se implementó de forma independiente en Qdrant, que publicó una evaluación detallada frente a los cuantizadores que los equipos ya usan. La comparación es lo que importa comercialmente, porque se mide con presupuestos de almacenamiento fijos.
| Clase de almacenamiento | Ancho de bits | Compresión | Resultado frente al incumbente |
|---|---|---|---|
| Mitad de la cuantización escalar | 4 bits | 8x | Competitivo con la cuantización escalar a la mitad del almacenamiento; la supera en 3 de 10 conjuntos, hasta en 4,6 puntos en uno. |
| Presupuesto de cuantización binaria | 2 bits | 16x | Supera a la cuantización binaria de 2 bits en 9 a 24 puntos en todos los conjuntos probados. |
| Presupuesto extremo | 1 bit | 32x | Supera a la cuantización binaria simple de 1 bit en 9 a 21 puntos en todos los conjuntos probados. |
El patrón es consistente. En los presupuestos agresivos donde los equipos normalmente aceptan una gran pérdida de recall, un cuantizador basado en rotación y sin entrenamiento mantiene el recall mucho mejor que la cuantización binaria, y a 4 bits se bate de tú a tú con un cuantizador escalar ajustado a los datos usando la mitad del espacio. Qdrant además añadió extras de ingeniería: renormalización de longitud por vector, compensación de anisotropía por coordenada y aceleración SIMD. Esas adiciones son ligeramente dependientes de los datos, lo que conviene señalar cuando alguien llama a toda la tubería estrictamente independiente de los datos.
Qdrant incluye esta implementación ampliada desde la versión 1.18 en su imagen Docker estándar y en Cloud. Ofrece 4, 2, 1,5 y 1 bit, recomienda probar el recall con datos propios y requiere reindexar al habilitarla.
¿Qué es TurboVec y qué promete?
TurboVec es un índice vectorial de código abierto en Rust con bindings de Python, con licencia MIT, construido directamente sobre TurboQuant. Empaqueta el cuantizador en un índice consultable que puedes incorporar a un stack de recuperación en Python. Sus promesas destacadas:
| Promesa | Detalle reportado | Qué verificar tú mismo |
|---|---|---|
| Compresión de códigos 16x | Un vector de 1536 dimensiones pasa de 6.144 bytes float32 a 384 bytes de códigos de 2 bits. El repositorio reporta por separado 4 GB frente a 31 GB para su ejemplo de 10M. | No apliques 16x al índice completo. Mide códigos, normas, IDs, metadatos y estructuras. |
| Gana a FAISS en ARM | En una instancia Google Axion de 8 vCPU, la suite reporta una media de 3,5x a 4 bits y 26% a 2 bits frente a FAISS FastScan. | Haz benchmark en tu CPU; ARM y x86 usan kernels distintos. |
| Gana a FAISS en x86 | En un Intel Xeon Platinum 8481C de 8 vCPU, reporta una media de 3,4x a 4 bits y 20% a 2 bits. | Confírmalo en tu instancia y concurrencia. |
| Recall normalmente igual o mejor | TQ+ calibrado supera a FAISS en recall@1 en tres de cuatro celdas OpenAI por 0,9 a 2,9 puntos, pierde una por 0,7 y lidera GloVe en recall@1, aunque FAISS puede liderar más abajo a 2 bits. | Son pruebas del autor con 100K vectores. Mide tu corpus y reranking. |
| Ingesta en línea | TurboQuant puro no requiere entrenamiento. El TQ+ opcional de TurboVec ajusta dos escalares por coordenada con una muestra antes de añadir. | Documenta si usas TurboQuant o TQ+ y prueba ingesta y deriva. |
| Filtrar por ID en tiempo de búsqueda | Pasa una lista de IDs permitidos; los bloques sin ranuras permitidas se omiten, así los filtros de inquilino y de permisos siguen siendo baratos. | Valida que el recall filtrado se mantiene cuando las listas de permitidos son pequeñas y dispersas. |
| Reemplazo directo para frameworks | Sustitutos para los almacenes de vectores de LangChain, LlamaIndex, Haystack y Agno. | Revisa la cobertura de API para metadatos, borrados y búsqueda híbrida de las que depende tu app. |
Los kernels usan NEON SDOT o SMMLA en ARM y AVX-512 VNNI o vpermb en x86 moderno, con fallback AVX2 y escalar. Esto explica los resultados sin prometerlos en toda CPU. TurboVec puede operar con un modelo local dentro de tu red.
Dónde ayuda la compresión independiente de los datos y dónde perjudica
La cuantización es una compresión con pérdida de una señal con pérdida. Los embeddings ya aproximan el significado, y cuantizarlos aproxima la aproximación. Eso está bien para la recuperación, que solo necesita que los vecinos correctos queden arriba, pero fija las expectativas honestas para una decisión.
| Opción | Memoria | Peso operativo | Mejor encaje |
|---|---|---|---|
| Índice plano float32 | El mayor, unos 4 bytes por dimensión | Trivial, búsqueda exacta | Corpus pequeños, recuperación sensible a la calidad, una base para medir |
| TurboQuant 2 bits (Qdrant o TurboVec) | Códigos brutos 16x menores | Sin entrenamiento PQ; calibración y reindexado dependen de la implementación | Corpus grandes, nodos limitados por memoria y despliegues autoalojados |
| Cuantización de producto entrenada (FAISS IVF-PQ, BD gestionadas) | Configurable, a menudo buen recall por byte | Necesita muestra de entrenamiento, se degrada con la deriva, reajuste ante gran cambio | Corpus estables con una buena muestra de entrenamiento y una plataforma gestionada existente |
| Servicio vectorial gestionado | Depende del proveedor | Menor esfuerzo de ingeniería, los datos salen de tu frontera | Equipos sin restricción de residencia de datos que quieren cero trabajo de infraestructura |
Dos matices deciden la mayoría de los despliegues reales. Primero, la cuantización agresiva pierde algo de recall, por lo que el RAG en producción normalmente recupera más candidatos de los que necesita y reordena el conjunto superior, ya sea con los vectores de precisión completa guardados en almacenamiento más lento o con un cross-encoder. Presupuesta ese paso. Segundo, la proporción de compresión es fija, pero tu huella real incluye la estructura de índice, los identificadores, los metadatos y cualquier copia de precisión completa que guardes para el reranking. Mide el total, no solo los bytes de los vectores.
¿De verdad abarata esto tu RAG?
Una proporción de compresión no es un ahorro hasta que elimina algo que pagas. Valora el cambio contra la factura completa de recuperación:
beneficio mensual = memoria o nodos eliminados + nivel de instancia menor + tarifas de BD gestionada evitadas - cómputo de reranking añadido - coste de ingeniería y operaciones
Los códigos brutos dieciséis veces menores crean valor solo cuando ayudan al índice completo a cruzar un umbral: un índice que ahora cabe en un nodo en lugar de un clúster, un corpus que cabe en RAM en lugar de volcarse a disco, un servicio de recuperación que se coloca junto a un host de GPU que ya operas, o una carga que puedes internalizar en lugar de pagar una tarifa gestionada por vector. Si tu corpus ya cabe cómodamente y la búsqueda no está limitada por memoria, la ganancia es menor y un almacén de vectores maduro y soportado podría ser la opción más segura. Para la decisión más amplia de comprar frente a alquilar, trabaja nuestro análisis del punto de equilibrio entre modelos locales y APIs, y si aún eliges una estrategia de recuperación, compara primero RAG frente a fine-tuning y contexto largo.
El ángulo de aislamiento de red y residencia de datos en la UE
Para equipos regulados importa más el control del despliegue que la cifra de memoria. Un índice autoalojado y un modelo local pueden mantener la recuperación dentro de tu red. TurboQuant puro no necesita calibración del dataset; las variantes ampliadas pueden calibrarse localmente sin enviar datos a terceros.
Un embedding no es automáticamente anónimo y puede seguir siendo dato personal si se relaciona con una persona identificable. El Dictamen 28/2024 del EDPB exige evaluar el anonimato caso por caso. El autoalojamiento puede simplificar encargados y transferencias, pero no demuestra por sí solo cumplimiento del RGPD. Consulta nuestras guías sobre residencia de datos y permisos RAG.
Una evaluación de 10 días antes de sustituir un almacén de vectores
- Congela una base. Construye un índice plano float32 sobre una porción representativa y registra el recall exacto sobre un conjunto de consultas etiquetadas. Es la cifra contra la que se mide cada opción comprimida.
- Reproduce la huella. Carga tus embeddings reales a su dimensión y recuento verdaderos y mide la memoria residente incluyendo el sobrecoste de índice y los identificadores, no solo los bytes de los vectores.
- Ejecuta tres carriles. Compara tu almacén actual, TurboVec a 2 y 4 bits, y una configuración de cuantización de producto entrenada sobre el mismo hardware.
- Mide el recall con reranking. Reporta recall@k antes y después de tu paso previsto de sobremuestreo y reordenación, porque eso es lo que la producción sirve de verdad.
- Haz pruebas de carga de la búsqueda. Mide la latencia de consulta p50 y p95 y el rendimiento a tu concurrencia real, en tu CPU objetivo, con filtros aplicados.
- Prueba ingesta y crecimiento. Añade un lote grande, borra y añade de nuevo; confirma que memoria, latencia y recall se mantienen estables sin un paso de reentrenamiento o reindexado.
- Audita la dependencia. TurboVec 1.0 promete compatibilidad futura para el formato v7, pero archivos anteriores requieren conversión y los previos a v5 deben reconstruirse. Revisa migración, mantenimiento concentrado, seguridad y capacidad de fork.
- Decide sobre la economía. Convierte la huella medida en niveles de instancia o número de nodos, resta el coste de reranking añadido y el tiempo de ingeniería para operar un índice no estándar, y compara el coste por consulta exitosa.
Preguntas que hacer antes de adoptarlo
- ¿Cuál es el recall@k medido sobre nuestro corpus y conjunto de consultas, tras el reranking, a 2 y 4 bits?
- ¿Cuál es la memoria residente real incluyendo la estructura de índice, los IDs y cualquier copia de precisión completa guardada para el reranking?
- ¿Soporta el índice los borrados, actualizaciones, filtros de metadatos y búsqueda híbrida que necesita nuestra aplicación?
- ¿Cómo se comporta la búsqueda filtrada cuando las listas de permitidos son pequeñas, para aislamiento de inquilinos y permisos?
- ¿Cuáles son la latencia y el rendimiento en nuestra CPU de producción, no en la máquina del benchmark?
- ¿Cuál es la madurez de versiones, la cobertura de pruebas, la licencia y la situación de mantenimiento de la biblioteca, y podemos bifurcarla?
- ¿Podemos volver a nuestro almacén de vectores actual sin reconstruir el servicio de recuperación?
Fuentes y límites de las afirmaciones
El algoritmo, la etapa residual y la distorsión casi óptima proceden del artículo de ICLR 2026 y de Google Research. La evaluación y documentación de Qdrant sustentan los resultados y la versión 1.18. Las afirmaciones de TurboVec proceden de su repositorio y changelog. Wavect no reprodujo los benchmarks. Los datos y el estado del proyecto se revisaron el 2 de septiembre de 2026.
Preguntas frecuentes
¿Qué significa cuantización independiente de los datos?
¿Cómo mete TurboVec 10 millones de documentos en 4 GB?
¿Cuantizar embeddings perjudica la calidad de la recuperación?
¿Está TurboVec listo para producción?
¿En qué se diferencia TurboQuant de la cuantización de producto de FAISS?
¿Puedo ejecutarlo totalmente sin conexión para RGPD o aislamiento de red?
Reflexiones finales
La cuantización independiente de los datos cambia cómo funciona la memoria del RAG. Una rotación aleatoria hace predecible cada coordenada, un codebook universal hace el resto y desaparece el paso de entrenamiento de la cuantización de producto. Los resultados de recall con presupuestos agresivos merecen atención.
TurboVec 1.0 y Qdrant 1.18 ya convierten la investigación en software desplegable. Los códigos brutos de 2 bits sí son 16 veces menores que float32, pero la proporción del índice completo debe medirse. Pilota, audita y compara sobre tu propio corpus antes de llevar tráfico de producción.
¿Quieres un benchmark de recuperación de nivel de decisión sobre tu propio corpus?
Planificar un piloto de evaluación de RAG