¿Qué es una base de datos vectorial?

Empresario sonriente usando un móvil mientras está sentado junto a la mesa del ordenador

Autores

Jim Holdsworth

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

¿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 en función de la similitud. Este diseño permite consultas de baja latencia, lo que la 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 habrán adoptado bases de datos vectoriales para construir sus modelos fundacionales con datos comerciales relevantes1.

Bases de datos vectoriales vs. bases de datos tradicionales

A diferencia de las bases de datos relacionales tradicionales con filas y columnas, los puntos de datos de una base de datos vectorial están representados por vectores con un número fijo de dimensiones. Como 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. Datos no estructurados: incluidas las publicaciones en redes sociales, imágenes, vídeos, clips de audio y mucho más, crecen entre un 30 % y un 60 % año tras año2.

Las bases de datos relacionales son excelentes para gestionar conjuntos de datos estructurados y semiestructurados en formatos específicos. Cargar fuentes de datos no estructuradas en una base de datos relacional tradicional para almacenar, gestionar y preparar los datos para la inteligencia artificial (IA) es un proceso que requiere mucho trabajo, especialmente con nuevos casos de uso generativos como la búsqueda de similitud.

La búsqueda tradicional suele representar datos mediante el uso de 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" devolvería resultados que contengan la palabra "smartphone".

Por el contrario, la búsqueda vectorial representa los datos como vectores densos, que son 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 similitud. Por ejemplo, una búsqueda vectorial de "smartphone" también podría arrojar resultados para “teléfono” y “dispositivos móviles”.

Cada dimensión del vector denso corresponde a una característica latente o a un aspecto de los datos. Una característica latente es un rasgo 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 bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


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

¿Qué son los vectores?

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

  • Un escalar es un tensor de dimensión cero, que contiene un único número. Por ejemplo, un sistema que modele datos meteorológicos podría representar la temperatura alta de un solo día (en 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 utilizar las temperaturas baja, media y alta de un solo día en forma de vector: 62, 77, 85. Cada componente escalar es una característica, es decir, una dimensión, del vector, que representa una característica del tiempo de ese día.

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

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

  • Imágenes: los píxeles de la 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 sonoras también pueden descomponerse en datos numéricos y representarse como vectores, lo que permite aplicaciones de IA como el reconocimiento de voz.
Mixture of Experts | 12 de diciembre, episodio 85

Descifrar 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 bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

¿Qué son las incrustaciones vectoriales?

Las incrustaciones vectoriales 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 ML pueden procesar.

Los modelos de IA, desde los simples algoritmos de regresión hasta las intrincadas redes neuronales utilizadas en deep learning, funcionan mediante la lógica matemática.

Todos los datos que utilice un modelo de IA, incluidos los datos no estructurados, deben registrarse numéricamente. La incrustación vectorial 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.

A continuación se muestra un ejemplo simplificado de incrustación de palabras para un corpus muy pequeño (2 palabras), en el que cada palabra se representa como un vector tridimensional:

  • gato [0,2, -0,4, 0,7]
  • perro [0,6, 0,1, 0,5]

En este ejemplo, cada palabra ("gato") está asociada a un vector único ([0,2, -0,4, 0,7]). Los valores del vector representan la posición de la palabra en un espacio vectorial continuo de tres dimensiones.

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 los resultados de estos modelos de incrustación. Dentro de la base de datos, los vectores se pueden agrupar o identificar como opuestos en función del significado o las características semánticas de prácticamente cualquier tipo de datos.

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

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

¿Cómo se utilizan 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 solicitudes

En funcionamiento, las bases de datos vectoriales funcionan mediante el uso de múltiples algoritmos para realizar una búsqueda del vecino más cercano aproximado (ANN). A continuación, los algoritmos se recopilan en una canalización para recuperar y entregar datos de forma rápida y precisa junto al vector que se consulta.

Por ejemplo, una búsqueda ANN podría buscar productos 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. Como un conjunto de datos pasa por un modelo solo una vez, los resultados se devuelven en milisegundos.

Almacenamiento vectorial

Las bases de datos vectoriales almacenan el resultado 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 incorporar y almacenar estas incrustaciones, la base de datos puede facilitar la recuperación rápida de una búsqueda de similitud, lo que hace coincidir la instrucción del usuario con una incrustación vectorial similar.

Indexación vectorial

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

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

Los vectores se pueden indexar utilizando algoritmos como el mundo pequeño navegable jerárquico (HNSW), el hashing sensible a la localidad (LSH) o la cuantización de productos (PQ).

  • HNSW es popular, puesto que crea una estructura similar a un árbol. Cada nodo del árbol muestra un conjunto de vectores completos con las jerarquías de cada uno. Las similitudes entre vectores se muestran en los bordes entre los nodos.

  • 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 solicitudes

Los vectores de consulta 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 instrucción. A continuación, 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 basarse en diversas métricas de similitud, como la similitud coseno.

La base de datos devuelve los vectores más similares o vecinos más cercanos al vector de consulta según la clasificación de similitud. Estos cálculos admiten 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 impulsar las aplicaciones empresariales basadas en IA porque pueden ofrecer muchas ventajas:

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

Las bases de datos vectoriales utilizan diversas 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 distancias, como la búsqueda del vecino más cercano, pueden ayudar a optimizar el rendimiento cuando se buscan resultados relevantes en grandes conjuntos de datos con millones, si no miles de millones, de puntos de datos.

Hay que tener en cuenta 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, lo que implicaría una velocidad de procesamiento más lenta.

Escalabilidad

Las bases de datos vectoriales pueden almacenar y administrar 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 coste de propiedad

Al permitir una recuperación más rápida de los datos, 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 añadida del uso de imágenes, vídeos 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 comerciales y de IA. Las organizaciones pueden comenzar con un modelo de propósito general, como los modelos de la serie IBM Granite, los modelos Llama-2 de Meta o Flan de Google, y luego proporcionar sus propios datos en una base de datos vectorial para mejorar la salida de los modelos y las aplicaciones de IA.

Consideraciones para bases de datos vectoriales y su estrategia de datos

Las organizaciones disponen de una gran variedad de opciones a la hora de elegir una capacidad de base de datos vectorial. Para encontrar una que satisfaga sus necesidades de datos e IA, muchas organizaciones se plantean:

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

Tipos de bases de datos vectoriales

Hay algunas alternativas para elegir.

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

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

  • Lakehouses de datos 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 de código abierto pgvector de PostgreSQL, que proporciona capacidades de búsqueda de similitud vectorial. Una base de datos vectorial SQL puede combinar las ventajas 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 como capacidades independientes, sino como parte de su ecosistema más amplio de datos e IA.

Muchos ofrecen API, extensiones nativas o pueden integrarse con bases de datos. Dado que las bases de datos vectoriales están diseñadas para usar datos empresariales para mejorar los modelos, las organizaciones también deben contar con un gobierno y seguridad de datos adecuados para ayudar a garantizar que se pueda confiar en los datos utilizados para entrenar modelos de lenguaje de gran tamaño (LLM).

Más allá de las API, muchas bases de datos vectoriales utilizan kits de desarrollo de software específicos del lenguaje de programación (SDK) que pueden rodear las API. Con los SDK, a los desarrolladores a menudo les resulta 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 que se basan en hechos o en 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 pasaría por todos los diferentes contextos posibles sobre ese tema dentro de los datos.

Una opción más rápida sería utilizar otro tipo 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 e implementar bases de datos vectoriales

Para optimizar el desarrollo de bases de datos vectoriales, LangChain es un marco de orquestación de código abierto para desarrollar aplicaciones que utilizan LLM.

Disponibles tanto en bibliotecas basadas en Python como en JavaScript, las herramientas y API de LangChain simplifican el proceso de creación de aplicaciones basadas en 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 distintos (tanto alojados en la nube como locales).

Para impulsar la IA de nivel empresarial, un lakehouse de datos podría combinarse con una base de datos vectorial integrada. Las organizaciones pueden unificar, seleccionar y preparar incrustaciones vectorizadas para sus aplicaciones de IA generativa a escala en sus datos controlados y fiables. Esto mejora la relevancia y la precisión de sus cargas de trabajo de IA, incluidos los chatbots, los sistemas de recomendación personalizados y las aplicaciones de búsqueda por similitud de imágenes.

Casos de uso de bases de datos vectoriales

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

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

Generación aumentada de recuperación (RAG)

La generación aumentada por recuperación (RAG) es un marco de IA para permitir que modelos de lenguaje de gran tamaño (LLM) recuperen datos de una base de conocimientos externa. Las bases de datos vectoriales son clave para admitir implementaciones RAG.

Las empresas están favoreciendo 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. El marco es especialmente útil en casos de uso como la atención al cliente, los recursos humanos y la gestión del talento.

RAG ayuda a garantizar que un modelo está vinculado a los hechos más actuales y fiables y que los usuarios tienen acceso a las fuentes del modelo para poder verificar sus afirmaciones. Anclar el LLM en datos fiables puede ayudar a reducir las alucinaciones del modelo.

RAG utiliza datos vectoriales de alta dimensión para enriquecer las indicaciones con información semánticamente relevante para el aprendizaje en contexto mediante modelos fundacionales. RAG requiere un almacenamiento y recuperación efectivos durante la etapa de inferencia, 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, lo que proporciona la velocidad, precisión y escala necesarias para aplicaciones como motores de recomendación y chatbots.

Inteligencia artificial conversacional

Las bases de datos vectoriales, sobre todo cuando se utilizan para implementar marcos RAG, pueden ayudar a mejorar las interacciones de los agentes virtuales al potenciar la capacidad del agente para analizar bases de conocimiento relevantes de forma eficiente y precisa. Los agentes pueden proporcionar respuestas contextuales en tiempo real a las consultas de los usuarios, junto con los documentos fuente 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 de los productos. Esto les permite sugerir artículos similares a compras anteriores, basándose en la similitud del vector, lo que mejora la experiencia del usuario y aumenta la retención.

Búsqueda de vectores

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 de vectores capturar las relaciones semánticas entre elementos, lo que permite un procesamiento eficaz por parte de modelos de machine learning y aplicaciones de inteligencia artificial.

Estas búsquedas pueden adoptar 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. Como tanto las palabras como las frases se pueden representar como vectores, las funciones de búsqueda vectorial semántica comprenden la intención del usuario mejor que las palabras clave generales.

  • Búsqueda de similitudes y aplicaciones: encuentre imágenes, audio, vídeo o datos de texto similares para admitir el reconocimiento avanzado de imágenes y voz y el procesamiento del lenguaje natural. Las imágenes y el vídeo se pueden indexar y recuperar en función de la similitud.
Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA al servicio de su negocio con la experiencia líder del sector y el portfolio de soluciones de IA de IBM.

Explore las soluciones de IA
Servicios y consultoría de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma de trabajar de las empresas usando IA para la transformación.

Explore los servicios de IA
Dé el siguiente paso

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

Explore watsonx.ai Solicite una demo en directo
Notas a pie de página

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

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