Vector Quantization
Explora la cuantización vectorial para la compresión y discretización de datos en ML. Aprende cómo optimiza los VQ-VAEs, la búsqueda vectorial y los despliegues de Ultralytics YOLO26.
La cuantización vectorial es una potente técnica de compresión y discretización de datos que se utiliza ampliamente en el aprendizaje automático (ML) moderno y el procesamiento digital de señales. En esencia, divide un conjunto grande de puntos o vectores continuos en grupos y representa cada grupo mediante un único vector «prototipo», que en conjunto forma una estructura conocida como libro de códigos. Al asignar vectores continuos de alta dimensionalidad a estas entradas discretas del libro de códigos, los sistemas pueden reducir drásticamente el uso de memoria y conservar al mismo tiempo las características semánticas esenciales de los datos para una reducción de la dimensionalidad eficaz.
El papel de la discretización en el aprendizaje profundo#
En el aprendizaje profundo (DL) contemporáneo, este concepto se popularizó especialmente con el autocodificador variacional cuantizado vectorial (VQ-VAE). A diferencia de los autocodificadores estándar, que aprenden un espacio latente continuo para realizar la extracción de características, los VQ-VAE aprenden una representación discreta. Esto permite que los modelos generativos traten imágenes, audio o vídeo como una secuencia de tokens discretos, de forma similar a como los modelos de lenguaje de gran tamaño (LLMs) procesan las entradas de texto. Puedes consultar la investigación fundamental sobre el aprendizaje de representaciones discretas para ver cómo las primeras implementaciones allanaron el camino para los sistemas de visión modernos basados en tokens.
Aplicaciones en el mundo real#
La cuantización vectorial desempeña un papel fundamental en varias aplicaciones de IA del mundo real en las que el rendimiento y la eficiencia de memoria son prioritarios:
- IA generativa y compresión multimedia: Al comprimir datos visuales complejos en códigos latentes discretos, la cuantización vectorial permite generar imágenes y vídeos de forma muy eficiente. Los modelos que asignan píxeles continuos a tokens discretos reducen drásticamente la sobrecarga computacional, lo que favorece arquitecturas avanzadas como los modelos de difusión latente.
- Recuperación de vectores de alta velocidad: Para realizar una búsqueda rápida por similitud, los sistemas modernos deben consultar millones de embeddings. La cuantización vectorial comprime estos enormes conjuntos de datos, lo que permite a los motores de recuperación ejecutar búsquedas rápidas aproximadas de vecinos más cercanos (ANN), algo muy beneficioso para la IA en el comercio minorista y los sistemas de recomendación de productos. Consulta la guía de OpenAI sobre embeddings para obtener más contexto sobre el tratamiento de datos de alta dimensionalidad.
Diferenciación de conceptos relacionados#
Comprender los matices entre la cuantización vectorial y términos similares resulta útil al diseñar una arquitectura eficiente de visión por ordenador (CV):
- Cuantización vectorial frente a cuantización del modelo: La cuantización del modelo suele referirse a reducir la precisión numérica de los pesos de una red neuronal (por ejemplo, de coma flotante de 32 bits a enteros de 8 bits) para acelerar la inferencia en implementaciones de hardware de modelos como Ultralytics YOLO26. Sin embargo, la cuantización vectorial agrupa los vectores de datos en un vocabulario fijo de prototipos discretos.
- Cuantización vectorial frente a base de datos vectorial: Una base de datos vectorial es la infraestructura real que almacena datos de alta dimensionalidad. La cuantización vectorial es una técnica algorítmica subyacente que suelen emplear estas bases de datos para minimizar su uso de memoria, tal y como se detalla en la explicación de Qdrant sobre el tratamiento de vectores.
- Cuantización vectorial frente a búsqueda vectorial: La búsqueda vectorial es el proceso activo de encontrar elementos similares basándose en la proximidad entre vectores. La cuantización actúa como una capa de optimización estructural que hace que esta búsqueda sea viable desde el punto de vista computacional a gran escala.
Ejemplo de implementación básica#
Para ver cómo la cuantización vectorial asigna entradas continuas a tokens discretos en la práctica, puedes utilizar PyTorch para calcular distancias euclídeas y encontrar el prototipo más cercano en un libro de códigos predefinido:
import torch
# Define a continuous input batch and a discrete codebook vocabulary
inputs = torch.randn(4, 128) # 4 input vectors of dimension 128
codebook = torch.randn(10, 128) # 10 discrete prototype vectors
# Compute distances and find the nearest codebook index for each input
distances = torch.cdist(inputs, codebook)
quantized_indices = torch.argmin(distances, dim=1)
# Retrieve the discrete quantized vectors corresponding to the inputs
quantized_vectors = codebook[quantized_indices]Para consultar en profundidad cómo calcular distancias entre tensores de forma nativa y optimizar estas operaciones, consulta la documentación oficial de PyTorch sobre cdist.
Mejora de los flujos de trabajo con la plataforma Ultralytics#
La integración de embeddings optimizados en tu pipeline requiere herramientas sólidas. La plataforma Ultralytics proporciona un entorno integral para seleccionar y organizar datos de entrenamiento y entrenar modelos de visión de última generación. Al agilizar la gestión de datos y simplificar la implementación de modelos, los desarrolladores pueden generar fácilmente características visuales de alta calidad adecuadas para la cuantización vectorial, lo que permite aplicaciones más rápidas de detección de objetos y recuperación de contenido multimedia a gran escala.









