Base de datos especializada para almacenar y consultar embeddings vectoriales de alta dimensión, lo que permite una búsqueda de similitud eficiente y potencia aplicaciones de AI como RAG
Una base de datos vectorial 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 muy adecuadas para manejar datos estructurados organizados en filas y columnas, la estructura de la base de datos vectorial 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 granularidad de los datos. Esta estructura permite a las bases de datos vectoriales manejar de manera eficiente información compleja y multifacética, y realizar búsquedas y análisis rápidos basados en la similitud.
Según la International Data Corporation (IDC), el 80% de los nuevos datos creados en todo el mundo para 2025 serán datos no estructurados, como texto, imágenes y video. Los modelos basados en aprendizaje, como las redes neuronales profundas, se utilizan cada vez más para gestionar estos datos no estructurados en aplicaciones de diversos sectores, desde el comercio electrónico hasta la atención médica. Estas aplicaciones funcionan convirtiendo los datos no estructurados en vectores de incrustación (embeddings). Una vez que los datos han sido “vectorizados”, las tareas como las búsquedas, la generación de recomendaciones y el análisis se pueden implementar a través de AI Search basada en similitud. La gestión de los datos vectoriales se realiza en bases de datos vectoriales.
Saber cuándo usar bases de datos vectoriales depende de los otros procesos y tecnologías que esté utilizando. Son un componente clave para impulsar muchos sistemas de AI, y algunas (pero no todas) las aplicaciones de modelos de lenguaje grande (LLM) utilizan bases de datos vectoriales para realizar búsquedas rápidas de similitud o para proporcionar contexto o conocimiento del dominio. Por ejemplo, desempeñan un papel crucial en la generación aumentada por recuperación (RAG), un enfoque en el que la base de datos vectorial se utiliza para mejorar el prompt enviado al LLM al agregar 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 de 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 utilizar para una serie de tareas de procesamiento de lenguaje natural (NLP), incluidos el análisis semántico y de sentimiento, o en el entrenamiento de modelos de machine learning (ML).
Un vector es un arreglo numérico de alta dimensión que expresa la ubicación de un punto particular a través de varias dimensiones. Imagine 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 “manzana” se ubicaría 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 en el significado.
Un vector se genera aplicando una función de incrustación (embedding) a los datos brutos para transformarlos en una representación. Estas representaciones se denominan “embeddings” porque un modelo de ML toma un grupo representativo y lo 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 entero de texto o un grupo de números se puede reducir a un vector, lo que permite al modelo realizar operaciones de manera eficiente.
Las bases de datos vectoriales están diseñadas para almacenar, indexar y consultar datos de manera eficiente a través de embeddings de vectores de alta dimensión. Una vez que un usuario introduce una consulta o solicitud en la base de datos vectorial, esta comienza la siguiente secuencia de procesos:
Estos procesos permiten a las bases de datos vectoriales realizar 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.
Las bases de datos vectoriales ofrecen una variedad de beneficios:
Las bases de datos vectoriales se utilizan en diversos sectores para una amplia gama de aplicaciones y casos de uso. Estos son algunos de los ejemplos más comunes de bases de datos vectoriales:
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 se almacenan en bases de datos vectoriales, lo que facilita la recuperación eficiente de las representaciones vectoriales. Cuando un usuario envía una consulta de texto, el sistema utiliza tanto el LLM como la base de datos vectorial: el LLM proporciona capacidades de NLP, mientras que los algoritmos de la base de datos vectorial realizan búsquedas de vecinos más cercanos aproximados. Este enfoque puede producir mejores resultados en comparación con el uso de cualquiera de los componentes de forma aislada.
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 las salidas del LLM. Los prompts de los usuarios se pueden aumentar mediante la inclusión de contexto para mitigar los desafíos principales de los LLM, como la alucinación o el sesgo.
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 generadas por modelos de ML. Dado que las bases de datos vectoriales están optimizadas para tareas de búsqueda de 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 vectoriales están optimizadas para la recuperación rápida de contexto mediante similitud. Las plataformas de comercio electrónico pueden utilizar bases de datos vectoriales para encontrar productos con atributos visuales similares, mientras que las redes sociales pueden sugerir imágenes relacionadas a los usuarios. Un ejemplo ilustrativo es Pinterest, donde las bases de datos vectoriales impulsan 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 vectorial para sugerir imágenes visualmente similares, como otros paisajes de playa o atardeceres.
Las bases de datos vectoriales han revolucionado el NLP al permitir el almacenamiento y la recuperación eficientes de representaciones de palabras distribuidas. 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, las cuales luego se almacenan en bases de datos vectoriales para un acceso rápido.
Al permitir búsquedas rápidas de similitud, las bases de datos vectoriales permiten que los modelos encuentren palabras o frases contextualmente relevantes. Esta capacidad es especialmente valiosa para tareas como la búsqueda semántica, la respuesta a preguntas, la clasificación de textos y la extracción de entidades nombradas. Además, las bases de datos vectoriales pueden almacenar embeddings a nivel de oración, capturando los contextos de las palabras y permitiendo una comprensión del lenguaje más matizada.
Una vez que se entrena una base de datos vectorial utilizando 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 serie de televisión y la base de datos vectorial puede sugerir series de televisión que tengan tramas o calificaciones similares a las preferencias del usuario. Las series de televisión con embeddings más cercanos a la codificación del usuario se recomiendan en consecuencia.
Las instituciones financieras utilizan bases de datos vectoriales para detectar transacciones fraudulentas. Las bases de datos vectoriales permiten a las empresas comparar 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 adquirir nuevos conocimientos sobre el comportamiento del consumidor. Estas bases de datos pueden identificar patrones que indican actividades sospechosas codificando 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.
A pesar de sus muchos beneficios y casos de uso, una comprensión completa de las bases de datos vectoriales también debe incluir sus desafíos.
Las bases de datos vectoriales requieren pipelines de ingesta de datos eficientes donde los datos brutos y no procesados de diversas fuentes puedan limpiarse, procesarse e incrustarse con un modelo de ML antes de almacenarse como vectores en la base de datos.
Databricks AI Search aborda este desafío ofreciendo una solución integral. Automatiza la generación, gestión y optimización de vectores, controlando la sincronización en tiempo real de los datos de origen con los índices vectoriales correspondientes. El software gestiona fallos, optimiza el rendimiento y realiza el ajuste automático del tamaño de lote y el escalado automático sin necesidad de intervención manual.
Este enfoque reduce la necesidad de pipelines de ingesta de datos independientes, lo que minimiza el “trabajo repetitivo del desarrollador” y permite a los equipos centrarse en tareas de mayor nivel que aportan valor empresarial directo, en lugar de dedicar tiempo a crear y mantener procesos complejos de preparación de datos.
Las bases de datos vectoriales requieren seguridad adicional, controles de acceso y gobernanza de datos, junto con el mantenimiento y la gestión necesarios. Las organizaciones empresariales requieren controles de acceso y seguridad estrictos sobre los datos para que los usuarios no puedan acceder a modelos de GenAI que se vinculen a datos confidenciales.
Muchas bases de datos vectoriales actuales no cuentan con controles de acceso y seguridad robustos, o requieren que las organizaciones creen y mantengan un conjunto independiente de políticas de seguridad. Databricks AI Search proporciona una interfaz unificada que define políticas de datos para realizar un seguimiento automático del linaje de datos sin necesidad de herramientas adicionales. Esto garantiza que los LLMs no expongan datos confidenciales a usuarios que no deberían tener acceso.
Al ofrecer potentes capacidades para búsquedas de similitud y el manejo de datos de alta dimensión, las bases de datos vectoriales son herramientas esenciales para los científicos de datos que trabajan con modelos de AI y ML. Databricks AI Search se destaca como una base de datos vectorial serverless que elimina la necesidad de configuración manual, lo que permite a los científicos de datos centrarse en su trabajo principal en lugar de en la gestión de la infraestructura.
Las ventajas clave de Databricks AI Search incluyen una integración perfecta con la arquitectura de lakehouse, ingesta de datos automatizada y resultados hasta cinco veces más rápidos en comparación con otras bases de datos vectoriales populares. También es compatible con las herramientas de seguridad y gobernanza de datos existentes a través de Unity Catalog, lo que garantiza la protección de datos y el cumplimiento normativo.
Databricks AI Search ofrece flexibilidad tanto para usuarios principiantes como avanzados, con escalado automatizado para la ingesta de datos y consultas, así como APIs plug-and-replace para aquellos que prefieren un mayor control sobre sus pipelines. Esta combinación de facilidad de uso y rendimiento potente simplifica la creación de una base de datos vectorial para científicos de datos de todos los niveles de experiencia.
Las bases de datos vectoriales organizan los datos como puntos en un espacio vectorial multidimensional. Cada punto representa un fragmento de datos y la ubicación refleja sus características en relación con otros fragmentos de datos. Esta estructura de base de datos vectorial se adapta bien a muchas aplicaciones de GenAI, ya que los embeddings vectoriales son generados por LLMs 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 grafo. 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 grafo 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 muy adecuadas para escenarios donde las conexiones entre los puntos de datos son tan importantes como los propios datos.
Un índice vectorial y una base de datos vectorial desempeñan funciones distintas pero complementarias en el manejo de datos de alta dimensión.
El auge reciente de los LLMs y de las aplicaciones de GenAI en general ha contribuido a un aumento concomitante en la adopción de bases de datos vectoriales. A medida que las aplicaciones de AI continúan madurando, el desarrollo de nuevos productos y las necesidades cambiantes de los usuarios decidirán la dirección de las tendencias futuras en las bases de datos vectoriales; sin embargo, existen algunas direcciones generalmente esperadas para esta tecnología.
Databricks AI Search es la solución de base de datos vectorial integrada de Databricks para la Data Intelligence Platform. Este sistema totalmente integrado elimina la necesidad de canalizaciones de ingesta de datos independientes y aplica controles de seguridad y mecanismos de gobernanza de datos, lo que garantiza una protección constante en todos los activos de datos.
Databricks AI Search proporciona 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 escalado y la optimización automáticos, lo que elimina la necesidad de realizar ajustes manuales en la base de datos. Esta integración agiliza el proceso de almacenamiento, gestión y consulta de embeddings vectoriales, lo que facilita a las organizaciones la implementación de aplicaciones de IA, como sistemas de recomendación y búsquedas semánticas, al tiempo que mantiene los estándares de seguridad y gobernanza de datos.
Hay muchos recursos disponibles para encontrar más información sobre las bases de datos vectoriales y la búsqueda vectorial, entre ellos:
Póngase en contacto con Databricks para programar una demo y hablar con alguien sobre sus LLM y bases de datos vectoriales.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.