¿Qué es una base de datos vectorial?

29 de julio de 2024

Autores

Matthew Kosinski

Enterprise Technology Writer

¿Qué es una base de datos vectorial?

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

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

Bases de datos vectoriales frente a bases de 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 experimentado 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—como publicaciones en redes sociales, imágenes, videos, clips de audio y más— crecen 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".

Por el contrario, la búsqueda vectorial representa los datos como vectores densos, es decir, vectores en los que la mayoría o todos los elementos son distintos de 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 directamente, sino que se infiere de los datos a través de modelos matemáticos o algoritmos.

Las características 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.

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA 


Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿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 para los datos. Trabajando desde el elemento más pequeño:

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

  • Entonces, un vector es un tensor unidimensional (o de primer grado o primer orden), que contiene varios escalares del mismo tipo de datos. Por ejemplo, un modelo meteorológico podría emplear las temperaturas mínimas, medias y máximas 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 (ML). Estos datos vectoriales de alta dimensión, que contienen múltiples características, son esenciales para machine learning, procesamiento de lenguaje natural (PLN) 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.
Mixture of Experts | Podcast

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

¿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 (ML) pueden procesar.

Los modelos de IA, desde los simples algoritmos de regresión hasta las intrincadas neural networks empleadas en aprendizaje profundo, funcionan 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 "cat" y "dog" 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 basesde 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.

¿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 operaciones, las bases de datos vectoriales funcionan mediante el uso de múltiples algoritmos para realizar una búsqueda aproximada del vecino más cercano (ANN). A continuación, los algoritmos se recopilan en una tubería para recuperar y entregar datos de forma rápida y precisa junto 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 instrucción 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 un modelo de IA o la da una instrucción, 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 arrojar 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 de 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 características 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, las bases de datos vectoriales se pueden 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 .

  • Data lakehouses 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 de vectores 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 almacenes de vectores 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, curar 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 de uso de claves incluyen:

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

Generación aumentada de recuperación (RAG)

La generación aumentada por recuperación (RAG) es una infraestructura de IA que permite a los modelos de lenguaje grandes (LLM) recuperar 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.
Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

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

1 Gartner innovación insight: Bases de datos vectorialesGartner, 4 de septiembre de 2023.

2 Hoja de ruta estratégica 2024 para el almacenamientoGartner, 27 de mayo de 2024.