Inicio

Temas

Base de datos vectorial

¿Qué es una base de datos vectorial?
Explore la solución de base de datos vectorial de IBM Suscríbase al boletín Think
Ilustración con collage de pictogramas de nubes, gráfico circular, gráficos

Actualizado: 29 de julio de 2024
Colaboradores: Jim Holdsworth y Matthew Kosinski

¿Qué es una base de datos vectorial?

Una base de datos vectorial almacena, gestiona e indexa datos vectoriales de alta dimensión. Los puntos de datos se almacenan como matrices de números llamados "vectores", que se agrupan con base en la similitud. Este diseño permite consultas de baja latencia, lo que lo hace ideal para aplicaciones de IA.

Las bases de datos vectoriales están teniendo cada vez más popularidad porque ofrecen la velocidad y el rendimiento necesarios para impulsar casos de uso y aplicaciones de inteligencia artificial generativa (IA). Según Gartner, para 2026, más del 30 % de las empresas habrán adoptado bases de datos vectoriales para construir sus modelos fundacionales con datos comerciales relevantes.1

Bases de datos vectoriales frente a datos tradicionales 

A diferencia de las bases de datos relacionales tradicionales con filas y columnas, los puntos de datos en una base de datos vectorial están representados por vectores con un número fijo de dimensiones. Debido a que utilizan incrustaciones vectoriales de alta dimensión, las bases de datos vectoriales son más capaces de manejar conjuntos de datos no estructurados.

La naturaleza de los datos ha sufrido una profunda transformación. Ya no se limita a la información estructurada que se almacena fácilmente en las bases de datos tradicionales. Los datos no estructurados,incluidas publicaciones en redes sociales, imágenes, videos, clips de audio y más, están creciendo entre un 30 % y un 60 % año tras año.2

Las bases de datos relacionales se destacan en la gestión de conjuntos de datos estructurados y semiestructurados en formatos específicos. La carga de fuentes de datos no estructurados en una base de datos relacional tradicional con el fin de almacenar, administrar y preparar los datos para la inteligencia artificial (IA) es un proceso laborioso, especialmente con nuevos casos de uso generativos como la búsqueda de similitudes.

La búsqueda tradicional suele representar datos mediante tokens o características discretas, como palabras clave, etiquetas o metadatos. Las búsquedas tradicionales se basan en coincidencias exactas para recuperar resultados relevantes. Por ejemplo, una búsqueda de "smartphone" arrojaría resultados que contienen la palabra "smartphone".

Contrario a esto, la búsqueda vectorial representa los datos como vectores densos, que son vectores con la mayoría o todos los elementos que son distintos a cero. Los vectores se representan en un espacio vectorial continuo, el espacio matemático en el que los datos se representan como vectores.

Las representaciones vectoriales permiten la búsqueda de similitudes. Por ejemplo, una búsqueda vectorial de "teléfono inteligente" también podría arrojar resultados para "teléfono móvil" y "dispositivos móviles".

Cada dimensión del vector denso corresponde a una característica o aspecto latente de los datos. Una característica latente es una característica o atributo subyacente que no se observa de manera directa, sino que se infiere de los datos a través de modelos matemáticos o algoritmos.

Los rasgos latentes capturan los patrones y relaciones ocultos en los datos, lo que permite representaciones más significativas y precisas de los elementos como vectores en un espacio de alta dimensión.

Cómo elegir el modelo fundacional de IA adecuado

Utilice este marco de selección de modelos para elegir el modelo más apropiado mientras equilibra sus requisitos de rendimiento con los costos, los riesgos y las necesidades de despliegue.

Contenido relacionado Regístrese para obtener el libro electrónico sobre almacenes de datos de IA
¿Qué son los vectores?

Los vectores son un subconjunto de tensores, que en machine learning (ML) es un término genérico para un grupo de números, o una agrupación de grupos de números, en un espacio n-dimensional. Los tensores funcionan como un dispositivo matemático de contabilidad de datos. A partir del elemento más pequeño:

  • Un escalar es un tensor cero dimensional que contiene un solo número. Por ejemplo, un sistema que modele datos meteorológicos puede representar la temperatura máxima de un día (en grados Fahrenheit) en forma escalar como 85.

  • Entonces, un vector es un tensor unidimensional (o de primer grado o de primer orden), que contiene múltiples escalares del mismo tipo de datos. Por ejemplo, un modelo meteorológico podría usar las temperaturas bajas, medias y altas de un solo día en forma vectorial: 62, 77, 85. Cada componente escalar es una característica , es decir, una dimensión, del vector, que representa una característica del clima de ese día.

Los números vectoriales pueden representar objetos complejos como palabras, imágenes, videos y audio generados por un modelo de machine learning. Estos datos vectoriales de alta dimensión, que contienen múltiples características, son esenciales para el machine learning, el procesamiento del lenguaje natural (NLP) y otras tareas de IA. Algunos ejemplos de usos de los datos vectoriales incluyen: 

  • Texto: los chatbots deben comprender el lenguaje natural. Para ello, se basan en vectores que representan palabras, párrafos y documentos completos.

  • Imágenes: los pixeles de una imagen pueden describirse mediante datos numéricos y combinarse para formar un vector de alta dimensión para esa imagen. 

  • Voz o audio: al igual que las imágenes, las ondas de sonido también se pueden descomponer en datos numéricos y representar como vectores, lo que permite aplicaciones de IA como el reconocimiento de voz. 
¿Qué son las incrustaciones vectoriales? 

Las incrustaciones de vectores son representaciones numéricas de puntos de datos que convierten varios tipos de datos, incluidos datos no matemáticos, como palabras, audio o imágenes, en matrices de números que los modelos de machine learning pueden procesar.

Los modelos de inteligencia artificial (IA), desde los simples algoritmos de regresión lineal hasta las intrincadas redes neuronales que se utilizan en el deep learning, operan a través de la lógica matemática.

Cualquier dato que utilice un modelo de IA, incluidos los datos no estructurados, debe registrarse numéricamente. La incrustación de vectores es una forma de convertir un punto de datos no estructurado en una matriz de números que expresa el significado original de esos datos.

Aquí hay un ejemplo simplificado de incrustaciones de palabras para un cuerpo muy pequeño (2 palabras), donde cada palabra se representa como un vector tridimensional:

  • cat          [0.2, -0.4, 0.7]
  • dog         [0.6, 0.1, 0.5]

En este ejemplo, cada palabra ("cat") está asociada con un vector único ([0.2, -0.4, 0.7]). Los valores en el vector representan la posición de la palabra en un espacio vectorial tridimensional continuo.

Se espera que las palabras con significados o contextos similares tengan representaciones vectoriales similares. Por ejemplo, los vectores de "gato" y "perro" están muy juntos, lo que refleja su relación semántica.

Los modelos de incrustación se entrenan para convertir puntos de datos en vectores. Las bases de datos vectoriales almacenan e indexan las salidas de estos modelos de incrustación. Dentro de la base de datos, los vectores se pueden agrupar o identificar como opuestos según el significado semántico o las características de prácticamente cualquier tipo de datos.

Las incrustaciones de vectores son la columna vertebral de las recomendaciones, los chatbots y las aplicaciones generativas como ChatGPT.

Por ejemplo, tome las palabras "automóvil" y "vehículo". Tienen significados similares pero se escriben de manera diferente. Para que una aplicación de IA permita una búsqueda semántica eficaz, las representaciones vectoriales de "automóvil" y "vehículo" deben capturar su similitud semántica. En machine learning, las incrustaciones representan vectores de alta dimensión que codifican esta información semántica. 

Tutorial: implemente la IA generativa en la automatización inteligente del flujo de trabajo con la plataforma IBM watsonx
¿Cómo se usan las bases de datos vectoriales?

Las bases de datos vectoriales cumplen tres funciones clave en las aplicaciones de IA y ML:

  • Almacenamiento vectorial
  • Indexación vectorial
  • Búsqueda de similitud basada en consultas o indicaciones

En operación, las bases de datos vectoriales funcionan utilizando múltiples algoritmos para realizar una búsqueda aproximada del vecino más cercano (ANN). Luego, los algoritmos se reúnen en un pipeline para recuperar y entregar de forma rápida y precisa los datos vecinos al vector que se consulta.

Por ejemplo, una búsqueda aproximada del vecino más cercano (ANN) podría buscar productos que sean visualmente similares en un catálogo de comercio electrónico. Los usos adicionales incluyen detección de anomalías, clasificación y búsqueda semántica. Debido a que un conjunto de datos se ejecuta a través de un modelo solo una vez, los resultados se devuelven en milisegundos.

Almacenamiento vectorial

Las bases de datos vectoriales almacenan los resultados de un algoritmo de modelo de incrustación, las incrustaciones vectoriales. También almacenan los metadatos de cada vector, incluidos el título, la descripción y el tipo de datos, que se pueden consultar mediante filtros de metadatos.

Al ingerir y almacenar estas incrustaciones, la base de datos puede facilitar la recuperación rápida de una búsqueda de similitud, haciendo coincidir la solicitud del usuario con una incrustación vectorial similar. 

Indexación vectorial

Los vectores deben indexarse para acelerar las búsquedas dentro de espacios de datos de alta dimensión. Las bases de datos vectoriales crean índices en incrustaciones vectoriales para funciones de búsqueda.

La base de datos vectorial indexa vectores mediante un algoritmo de ML. La indexación asigna los vectores a nuevas estructuras de datos que permiten búsquedas más rápidas de similitud o distancia, como búsquedas de vecinos más cercanos , entre vectores.

Los vectores se pueden indexar mediante el uso de algoritmos como el pequeño mundo navegable jerarquizado (HNSW), el hashing sensible a la localidad (LSH) o la cuantificación del producto (PQ).

  • El HNSW es popular porque crea una estructura arborescente. Cada nodo del árbol muestra un conjunto de vectores completo con las jerarquías de cada uno. Las similitudes entre vectores se muestran en los bordes entre los nodos.

  • El LSH indexa el contenido mediante una búsqueda aproximada del vecino más cercano. Para mayor velocidad, el índice se puede optimizar devolviendo un resultado aproximado, pero no exhaustivo.

  • PQ convierte cada conjunto de datos en una representación breve y eficiente en memoria. Solo se almacenan las representaciones cortas, en lugar de todos los vectores.
Búsqueda de similitud basada en consultas o indicaciones

Los vectores de búsqueda son representaciones vectoriales de consultas de búsqueda. Cuando un usuario consulta o solicita un modelo de IA, el modelo calcula una incrustación de la consulta o solicitud. Luego, la base de datos calcula las distancias entre los vectores de consulta y los vectores almacenados en el índice para devolver resultados similares.

Las bases de datos pueden medir la distancia entre vectores con varios algoritmos, como la búsqueda del vecino más cercano. Las mediciones también pueden basar en varias métricas de similitud, como la similitud del coseno.

La base de datos devuelve los vectores más similares o los vecinos más cercanos al vector de consulta según la clasificación de similitud. Estos cálculos soportan diversas tareas de machine learning como sistemas de recomendación, búsqueda semántica, reconocimiento de imágenes y otras tareas de procesamiento del lenguaje natural. 

Ventajas de las bases de datos vectoriales

Las bases de datos vectoriales son una forma popular de potenciar las aplicaciones empresariales basadas en IA porque pueden ofrecer muchos beneficios:

  • Velocidad y rendimiento
  • Escalabilidad
  • Menor costo de propiedad
  • Gestión de datos
  • Flexibilidad
Velocidad y rendimiento

Las bases de datos vectoriales utilizan varias técnicas de indexación para permitir una búsqueda más rápida. La indexación vectorial y los algoritmos de cálculo de distancia, como la búsqueda del vecino más cercano, pueden ayudar a optimizar el rendimiento al buscar resultados relevantes entre los grandes conjuntos de datos con millones, si no es que miles de millones, de puntos de datos.

Una consideración es que las bases de datos vectoriales proporcionan resultados aproximados. Las aplicaciones que requieren mayor precisión podrían necesitar utilizar un tipo diferente de base de datos a costa de una velocidad de procesamiento más lenta.

Escalabilidad

Las bases de datos vectoriales pueden almacenar y gestionar cantidades masivas de datos no estructurados escalando horizontalmente con nodos adicionales, manteniendo el rendimiento a medida que aumentan las demandas de consultas y los volúmenes de datos.

Menor costo de propiedad

Debido a que permiten una recuperación de datos más rápida, las bases de datos vectoriales aceleran el entrenamiento de los modelos fundacionales.

Gestión de datos

Las bases de datos vectoriales suelen proporcionar funciones integradas para actualizar e insertar fácilmente nuevos datos no estructurados. 

Flexibilidad

Las bases de datos vectoriales están diseñadas para manejar la complejidad adicional de usar imágenes, videos u otros datos multidimensionales.

Dados los múltiples casos de uso que van desde la búsqueda semántica hasta las aplicaciones de IA conversacional, bases de datos vectoriales se puede personalizar para cumplir con los requisitos del negocio y de IA. Las organizaciones pueden comenzar con modelos de uso general, como los modelos de la serie IBM Granite, Llama-2 de Meta o los modelos Flan de Google, y luego proporcionar sus propios datos en una base de datos vectorial para mejorar el resultado de los modelos y las aplicaciones de IA.

Consideraciones para las bases de datos vectoriales y su estrategia de datos

Las organizaciones tienen una amplia variedad de opciones al elegir una capacidad de base de datos vectorial. A fin de encontrar una que satisfaga sus necesidades de datos e IA, muchas organizaciones consideran:

  • Tipos de bases de datos vectoriales
  • Integración con un ecosistema de datos
  • Cuando la indexación vectorial no es óptima
  • Herramientas para crear y desplegar bases de datos vectoriales
Tipos de bases de datos vectoriales

Hay varias alternativas entre las que elegir.

  • Bases de datos independientes, propietarias y totalmente vectorizadas, como Pinecone.

  • Soluciones de código abierto como Weaviate o Milvus, que proporcionan API RESTful integradas y soporte para los lenguajes de programación Python y Java.

  • Plataformas con capacidades de bases de datos vectoriales integradas, como IBM watsonx.data.

  • Base de datos vectorial y extensiones de búsqueda de bases de datos, como la extensión pgvector de código abierto de PostgreSQL, que proporciona capacidades de búsqueda de similitud vectorial. Una base de datos vectorial SQL puede combinar los beneficios de una base de datos SQL tradicional con la potencia de una base de datos vectorial.
Integración con un ecosistema de datos

Las bases de datos vectoriales no deben considerarse capacidades independientes, sino más bien una parte de su ecosistema más amplio de datos e IA.

Muchos ofrecen API, extensiones nativas o pueden integrarse con sus bases de datos. Debido a que las bases de datos vectoriales están diseñadas para utilizar datos empresariales con el fin de mejorar los modelos, las organizaciones también deben contar con una gobernanza y seguridad de datos adecuadas para ayudar a garantizar que se pueda confiar en los datos usados en el entrenamiento de modelos de lenguaje de gran tamaño (LLM). 

Más allá de las API, muchas bases de datos vectoriales usan kits de desarrollo de software (SDK) específicos del lenguaje de programación que pueden envolver las API. Con los SDK, para los desarrolladores más fácil trabajar con los datos de sus aplicaciones.

Cuando la indexación vectorial no es óptima

El uso de un almacén vectorial y un índice es adecuado para aplicaciones basadas en hechos o consultas basadas en hechos, como la extracción de información específica de documentos complejos. 

Sin embargo, pedir un resumen de los temas no funcionaría bien con un índice vectorial. En este caso, un LLM analizaría todos los contextos posibles sobre ese tema dentro de los datos.

Una opción más rápida sería usar un tipo diferente de índice, como un índice de lista en lugar de un índice vectorial, ya que un índice de lista obtendría inmediatamente el primer elemento de cada lista.

Herramientas para crear y desplegar bases de datos vectoriales

Para optimizar el desarrollo de bases de datos vectoriales, LangChain es una infraestructura de orquestación de código abierto para desarrollar aplicaciones que usan LLM.

Disponibles en bibliotecas basadas en Python y Javascript, las herramientas y API de LangChain simplifican el proceso de creación de aplicaciones impulsadas por LLM, como chatbots y agentes virtuales.LangChain proporciona integraciones para más de 25 métodos de incrustación diferentes, y para más de 50 tiendas vectoriales diferentes (tanto alojadas en la nube como locales). 

Para potenciar la IA de nivel empresarial, un lago de datos podría combinarse con una base de datos vectorial integrada. Las organizaciones pueden unificar, conservar y preparar incrustaciones vectorizadas para sus aplicaciones de IA generativa a escala a través de sus datos gobernados y de confianza. Esto mejora la relevancia y precisión de sus cargas de trabajo de IA, incluidos chatbots, sistemas de recomendación personalizados y aplicaciones de búsqueda por similitud de imágenes.

Casos de uso de bases de datos vectoriales

Las aplicaciones para las bases de datos vectoriales son amplias y están creciendo. Algunos casos casos de uso de claves incluyen:

  • Generación aumentada de recuperación (RAG)
  • IA conversacional
  • Motores de recomendación
  • Búsqueda vectorial
Generación aumentada de recuperación (RAG)

La generación aumentada de recuperación (RAG) es una infraestructura de IA que permite que los modelos de lenguaje de gran tamaño (LLM) recuperen datos de una base de conocimiento externa. Las bases de datos vectoriales son clave para respaldar las implementaciones de RAG.

Las empresas prefieren cada vez más RAG en los flujos de trabajo de IA generativa por su tiempo de comercialización más rápido, inferencia eficiente y resultados confiables. La infraestructura es particularmente útil en casos de uso como atención al cliente, RR. HH. y gestión de talento.

RAG ayuda a garantizar que un modelo esté vinculado a los datos más actuales y confiables, y que los usuarios tengan acceso a las fuentes del modelo para que se puedan verificar sus afirmaciones. Anclar el LLM en datos confiables puede ayudar a reducir las alucinaciones del modelo.

RAG usa datos vectoriales de alta dimensión para enriquecer las instrucciones con información semánticamente relevante para el aprendizaje en contexto mediante modelos fundacionales. Requiere almacenamiento y recuperación efectivos durante la etapa de inferencia, que maneja el mayor volumen de datos.

Las bases de datos vectoriales se destacan por indexar, almacenar y recuperar de manera eficiente estos vectores de alta dimensión, proporcionando la velocidad, precisión y escala necesarias para aplicaciones tales como motores de recomendación y chatbots.

IA conversacional

Las bases de datos vectoriales, especialmente cuando se usan para implementar infraestructuras RAG, pueden ayudar a mejorar las interacciones de los agentes virtuales al reforzar la capacidad del agente para analizar las bases de conocimiento relevantes de manera eficiente y precisa. Los agentes pueden proporcionar respuestas contextuales en tiempo real a las consultas de los usuarios, junto con los documentos de origen y los números de página como referencia.

Motores de recomendación

Los sitios de comercio electrónico, por ejemplo, pueden usar vectores para representar las preferencias de los clientes y los atributos del producto. Esto les permite sugerir artículos similares a compras anteriores basándose en la similitud vectorial, mejorando la experiencia del usuario y aumentando la retención.

Búsqueda vectorial

Esta técnica de búsqueda se utiliza para descubrir elementos o puntos de datos similares, normalmente representados como vectores, en grandes colecciones. La búsqueda vectorial puede capturar las relaciones semánticas entre elementos, lo que permite un procesamiento eficaz mediante modelos de machine learning y aplicaciones de inteligencia artificial. 

Estas búsquedas pueden tomar varias formas.

  • Búsqueda semántica: Realice búsquedas basadas en el significado o contexto de una consulta, lo que permite obtener resultados más precisos y relevantes. Dado que tanto las palabras como las frases pueden representar como vectores, las funciones de búsqueda de vectores semánticos comprenden la intención del usuario mejor que las palabras clave generales. 

  • Búsqueda y aplicaciones de similitudes: encuentre imágenes, audio, video o datos de texto similares para dar soporte al reconocimiento avanzado de imágenes y voz y el procesamiento de lenguaje natural. Las imágenes y el video se pueden indexar y recuperar en función de la similitud.
Solutions
watsonx

IBM watsonx es una plataforma de datos e IA creada para las empresas. Cree oportunamente aplicaciones de IA personalizadas para su negocio, gestione todas las fuentes de datos y acelere los flujos de trabajo de IA responsables, todo en una sola plataforma. 

Más información sobre watsonx

IBM Cloud Databases for Elasticsearch

IBM Cloud Databases for Elsearch combina la flexibilidad de un motor de búsqueda de texto completo con la potencia de una base de datos de documentos JSON. Al combinar modelos integrados de machine learning (ML) con nodos de ML especializados, tipos de datos y algoritmos de búsqueda, IBM Cloud Databases for Elasticsearch está listo para potenciar a su empresa.

Más información sobre IBM Cloud Databases for Elasticsearch
IBM Cloud Databases for PostgreSQL

IBM Cloud Databases for PostgreSQL, una oferta de base de datos como servicio PostgreSQL, permite a los equipos dedicar más tiempo a la creación con alta disponibilidad, la orquestación de copias de seguridad, la recuperación de un punto en el tiempo (PITR) y la réplica de lectura con facilidad.

Más información sobre IBM Cloud Databases for PostgreSQL
Recursos Cómo los modelos fundacionales y los almacenes de datos liberan el potencial comercial de la IA generativa

Las organizaciones que utilizan modelos de IA generativa correctamente pueden ver una gran cantidad de beneficios, desde una mayor eficiencia operativa y una mejor toma de decisiones hasta la rápida creación de contenido de marketing.

Asistentes de IA generativa de IBM: la guía completa del comprador 2024

Use esta guía para comprender qué hacen mejor los asistentes de IA de IBM y para quién, cómo compararlos con otros y cómo comenzar.

¿Qué es la generación aumentada de recuperación?

RAG es un marco de inteligencia artificial para recuperar datos de una base de conocimiento externa para fundamentar a los LLM en la información más precisa y actualizada y brindar a los usuarios información sobre el proceso generativo de los LLM.

Dé el siguiente paso

Escale cargas de trabajo de IA para todos sus datos, en cualquier lugar, con IBM watsonx.data, un almacén de datos adecuado para su propósito creado sobre una arquitectura de lakehouse de datos abierta.

Explore watsonx.data Reserve una demostración en vivo
Notas de pie de página

Todos los enlaces se encuentran fuera de ibm.com

1 Gartner Innovation Insight: Vector DatabasesGartner, 4 de septiembre de 2023.

2 2024 Strategic Roadmap for StorageGartner, 27 de mayo de 2024.