¿Qué es la cuantización en Qdrant?

La cuantización en Qdrant es una técnica de compresión de vectores que reduce significativamente el uso de memoria y acelera las operaciones de búsqueda, con un impacto controlable en la precisión.
Fundamentos de la cuantización
La cuantización funciona mapeando los valores originales de alta precisión (como float32 – 4 bytes por dimensión) a representaciones de menor tamaño (como int8 – 1 byte por dimensión o índices de centroides), permitiendo cálculos de similitud más rápidos.
RAG_REFERENCES:
- (RAG: Documento 1) What is Scalar Quantization? — «La cuantización es un proceso que reduce la precisión de los datos vectoriales para ahorrar memoria y acelerar los cálculos. En Qdrant, los vectores se almacenan típicamente como
float32(4 bytes por dimensión). La cuantización transforma estos valores a formatos más compactos, lo que permite almacenar más vectores en RAM y realizar operaciones aritméticas más simples y rápidas durante la búsqueda.»
Tipos de cuantización en Qdrant
Qdrant implementa tres tipos principales de cuantización:
1. Cuantización Escalar (Scalar Quantization)
- Cómo funciona: Aplica una transformación lineal para mapear cada dimensión del vector de tipo
float32a un rango representable porint8(1 byte). - Ejemplo: Valores entre -1.0 y 1.0 se mapean a -128 a 127.
- Parámetro clave:
quantile(ej: 0.99) excluye valores extremos al calcular límites de cuantización.
RAG_REFERENCES:
- (RAG: Documento 1) What is Scalar Quantization? — «Aplica una transformación lineal para mapear cada dimensión del vector de tipo
float32a un rango representable porint8(1 byte). Por ejemplo, valores entre -1.0 y 1.0 se mapean a -128 a 127.»
2. Cuantización de Producto (Product Quantization)
- Cómo funciona: Divide el vector de alta dimensión en sub-vectores más pequeños. Para cada segmento, crea un codebook de 256 centroides usando K-means.
- Compresión: Un vector de 1024 dimensiones (4096 bytes) se comprime a 128 bytes (128 sub-vectores × 1 byte).
- Configuración:
compression: "x32"(reducción de 32 veces).
RAG_REFERENCES:
- (RAG: Documento 1) What is Product Quantization? — «Divide el vector de alta dimensión en sub-vectores más pequeños. Para cada segmento, se crea un codebook (libro de códigos) de 256 centroides usando el algoritmo K-means.»
3. Cuantización Binaria (Binary Quantization)
- Cómo funciona: Transforma vectores en representaciones binarias compactas.
- Rendimiento: Puede acelerar búsquedas hasta 40 veces.
- Compatibilidad: Funciona mejor con modelos de embeddings de al menos 1024 dimensiones.
RAG_REFERENCES:
- (RAG: Documento 2) Binary Quantization — «Puede acelerar las búsquedas hasta 40 veces, dependiendo del conjunto de datos y el hardware.»
Ventajas y desventajas
Ventajas:
- Reducción de memoria: Hasta 75% con Scalar Quantization
- Velocidad de búsqueda: Cálculos más simples con tipos enteros o binarios
- Optimización automática: Qdrant maneja el proceso transparentemente
- Precisión recuperable: Con
rescore: truese re-evalúan resultados con vectores originales
Desventajas:
- Pérdida de precisión: Principal trade-off (error de cuantización)
- Compatibilidad limitada: Especialmente para Binary Quantization
- Configuración adicional: Requiere ajustar parámetros según el dataset
Configuración básica
CONFIG_SNIPPET:
{ "vectors": { "size": 768 , "distance": "Cosine" } , "quantization_config": { "scalar": { "type": "int8" , "quantile": 0.99 , "always_ram": true } } }
Técnica de rescoring
Para mitigar la pérdida de precisión, Qdrant ofrece rescoring:
- Los resultados candidatos de la búsqueda en vectores cuantizados se re-evalúan usando los vectores originales (
float32) - Mejora la precisión final con un pequeño costo adicional
RAG_REFERENCES:
- (RAG: Documento 1) Rescoring — «Se puede activar el rescoring (
rescore: true), donde los resultados candidatos de la búsqueda en vectores cuantizados se re-evalúan usando los vectores originales (float32) para mejorar la precisión final.»
¿Cuándo usar cuantización?
Recomendaciones:
- Scalar Quantization: Para balance general entre memoria, velocidad y precisión
- Product Quantization: Para colecciones muy grandes donde la memoria es crítica
- Binary Quantization: Para máxima velocidad con modelos de embeddings de alta dimensión (≥1024)
INDEX_PLAN: « Para implementar cuantización:
- Crear colección con quantization_config apropiado
- Insertar vectores (se cuantizan automáticamente)
- Realizar búsquedas con rescoring habilitado
- Monitorear precisión vs. rendimiento
- Ajustar parámetros según resultados
La cuantización es esencial para escalar sistemas de búsqueda vectorial,
Generado por:







