Ir al contenido principal

¿Qué es una base de datos vectorial?

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

por Personal de Databricks

  • Una base de datos vectorial almacena información como vectores de alta dimensión para que las aplicaciones puedan buscar por significado y similitud en textos, imágenes y otros datos no estructurados, en lugar de solo por palabras clave exactas.
  • Las organizaciones utilizan bases de datos vectoriales para la búsqueda semántica, recomendaciones, sistemas de preguntas y respuestas y otros casos de uso de AI a medida que crecen los datos no estructurados, ya que admiten la recuperación basada en similitud en grandes conjuntos de datos.
  • Databricks AI Search proporciona una base de datos vectorial administrada que se integra con el lakehouse, automatiza la generación e ingesta de vectores, y añade gobernanza y seguridad para las cargas de trabajo de AI en producción.

¿Qué es una base de datos vectorial?

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.

¿Cuándo debería usar una base de datos vectorial?

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).

¿Qué es un vector?

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.

¿Qué es la incrustación de vectores?

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.

¿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 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:

  1. Vectorización: Este primer paso consiste en generar embeddings 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 (o vectores) similares se coloquen cerca unas de otras en el espacio vectorial.
  2. Indexación de vectores: El siguiente paso diferencia a las bases de datos vectoriales de las tradicionales. Se aplican algoritmos de ML, como la cuantificación de productos o Hierarchical Navigable Small World (HNSW), a los datos para mapear los vectores a nuevas estructuras de datos. Estas estructuras permiten búsquedas de similitud o distancia más rápidas, como 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 una recuperación rápida de vectores similares.
  3. Ejecución de consultas: En la etapa final, el vector de consulta inicial se compara con los vectores indexados en la base de datos. El sistema recupera los vectores con las relaciones más sólidas, encontrando de manera efectiva la información más relevante basada en la similitud semántica en lugar de coincidencias exactas de palabras clave.

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.

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 métricas de distancia o similitud de vectores, 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 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 conscientes del contexto, 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 concurrencia al manejar grandes volúmenes de datos, las bases de datos vectoriales están diseñadas para manejar grandes cantidades de datos. Las bases de datos vectoriales mejoran la escalabilidad mediante el uso de técnicas como el sharding, la partición, el almacenamiento en caché y la replicación para distribuir la carga de trabajo y optimizar la utilización de recursos en múltiples máquinas o clusters.
  • 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 AI conversacional, las bases de datos vectoriales se pueden personalizar para satisfacer una variedad de requisitos comerciales.
  • Rentabilidad: 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 computacionalmente intensiva y requerir mucho tiempo, las bases de datos vectoriales utilizan embeddings de modelos para procesar el conjunto de datos (dataset) de manera más eficiente.
  • Integración con ML: Las bases de datos vectoriales facilitan que los modelos de ML recuerden entradas anteriores, lo que permite que el ML impulse motores de búsqueda semántica, clasificación y recomendación. Los datos se pueden identificar en función de métricas de similitud en lugar de coincidencias exactas, lo que hace posible que un modelo comprenda el contexto de los datos.

Cinco casos de uso de bases de datos vectoriales

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:

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 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.

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 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.

Procesamiento del 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. 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.

Sistemas de recomendación y personalización

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.

Detección de fraudes

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.

Desafíos comunes de las bases de datos vectoriales

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.

Nuevas pipelines de datos

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.

Mayor seguridad y gobernanza

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.

Alto nivel de conocimiento técnico

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.

Informe

La guía de IA agéntica para la empresa

Bases de datos vectoriales frente a bases de datos de grafos

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.

¿Cuál es la diferencia entre un índice vectorial y una base de datos vectorial?

Un índice vectorial y una base de datos vectorial desempeñan funciones distintas pero complementarias en el manejo de datos de alta dimensión.

  • Índice vectorial: Un índice vectorial es una estructura de datos especializada diseñada para facilitar búsquedas rápidas de similitud entre embeddings vectoriales. Mejora significativamente la velocidad de búsqueda al organizar los vectores de una manera que permite una recuperación eficiente. Ejemplos de índices vectoriales incluyen Facebook AI Similarity Search (FAISS), HNSW y locality-sensitive hashing (LSH). Estos índices se pueden utilizar como procesos algorítmicos independientes o integrarse en sistemas más grandes para optimizar las operaciones de búsqueda.
  • Base de datos vectorial: Por otro lado, una base de datos vectorial es una solución integral de gestión de datos que no solo incorpora la indexación vectorial, sino que también proporciona funcionalidades adicionales como el almacenamiento de datos; operaciones de creación, lectura, actualización y eliminación (CRUD); filtrado de metadatos; y escalado horizontal. Está diseñada para gestionar y consultar embeddings vectoriales de manera eficiente, admitiendo operaciones complejas y garantizando la integridad y seguridad de los datos.

Tendencias futuras para las bases de datos vectoriales

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.

  • Mayor integración con modelos de ML: La relación entre las bases de datos vectoriales y los modelos de ML es objeto de una creciente investigación. Estos esfuerzos tienen como objetivo reducir el tamaño y la dimensionalidad de los vectores, minimizando los requisitos de almacenamiento para grandes conjuntos de datos y aumentando la eficiencia computacional.
  • Personalización de RAG: RAG es un enfoque utilizado para mejorar el contexto proporcionado a un LLM en casos de uso de GenAI, incluidas aplicaciones de chatbot y de preguntas y respuestas generales. La base de datos vectorial se utiliza para mejorar el prompt enviado al LLM agregando contexto adicional junto con la consulta.
  • Búsqueda multivectorial: Se espera una mayor 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 combinar puntuaciones individuales, pero este enfoque puede ser computacionalmente costoso, ya que aumenta la cantidad de cálculos de distancia requeridos.
  • Búsqueda híbrida: La evolución de los sistemas de búsqueda ha llevado a una creciente adopción 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 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.

¿Dónde puedo encontrar más información sobre las bases de datos vectoriales y la búsqueda vectorial?

Hay muchos recursos disponibles para encontrar más información sobre las bases de datos vectoriales y la búsqueda vectorial, entre ellos:

Blogs

eBooks

Demos

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

Recibe las últimas publicaciones en tu bandeja de entrada

Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.