Base de datos vectorial
¿Qué es una base de datos de vectores?
Una base de datos de vectores es una base de datos especializada diseñada para almacenar y gestionar datos como vectores de alta dimensión. El término proviene de los vectores, que son representaciones matemáticas de características o atributos contenidos en los datos. A diferencia de las bases de datos tradicionales, que son adecuadas para manejar datos estructurados organizados en filas y columnas, la estructura de la base de datos de vectores organiza la información como representaciones vectoriales con un número fijo de dimensiones agrupadas según su similitud.
Cada vector dentro de una base de datos vectorial consta de un número específico de dimensiones, que puede variar desde unas pocas docenas hasta varios miles. El número de dimensiones depende de la complejidad y la granularidad de los datos. Esta estructura permite a las bases de datos de vectores manejar eficientemente información compleja y multifacética y realizar búsquedas y análisis rápidos basados en la similitud.
Más temas para descubrir
¿Cuándo debería usar una base de datos vectorial?
Según la International Data Corporation (IDC), el 80 % de los nuevos datos que se crearán en el mundo para 2025 serán datos no estructurados, como texto, imágenes y video. Los modelos basados en el aprendizaje, como las redes neuronales profundas, se utilizan cada vez más para gestionar estos datos no estructurados en aplicaciones de todos los sectores, desde el comercio electrónico hasta la atención médica. Estas aplicaciones funcionan convirtiendo los datos no estructurados en vectores de embeddings. Una vez que los datos han sido “vectorizados”, tareas como las búsquedas, la formulación de recomendaciones y el análisis pueden implementarse mediante la Búsqueda vectorial basada en la similitud. La gestión de los datos vectoriales se realiza en bases de datos vectoriales.
Saber cuándo usar las bases de datos de vectores depende de los otros procesos y tecnologías que utilizas. Son un componente clave para potenciar muchos sistemas de IA, y algunas (pero no todas) las aplicaciones de modelos de lenguaje grandes (LLM) usan bases de datos vectoriales para realizar búsquedas rápidas de similitud o para proporcionar contexto o conocimiento de dominio. Por ejemplo, desempeñan un papel fundamental en la generación aumentada por recuperación (RAG), un enfoque en el que la base de datos vectorial se usa para mejorar el prompt que se pasa al LLM agregando contexto adicional junto con la consulta.
Las bases de datos vectoriales también permiten la búsqueda híbrida. Este enfoque combina la búsqueda tradicional basada en palabras clave con la búsqueda por similitud semántica para localizar información relevante incluso cuando las palabras clave no coinciden exactamente. Las bases de datos vectoriales también se pueden usar para varias tareas de procesamiento de lenguaje natural (NLP), incluido el análisis semántico y de opiniones, o en el entrenamiento de modelos de machine learning (ML).
¿Qué es un vector?
Un vector es un array numérico de alta dimensión que expresa la ubicación de un punto en particular en varias dimensiones. Imagina un espacio vectorial de palabras como una nube tridimensional donde las palabras se representan como puntos. En este espacio, las palabras con significados relacionados se agrupan. Por ejemplo, el punto que representa a “manzana” estaría ubicado más cerca de “pera” que de “auto”. Esta disposición espacial refleja las relaciones semánticas entre las palabras, donde la proximidad indica similitud de significado.
¿Qué es la incrustación de vectores?
Se genera un vector al aplicar una función de embedding a los datos sin procesar para transformarlos en una representación. A estas representaciones se las llama “embeddings” porque un modelo de ML toma una agrupación representativa y la incrusta en un espacio vectorial. Los vectores se incrustan como listas de números, lo que facilita que los modelos de ML realicen operaciones con los datos. De hecho, el rendimiento de los métodos de ML depende fundamentalmente de la calidad de las representaciones vectoriales. Un párrafo de texto completo o un grupo de números pueden reducirse a un vector, lo que permite que el modelo realice operaciones de manera eficiente.
¿Cómo funcionan las bases de datos vectoriales?
Las bases de datos vectoriales están diseñadas para almacenar, indexar y consultar datos de manera eficiente a través de incrustaciones vectoriales de alta dimensión. Una vez que un usuario ingresa una consulta o solicitud en la base de datos vectorial, comienza la siguiente secuencia de procesos:
- Vectorización: este primer paso implica generar incrustaciones a partir de contenido multimodal, que podría incluir texto, imágenes, audio o video. Este proceso captura las relaciones semánticas en los datos. Por ejemplo, en los datos de texto, este proceso garantiza que las palabras con significados similares (o vectores) se coloquen cerca unas de otras en el espacio vectorial.
- Indexación de vectores: el siguiente paso diferencia a las bases de datos vectoriales de las bases de datos tradicionales. Se aplican algoritmos de ML, como la cuantización de productos o el Hierarchical Navigable Small World (HNSW), a los datos para mapear los vectores a nuevas estructuras de datos. Estas estructuras permiten búsquedas más rápidas de similitud o distancia, como las búsquedas de vecinos más cercanos entre vectores. Este proceso de indexación es esencial para el rendimiento de la base de datos, ya que permite la recuperación rápida de vectores similares.
- Ejecución de consultas: en la etapa final, el vector de consulta inicial se compara con los vectores indexados de la base de datos. El sistema recupera los vectores con las relaciones más fuertes y, de este modo, encuentra la información más relevante basándose en la similitud semántica en lugar de en coincidencias exactas de palabras clave.
Estos procesos permiten que las bases de datos vectoriales realicen búsquedas semánticas y recuperaciones basadas en similitud, lo que las hace ideales para aplicaciones como sistemas de recomendación, reconocimiento de imágenes y video, análisis de texto y detección de anomalías.
Beneficios de las bases de datos vectoriales
Las bases de datos vectoriales ofrecen una variedad de beneficios:
- Alta velocidad y rendimiento: Las bases de datos vectoriales pueden localizar rápidamente datos similares utilizando la distancia vectorial o las métricas de similitud, un proceso que es fundamental para el NLP, la visión por computadora y los sistemas de recomendación. A diferencia de las bases de datos tradicionales, que se limitan a coincidencias exactas o a criterios predefinidos, las bases de datos vectoriales capturan el significado semántico y contextual. Esto optimiza la recuperación de datos al permitir la realización de búsquedas más matizadas y contextualizadas que van más allá de la simple coincidencia de palabras clave.
- Escalabilidad: mientras que las bases de datos tradicionales pueden enfrentar desafíos con cuellos de botella de escalabilidad, problemas de latencia o conflictos de simultaneidad al manejar big data, las bases de datos de vectores están creadas para manejar enormes cantidades de datos. Las bases de datos de vectores mejoran la escalabilidad mediante el uso de técnicas como sharding, particionamiento, almacenamiento en caché y replicación para distribuir la carga de trabajo y optimizar la utilización de recursos en varias máquinas o clústeres.
- Versatilidad: ya sea que los datos contengan imágenes, videos u otros datos multimodales, las bases de datos vectoriales están diseñadas para ser versátiles. Dada su capacidad para manejar múltiples casos de uso, que van desde la búsqueda semántica hasta las aplicaciones de IA conversacional, las bases de datos vectoriales se pueden personalizar para satisfacer una variedad de requisitos empresariales.
- Económico: las bases de datos vectoriales ofrecen costos más bajos debido a su manejo eficiente de datos de alta dimensión. A diferencia de la consulta directa a los modelos de ML, que puede ser costosa computacionalmente y llevar mucho tiempo, las bases de datos vectoriales usan embeddings de modelos para procesar el conjunto de datos de forma más eficiente.
- Integración con el ML: las bases de datos vectoriales facilitan que los modelos de ML recuerden entradas anteriores, lo que permite que el ML potencie los motores de búsqueda semántica, clasificación y recomendación. Los datos se pueden identificar según métricas de similitud en lugar de coincidencias exactas, lo que hace posible que un modelo entienda el contexto de los datos.
Cinco casos de uso de las bases de datos vectoriales
Las bases de datos de vectores se utilizan en diversas industrias para una amplia gama de aplicaciones y casos de uso. Estos son algunos de los ejemplos más comunes de bases de datos vectoriales:
Modelos de lenguaje grande (LLM)
El auge de los LLM para tareas como la recuperación de información, junto con la creciente popularidad de las plataformas de comercio electrónico y recomendación, requiere sistemas de gestión de bases de datos vectoriales que puedan ofrecer capacidades de optimización de consultas para datos no estructurados.
En las aplicaciones multimodales, los datos se incrustan y almacenan en bases de datos vectoriales, lo que facilita la recuperación eficiente de representaciones vectoriales. Cuando un usuario envía una consulta de texto, el sistema usa tanto el LLM como la base de datos de vectores: el LLM proporciona capacidades de NLP, mientras que los algoritmos de la base de datos de vectores realizan búsquedas de vecino más cercano aproximado. Este enfoque puede producir mejores resultados en comparación con el uso de cualquiera de los componentes por separado.
Las bases de datos vectoriales se aplican cada vez más a los LLM a través de RAG, lo que permite una mayor explicabilidad al aplicar contexto a los resultados de los LLM. Las instrucciones del usuario pueden aumentarse mediante la inclusión de contexto para mitigar los desafíos principales de los LLM, como las alucinaciones o los sesgos.
Reconocimiento de imágenes
Las bases de datos vectoriales pueden desempeñar un papel clave en el reconocimiento de imágenes al almacenar embeddings de alta dimensión de imágenes generados por modelos de ML. Como las bases de datos vectoriales están optimizadas para tareas de búsqueda por similitud, esto las hace ideales para aplicaciones como la detección de objetos, el reconocimiento facial y la búsqueda de imágenes.
Las bases de datos de vectores están optimizadas para la recuperación rápida de contexto a través de la similitud. Las plataformas de comercio electrónico pueden utilizar bases de datos de vectores para encontrar productos con atributos visuales similares, mientras que los sitios de redes sociales pueden sugerir imágenes relacionadas a los usuarios. Un ejemplo ilustrativo es Pinterest, donde las bases de datos de vectores potencian el descubrimiento de contenido al representar cada imagen como un vector de alta dimensión. Cuando un usuario fija una imagen de un atardecer en la costa, el sistema puede buscar rápidamente en su base de datos de vectores para sugerir imágenes visualmente similares, como otros paisajes de playa o atardeceres.
Procesamiento de lenguaje natural (NLP)
Las bases de datos vectoriales han revolucionado el NLP al permitir el almacenamiento y la recuperación eficientes de representaciones de palabras distribuidas. Los modelos como Word2Vec, GloVe y BERT se entrenan con conjuntos de datos de texto masivos para generar embeddings de palabras de alta dimensión que capturan relaciones semánticas, que luego se almacenan en bases de datos vectoriales para un acceso rápido.
Como permiten búsquedas rápidas de similitud, las bases de datos de vectores permiten a los modelos encontrar palabras o frases contextualmente relevantes. Esta capacidad es particularmente valiosa para tareas como la búsqueda semántica, la respuesta a preguntas, la clasificación de texto y la extracción de entidades nombradas. Además, las bases de datos vectoriales pueden almacenar embeddings a nivel de oración, lo que permite capturar los contextos de las palabras y lograr una comprensión más matizada del lenguaje.
Sistemas de recomendación y personalización
Una vez que se entrena una base de datos vectorial con un modelo de embedding, se puede utilizar para generar recomendaciones personalizadas. Cuando un usuario interactúa con el sistema, su comportamiento y preferencias se utilizan para generar el embedding del usuario. Por ejemplo, un usuario puede pedirle a un LLM una recomendación de una serie de TV y la base de datos de vectores puede sugerir series de TV que tengan tramas o calificaciones similares a las preferencias del usuario. Las series de TV con los embeddings más cercanos a la codificación del usuario se recomiendan en consecuencia.
Detección de fraude
Las instituciones financieras usan bases de datos vectoriales para detectar transacciones fraudulentas. Las bases de datos vectoriales permiten a las empresas comparar los vectores de transacciones con patrones de fraude conocidos en tiempo real. La escalabilidad de las bases de datos vectoriales también les permite gestionar el riesgo y obtener nueva información valiosa sobre el comportamiento del consumidor. Estas bases de datos pueden identificar patrones que indican actividades al codificar los datos de las transacciones como vectores. Además, facilitan la evaluación de la solvencia crediticia y la segmentación de consumidores mediante el análisis de datos para mejorar el proceso de toma de decisiones.
Desafíos comunes de las bases de datos vectoriales
A pesar de sus muchos beneficios y casos de uso, para comprender por completo las bases de datos vectoriales también se deben tener en cuenta sus desafíos.
- Nuevos pipelines de datos
Las bases de datos vectoriales requieren canalizaciones eficientes de ingesta de datos donde los datos brutos y sin procesar de diversas fuentes puedan limpiarse, procesarse e integrarse con un modelo de ML antes de almacenarse como vectores en la base de datos.
Databricks Vector Search aborda este desafío al ofrecer una solución integral. Automatiza la generación, gestión y optimización de vectores, y gestiona la sincronización en tiempo real de los datos de origen con los índices de vectores correspondientes. El software gestiona las fallas, optimiza el rendimiento y realiza el ajuste automático del tamaño de los lotes y el autoescalado sin necesidad de intervención manual.
Este enfoque reduce la necesidad de pipelines de ingesta de datos separados, minimizando el “trabajo pesado de los desarrolladores” y permitiendo que los equipos se centren en tareas de más alto nivel que añaden valor de negocio directamente, en lugar de pasar tiempo construyendo y manteniendo procesos complejos de preparación de datos.
- Mayor seguridad y gobernanza.
Las bases de datos vectoriales requieren seguridad adicional, controles de acceso y gobernanza de datos, además del mantenimiento y la gestión necesarios. Las organizaciones empresariales requieren una seguridad estricta y controles de acceso sobre los datos para que los usuarios no puedan acceder a los modelos de GenAI que se vinculan a datos confidenciales.
Muchas de las bases de datos vectoriales actuales no cuentan con controles de seguridad y acceso robustos, o bien requieren que las organizaciones creen y mantengan un conjunto separado de políticas de seguridad. Databricks Vector Search proporciona una interfaz unificada que define políticas de datos para hacer un seguimiento automático del linaje de datos sin necesidad de herramientas adicionales. Esto garantiza que los modelos de LLM no expongan datos confidenciales a usuarios que no deberían tener acceso.
- Alto nivel de conocimiento técnico
Como ofrecen potentes capacidades para búsquedas de similitud y el manejo de datos de alta dimensionalidad, las bases de datos vectoriales son herramientas esenciales para los científicos de datos que trabajan con modelos de IA y ML. Databricks Vector Search se destaca como una base de datos de vectores sin servidor que elimina la necesidad de configuración manual, lo que permite a los científicos de datos centrarse en el trabajo principal en lugar de la gestión de la infraestructura.
Las ventajas clave de Databricks Vector Search incluyen una integración perfecta con la arquitectura lakehouse, la ingesta de datos automatizada y resultados hasta cinco veces más rápidos en comparación con otras bases de datos de vectores populares. También es compatible con las herramientas existentes de gobernanza de datos y seguridad a través de Unity Catalog, lo que garantiza la protección de datos y el cumplimiento.
Databricks Vector Search ofrece flexibilidad tanto para usuarios principiantes como avanzados, con escalado automatizado para la ingesta y consulta de datos, así como API plug-and-replace para aquellos que prefieren más control sobre sus pipelines. Esta combinación de facilidad de uso y potente rendimiento simplifica la creación de una base de datos de vectores para los científicos de datos de todos los niveles de experiencia.
Bases de datos vectoriales vs. bases de datos de grafos
Las bases de datos vectoriales organizan los datos como puntos en un espacio vectorial multidimensional. Cada punto representa un dato, y su ubicación refleja sus características en relación con otros datos. Esta estructura de base de datos vectorial se adapta bien a muchas aplicaciones de GenAI, ya que los LLM generan las incrustaciones vectoriales y los datos se pueden buscar y recuperar fácilmente.
Por el contrario, las bases de datos de grafos organizan los datos almacenándolos en una estructura de grafos. Las entidades se representan como nodos en un grafo, mientras que las conexiones entre estos puntos de datos se representan como aristas. La estructura de grafos permite que los elementos de datos en el almacén sean una colección de nodos y aristas, donde las aristas representan las relaciones entre los nodos. La estructura interconectada de las bases de datos de grafos las hace idóneas para situaciones donde las conexiones entre los puntos de datos son tan importantes como los datos mismos.
¿Cuál es la diferencia entre un índice vectorial y una base de datos vectorial?
Un índice vectorial y una base de datos vectorial cumplen funciones distintas, pero complementarias, en el manejo de datos de alta dimensión.
- Índice vectorial: un índice vectorial es una estructura de datos especializada que se diseñó para facilitar las búsquedas rápidas por similitud entre embeddings vectoriales. Mejora significativamente la velocidad de búsqueda al organizar los vectores de una manera que permite una recuperación eficiente. Algunos ejemplos de índices vectoriales son Facebook AI Similarity Search (FAISS), HNSW y el hashing sensible a la localidad (LSH). Estos índices pueden utilizarse como procesos algorítmicos independientes o integrarse en sistemas más grandes para optimizar las operaciones de búsqueda.
- Base de datos de vectores: Por otro lado, una base de datos de vectores es una solución integral de gestión de datos que no solo incorpora la indexación de vectores, sino que también proporciona funcionalidades adicionales como almacenamiento de datos, operaciones de creación, lectura, actualización y eliminación (CRUD), filtrado de metadatos y escalamiento horizontal. Está diseñada para gestionar y consultar incrustaciones vectoriales de manera eficiente, soportando operaciones complejas y garantizando la integridad y seguridad de los datos.
Tendencias futuras para las bases de datos vectoriales
El reciente auge de los LLM y de las aplicaciones de GenAI en general ha contribuido a un consiguiente aumento en la adopción de bases de datos de vectores. A medida que las aplicaciones de AI maduran, el desarrollo de nuevos productos y las necesidades cambiantes de los usuarios definirán la dirección de las tendencias futuras en las bases de datos vectoriales. Sin embargo, existen algunas direcciones generalmente previstas para esta tecnología.
- Mayor integración con los modelos de ML: La relación entre las bases de datos de vectores y los modelos de ML es objeto de una investigación cada vez mayor. Estos esfuerzos buscan reducir el tamaño y la dimensionalidad de los vectores, lo que minimiza los requisitos de almacenamiento para grandes conjuntos de datos y aumenta la eficiencia computacional.
- Personalización de RAG: RAG es un enfoque que se usa para mejorar el contexto que se proporciona a un LLM en casos de uso de GenAI, como las aplicaciones de chatbot y de preguntas y respuestas generales. La base de datos vectorial se utiliza para mejorar el prompt que se le pasa al LLM agregando contexto adicional junto con la consulta.
- Búsqueda multivectorial: se espera más investigación sobre la mejora de las capacidades de búsqueda multivectorial, lo cual es importante para aplicaciones como el reconocimiento facial. Las técnicas actuales a menudo se basan en la combinación de puntuaciones individuales, but this approach can be computationally expensive as it increases the number of distance calculations required.
- Búsqueda híbrida: la evolución de los sistemas de búsqueda ha llevado a una adopción cada vez mayor de enfoques híbridos que combinan los métodos tradicionales basados en palabras clave con las técnicas modernas de recuperación de vectores.
Cómo crear una base de datos vectorial con Databricks
Databricks Mosaic AI Vector Search es la solución de base de datos vectorial integrada de Databricks para la plataforma de inteligencia de datos. Este sistema totalmente integrado elimina la necesidad de canalizaciones de ingesta de datos separadas y aplica controles de seguridad y mecanismos de gobernanza de datos, lo que garantiza una protección coherente en todos los activos de datos.
Databricks Vector Search ofrece una experiencia de alto rendimiento y lista para usar, lo que permite a los LLM recuperar rápidamente resultados relevantes con una latencia mínima. Los usuarios se benefician del escalamiento y la optimización automáticos, lo que elimina la necesidad de un ajuste manual de la base de datos. Esta integración optimiza el proceso de almacenar, gestionar y consultar incrustaciones de vectores, lo que facilita que las organizaciones implementen aplicaciones de IA, como los sistemas de recomendación y las búsquedas semánticas, mientras se mantienen los estándares de seguridad y gobernanza de datos.
¿Dónde puedo encontrar más información sobre las bases de datos vectoriales y la búsqueda vectorial?
Existen muchos recursos disponibles para encontrar más información sobre las bases de datos vectoriales y la búsqueda vectorial, entre ellos:
Blogs
- Búsqueda híbrida en la Búsqueda vectorial de Mosaic AI
- Versión preliminar pública de Databricks Vector Search
- Crear aplicaciones de RAG de alta calidad con Databricks
- Mejora la calidad de respuesta de las aplicaciones de RAG con datos estructurados en tiempo real
- Crea aplicaciones de IA generativa más rápido con las nuevas capacidades de modelos fundacionales
- Mejores prácticas para la evaluación de aplicaciones RAG en LLM
- Uso de MLflow AI Gateway y Llama 2 para crear aplicaciones de IA generativa (logra una mayor precisión mediante la generación aumentada por recuperación (RAG) con tus propios datos)
Libros electrónicos
Demostraciones
Contacta a Databricks para agendar una demo y hablar con alguien sobre tus LLM y bases de datos de vectores.


