Tendencias emergentes en la investigación y el desarrollo de bases de datos vectoriales
Presentadas por primera vez con Milvus en 2019, las bases de datos vectoriales han cobrado protagonismo rápidamente junto con la aparición de los grandes modelos de lenguaje (LLMs) y el auge de las aplicaciones de IA generativa (GenAI). Como ingeniero profundamente involucrado en este sector, he sido testigo de su evolución desde implementaciones básicas de algoritmos de búsqueda aproximada de vecinos más cercanos (ANNS) hasta sofisticados sistemas de bases de datos integrales para los frameworks modernos de IA, desde implementaciones de nicho hasta despliegues amplios.
A medida que la IA sigue madurando, ¿hacia dónde se dirige el futuro de las bases de datos vectoriales? En mi opinión, el desarrollo de esta tecnología está intrincadamente ligado a la evolución del producto, impulsado por las demandas cambiantes de los usuarios. Comprender estos cambios es crucial para orientar la trayectoria y los objetivos de los desarrollos tecnológicos.
En este artículo, analizaré el desarrollo y el futuro previsto de las bases de datos vectoriales desde perspectivas tanto técnicas como prácticas, centrándome en la rentabilidad y los requisitos empresariales.
Separación del almacenamiento de datos calientes y fríos
Los costos han sido durante mucho tiempo una preocupación importante en la adopción más amplia de las bases de datos vectoriales. Estos costos se originan principalmente en dos áreas:
Almacenamiento de datos: Tradicionalmente, las bases de datos vectoriales almacenan en caché todos los datos en memoria o en discos locales para lograr una baja latencia. Sin embargo, en la era de la IA, donde las aplicaciones manejan con frecuencia volúmenes de datos de miles de millones, este enfoque puede consumir enormes cantidades de recursos de almacenamiento, que van desde decenas hasta cientos de terabytes.
Cómputo de datos: En los sistemas de bases de datos distribuidas, debemos particionar los datos en numerosos segmentos pequeños para mejorar la gestión de conjuntos de datos extensos. Cada segmento se procesa de forma independiente para recuperar datos, que luego se analizan colectivamente para compilar los resultados finales Top-K. Este método de particionamiento aumenta significativamente la complejidad de ejecutar consultas. Por ejemplo, si segmentamos datos que suman miles de millones en fragmentos de 10 GB, se generan alrededor de 10.000 segmentos, lo que amplifica la demanda computacional por un factor de diez mil.
El tiempo de respuesta de los LLMs convencionales.
El tiempo de respuesta de los LLMs convencionales. Fuente de la imagen: https://artificialanalysis.ai/models
Sin embargo, en la ola de construcción de aplicaciones de generación aumentada por recuperación (RAG), la latencia de las bases de datos vectoriales ha dejado de ser un problema para usuarios individuales o inquilinos únicos en plataformas ToC. El retraso asociado con las operaciones de bases de datos vectoriales—que va desde unos pocos milisegundos hasta varios cientos de milisegundos—es mínimo en comparación con la latencia, a menudo superior a un segundo, típica de los grandes modelos de lenguaje. Además, el costo del almacenamiento de objetos en la nube es significativamente menor que el de los discos locales y la memoria, lo que impulsa la búsqueda de soluciones innovadoras para optimizar el almacenamiento y la eficiencia computacional.
Almacenamiento: Para minimizar los costos, los datos deben almacenarse en el almacenamiento de objetos en la nube más económico y recuperarse bajo demanda para las consultas.
Cómputo: Al refinar el alcance de las consultas de antemano, podemos reducir la necesidad de procesamiento de datos a gran escala, mejorando la eficiencia operativa.
En Zilliz, estamos agregando mejoras a Zilliz Cloud (el Milvus totalmente gestionado) que permiten a los usuarios reducir costos mientras mantienen la latencia en niveles aceptables.
Adoptar innovaciones de hardware para mejorar el rendimiento y la rentabilidad
El hardware sirve como columna vertebral de los avances tecnológicos, mejorando el rendimiento y la rentabilidad de las bases de datos vectoriales.
Avance de las tecnologías GPU
Las bases de datos vectoriales, conocidas por sus intensas demandas computacionales, han experimentado mejoras sustanciales de rendimiento gracias a los avances en las GPU. La percepción de que las GPU son prohibitivamente caras está siendo revertida. Los algoritmos mejorados son adecuados para las tareas de búsqueda vectorial y permiten operaciones de baja latencia y rentables.
Nuestras pruebas muestran que, al usar el índice CAGRA basado en GPU, la base de datos vectorial Milvus alcanza niveles de rendimiento de varias a decenas de veces superiores que al usar el índice HNSW basado en CPU, siendo solo de dos a tres veces más costosa. Este resultado demuestra que las GPU se convierten en una opción viable y económicamente eficiente para el procesamiento de datos, proporcionando ventajas de rendimiento significativas frente a las configuraciones tradicionales con CPU.
Resultados de pruebas de VectorDBBench
Resultados de pruebas de VectorDBBench
CPU: m6id.2xlarge T4: g4dn.2xlarge A10G: g5.2xlarge Top 100 Recall: 98%
Aparición de las CPU basadas en ARM en la computación en la nube
La adopción de CPU basadas en ARM, como Graviton de AWS y Ampere de GCP, no solo marca un cambio hacia soluciones de computación más eficientes energéticamente y más rentables, sino que también plantea un desafío sólido a la arquitectura x86 convencional. Estos procesadores ofrecen costos más bajos a la vez que brindan un rendimiento comparable o superior, lo que le asegura que está tomando una decisión inteligente para sus necesidades informáticas.
Nuestras evaluaciones de AWS Graviton3 han demostrado su rendimiento y rentabilidad superiores en relación con los procesadores x86. En particular, la rápida iteración de estas CPU, como se observa con el lanzamiento de Graviton4 en 2023 —apenas un año después de Graviton3— destaca un aumento del 30% en la potencia de cómputo y un incremento del 70% en el ancho de banda de memoria.
Avances en tecnologías de almacenamiento
Utilizar discos para el almacenamiento de datos permite que las bases de datos vectoriales amplíen significativamente su capacidad mientras mantienen latencias a nivel de milisegundos, que son adecuadas para la mayoría de las aplicaciones de búsqueda vectorial. Además, el costo asociado con el almacenamiento en disco sigue siendo sustancialmente menor que el de la memoria, lo que lo convierte en una opción atractiva para operaciones intensivas en datos.
En general, estos desarrollos de hardware impulsan las capacidades de las bases de datos vectoriales y garantizan que sigan siendo potentes y económicamente viables a medida que evolucionan.
Colaboración con modelos avanzados de aprendizaje automático
Los modelos de aprendizaje automático, que producen incrustaciones vectoriales, también están experimentando transformaciones significativas. Estos avances tienen como objetivo reducir el tamaño y la dimensionalidad de los vectores, minimizando así los requisitos de almacenamiento para grandes conjuntos de datos e impulsando la eficiencia computacional.
Los métodos tradicionales para reducir la dimensionalidad vectorial a menudo conducían a una precisión comprometida en la recuperación de datos. Sin embargo, las innovaciones recientes ofrecen alternativas viables. Por ejemplo, el modelo ext-embedding-3-large de OpenAI permite a los usuarios ajustar las dimensiones de los vectores de salida mediante parámetros configurables. Esta flexibilidad permite una reducción considerable del tamaño de los vectores con un impacto mínimo en la eficacia de las tareas posteriores. Además, Cohere ha actualizado recientemente su tecnología para admitir vectores que generan múltiples tipos de datos —como float, int8 y binario— todos a la vez, mejorando la versatilidad operativa.
Estos avances destacan la necesidad de que las bases de datos vectoriales interactúen con estas tecnologías emergentes y las incorporen de manera proactiva. Hacerlo es crucial para mantener una ventaja competitiva en los campos dinámicos y en constante cambio del aprendizaje profundo y la gestión de datos.
Priorizar la precisión de la recuperación vectorial
La precisión de la recuperación vectorial se ha vuelto cada vez más importante y exigente, en particular con la creciente integración de bases de datos vectoriales tanto en entornos de producción como en aplicaciones RAG de vanguardia. A medida que las bases de datos vectoriales evolucionan, la búsqueda por mejorar la calidad y la precisión de la búsqueda ha llevado a la adopción de tecnologías innovadoras. Entre ellas, el modelo de recuperación ColBERT y las técnicas avanzadas de búsqueda vectorial híbrida son fundamentales para mitigar la pérdida de información y perfeccionar las recuperaciones específicas de dominio.
El surgimiento de modelos de recuperación avanzados como ColBERT
El modelo de recuperación ColBERT es reconocido por su eficiencia al manejar la pérdida de información típicamente asociada con la arquitectura voluminosa de los modelos tradicionales de doble torre. ColBERT utiliza un enfoque de interacción tardía basado en vectores de tokens para evitar las ineficiencias de las configuraciones totalmente conectadas. Su iteración más reciente, ColBERTv2, optimiza aún más este proceso al integrar la recuperación vectorial, acelerando significativamente la tasa de interacción.
La arquitectura general de ColBERT, dada una consulta q y un documento d..png
La arquitectura general de ColBERT, dada una consulta q y un documento d.
Fuente de la imagen: https://arxiv.org/pdf/2004.12832.pdf
Búsqueda híbrida: un puente entre técnicas de vectores dispersos y densos
Los vectores densos tradicionales, a menudo derivados de modelos de lenguaje como BERT, destacan al capturar matices semánticos, pero pueden fallar con vocabulario nuevo o términos especializados ausentes de los datos de entrenamiento. Si bien el ajuste fino del modelo puede mitigar estas limitaciones, implementarlo en tiempo real sigue siendo costoso y desafiante. Por el contrario, los vectores dispersos de algoritmos tradicionales de coincidencia de palabras clave como BM25 abordan eficazmente estos problemas fuera de dominio.
Los modelos de embeddings dispersos emergentes como SPLADE y M3-Embedding de BGE combinan la precisión de la coincidencia exacta de términos con la naturaleza integral de los métodos de recuperación densa. Estos modelos generan vectores dispersos que preservan la eficacia de la coincidencia de palabras clave mientras incorporan información semántica más rica, mejorando la calidad general de la recuperación.
El cambio hacia sistemas de búsqueda híbrida que aprovechan métodos de recuperación por palabras clave y vectorial ha sido una práctica de larga data en la industria. Con los últimos avances en tecnología de vectores dispersos, integrar estos en bases de datos vectoriales para admitir la recuperación híbrida se considera cada vez más una práctica recomendada. En particular, la base de datos vectorial Milvus ha adoptado este enfoque en sus actualizaciones recientes.
Tomando como ejemplo M3-Embedding de BGE, puede realizar simultáneamente las tres funcionalidades comunes de recuperación del modelo de embedding: recuperación densa, recuperación multivectorial y recuperación dispersa. La tabla siguiente muestra la calidad de recuperación al realizar diferentes tipos de búsquedas vectoriales. La calidad de recuperación de la recuperación híbrida dispersa y densa es mucho mayor que la de aquellas que dependen únicamente de la recuperación densa y dispersa.
Evaluación en NarrativeQA (nDCG@10)
Evaluación en NarrativeQA (nDCG@10)
Fuente de la imagen: https://arxiv.org/abs/2402.03216
Nota: La calidad de la recuperación suele evaluarse utilizando NDCG (Normalized Discounted Cumulative Gain), que evalúa la eficacia de los sistemas de clasificación para proporcionar a los usuarios listas de elementos útiles. El valor de K en NDCG, como 5, 10 o 25, indica el número de elementos mejor clasificados evaluados, lo que proporciona información sobre la precisión del sistema de recuperación en diferentes niveles. Por ejemplo, NDCG@10 evalúa la clasificación de los 5 elementos principales.
Optimización de bases de datos vectoriales para casos de uso offline
Aunque el enfoque actual de las bases de datos vectoriales se centra predominantemente en aplicaciones online como Retrieval-Augmented Generation (RAG) y búsquedas de similitud de imágenes, su potencial en casos de uso offline es enorme, aunque infrautilizado.
Las aplicaciones online suelen manejar pequeños volúmenes de datos con alta frecuencia y requisitos de latencia estrictos, que a menudo exigen respuestas en cuestión de segundos, incluso en entornos sensibles a los costes y de rendimiento mínimo. Por el contrario, las aplicaciones offline suelen realizar tareas de procesamiento de datos a gran escala, como la deduplicación de datos y la minería de características, donde la duración de las tareas puede extenderse de minutos a horas.
Estos son algunos desafíos y formas de abordarlos con bases de datos vectoriales en el uso offline:
Eficiencia computacional: A diferencia de los casos de uso online, que priorizan la baja latencia para cada consulta, las tareas offline requieren una alta eficiencia computacional en grandes lotes de datos. Lograr una baja latencia es particularmente crítico en los componentes offline de los sistemas de búsqueda y recomendación. Mejorar la densidad computacional, por ejemplo, mediante la indexación con GPU, puede mejorar significativamente el manejo de consultas de datos extensas en estos escenarios.
Devolución de grandes volúmenes de datos: En las aplicaciones de minería de datos, la recuperación vectorial ayuda a los modelos a reconocer situaciones específicas. Estas tareas con frecuencia requieren recuperar volúmenes sustanciales de datos, lo que plantea problemas de ancho de banda y eficiencia algorítmica, especialmente para búsquedas Top-K grandes. Desarrollar soluciones eficientes para gestionar estas recuperaciones a gran escala es crucial para respaldar aplicaciones sólidas de bases de datos vectoriales offline.
Al abordar estos desafíos, las bases de datos vectoriales pueden estar mejor preparadas para respaldar una gama más amplia de aplicaciones, extendiendo su utilidad más allá de los entornos online.
Ampliación de conjuntos de funciones en bases de datos vectoriales para diversas industrias
A medida que la adopción de bases de datos vectoriales se expande en diferentes sectores, la diversa gama de aplicaciones exige el desarrollo de funciones especializadas adaptadas para abordar requisitos específicos de cada industria. La versatilidad de las bases de datos vectoriales exige capacidades personalizadas para optimizar su rendimiento y funcionalidad ante los desafíos únicos que enfrenta cada dominio. Estas mejoras satisfacen los requisitos únicos de diferentes campos y mejoran la funcionalidad y versatilidad generales de las bases de datos vectoriales en entornos de producción. Estos son algunos ejemplos de cómo las bases de datos vectoriales están evolucionando para satisfacer estas demandas:
Aplicaciones biofarmacéuticas: El uso de vectores binarios para recuperar fórmulas moleculares de fármacos se está volviendo habitual en la industria biofarmacéutica. Los vectores binarios permiten una búsqueda y correspondencia eficientes de estructuras químicas complejas, facilitando procesos rápidos de descubrimiento y desarrollo de fármacos.
Necesidades del sector financiero: A diferencia de muchas industrias que buscan las coincidencias vectoriales más cercanas, el sector financiero a menudo requiere identificar los vectores más atípicos. Esta capacidad es crucial para detectar anomalías y posible fraude, donde las mayores desviaciones respecto de la norma son de mayor interés.
Funcionalidad de Range Search: Range Search permite a los usuarios definir un umbral de similitud para adaptarse a casos de uso en los que el número exacto de resultados relevantes es impredecible. El sistema devuelve entonces todos los resultados que superan este umbral, garantizando una alta relevancia y precisión en los datos recuperados.
Funcionalidades de Groupby y agregación: Para datos no estructurados extensos, como películas o artículos largos, las bases de datos vectoriales deben producir y manejar vectores segmentados por fotogramas o secciones de texto. Esta segmentación requiere capacidades robustas de Groupby y agregación para garantizar que los resultados cumplan eficazmente con criterios específicos del usuario.
Compatibilidad con modelos multimodales: El cambio hacia modelos multimodales introduce vectores de distribuciones variables, lo que presenta desafíos para los algoritmos de recuperación tradicionales. Las bases de datos vectoriales están evolucionando para adaptarse a estos diversos tipos de datos, garantizando una recuperación efectiva en diferentes modalidades.
Estas adaptaciones específicas de la industria destacan la naturaleza dinámica de las bases de datos vectoriales, que están evolucionando para satisfacer las demandas complejas y variadas de las aplicaciones modernas en distintos sectores.
Conclusión
Durante el último año, las bases de datos vectoriales han experimentado avances rápidos, lo que refleja una maduración significativa en sus casos de uso y capacidades intrínsecas. A medida que avanzamos hacia la era impulsada por la IA, estos desarrollos están preparados para acelerarse, anunciando una nueva ola de innovaciones en el almacenamiento, la búsqueda y la gestión de datos.
Esta visión general busca arrojar luz sobre las tendencias transformadoras y las funciones emergentes en las bases de datos vectoriales, ofreciendo perspectivas que podrían inspirar más innovación en este campo. A medida que navegamos por estos emocionantes cambios, el viaje colectivo hacia la mejora de las bases de datos vectoriales promete transformar nuestro panorama tecnológico, permitiendo soluciones basadas en datos más sofisticadas y eficientes.
Sigamos explorando e innovando juntos, abrazando el prometedor futuro de las bases de datos vectoriales con entusiasmo y espíritu de colaboración.
Sigue leyendo

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.



