¿Qué es la incrustación vectorial?

12 de junio de 2024

Autores

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

¿Qué es la incrustación vectorial?

Las incrustaciones vectoriales son representaciones numéricas de puntos de datos que expresan diferentes tipos de datos, incluidos datos no matemáticos, como palabras o imágenes, como una matriz de números que los modelos de machine learning (ML) pueden procesar.

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

Cualquier dato sobre el que opere un modelo de IA, incluidos los datos no estructurados como texto, audio o imágenes, debe expresarse numéricamente. La incrustación vectorial es una forma de convertir un punto de datos no estructurados en una matriz de números que sigue expresando el significado original de esos datos.

Entrenar modelos para obtener representaciones vectoriales de puntos de datos que se correspondan de forma significativa con sus características reales nos permite hacer suposiciones útiles sobre cómo se relacionan entre sí las incrustaciones vectoriales.

Intuitivamente, cuanto más similares sean dos puntos de datos del mundo real, más similares deberían ser sus respectivas incrustaciones vectoriales. Las características o cualidades compartidas por dos puntos de datos deben reflejarse en sus dos incrustaciones vectoriales. Los puntos de datos disímiles deben tener incrustaciones de vectores disímiles.

Partiendo de estos supuestos lógicos, las incrustaciones vectoriales pueden utilizarse como entradas para modelos que realizan tareas útiles en el mundo real mediante operaciones matemáticas que comparan, transforman, combinan, ordenan o manipulan de otro modo esas representaciones numéricas.

Expresar los puntos de datos como vectores también permite la interoperabilidad de distintos tipos de datos, actuando como una especie de lingua franca entre distintos formatos de datos al representarlos en el mismo espacio de incrustación. Por ejemplo, los asistentes de voz de los teléfonos inteligentes "traducen" las entradas de audio del usuario en incrustaciones vectoriales, que a su vez utilizan incrustaciones vectoriales para el procesamiento del lenguaje natural (PLN) de esa entrada.

Por lo tanto, las incrustaciones vectoriales sustentan casi todo el ML moderno, ya que impulsan los modelos utilizados en los campos del PNL y la visión artificial y son los componentes fundamentales de la IA generativa.

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é es un vector?

Los vectores pertenecen a la categoría más amplia de tensores. En el machine learning (ML), “tensor” se utiliza como un término genérico para una matriz de números (o una matriz de matrices de números) en un espacio n-dimensional, que funciona como un dispositivo de contabilidad matemática para datos.

Es útil tener en cuenta que ciertas palabras se utilizan de forma diferente en un contexto de ML que en el lenguaje cotidiano o en otros entornos matemáticos. El término “vector”, por ejemplo, tiene una connotación más específica en física, refiriéndose generalmente a una cantidad con magnitud y dirección, que en ML.

Del mismo modo, la palabra "dimensión" tiene diferentes implicaciones en ML, dependiendo de su contexto. Al describir un tensor, se refiere a cuántas matrices contiene ese tensor. Al describir un vector, se refiere a cuántos componentes y números individuales contiene ese vector. Términos análogos como "orden" o "grado" pueden ayudar a reducir la ambigüedad.

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

  • 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, el modelo meteorológico podría representar las temperaturas mínimas, medias y máximas de ese único día en forma vectorial como (25, 30, 33). Cada componente escalar es una característica, es decir, una dimensión, del vector, correspondiente a una característica del clima de ese día.

  • Una tupla es un tensor de primer orden que contiene escalares de más de un tipo de datos. Por ejemplo, el nombre, la edad y la altura (en pulgadas) de una persona podrían representarse en forma de tupla como (Jane, Smith, 31, 65).

  • Una matriz es un tensor bidimensional (o de segundo rango o de segundo orden) que contiene varios vectores del mismo tipo de datos. Se puede visualizar intuitivamente como una cuadrícula bidimensional de escalares en la que cada fila o columna es un vector. Por ejemplo, ese modelo meteorológico podría representar todo el mes de junio como una matriz de 3x30, en la que cada fila es un vector de características que describe las temperaturas mínimas, medias y máximas de un día concreto.

  • Los tensores con tres o más dimensiones, como los tensores tridimensionales utilizados para representar imágenes en color en los algoritmos de visión artificial, se denominan matrices multidimensionales o tensores N-dimensionales.

También se pueden aplicar varias transformaciones sencillas a matrices u otros tensores de n dimensiones para representar los datos que contienen en forma vectorial. Por ejemplo, una matriz de 4x4 se puede aplanar en un vector de 16 dimensiones; un tensor de 3 dimensiones de una imagen de 4x4 píxeles se puede aplanar en un vector de 48 dimensiones. Las incrustaciones adoptan predominantemente la forma de vectores en el ML moderno.

Por el contrario, los vectores en otros contextos, como la física, no son necesariamente incrustaciones. Pero en ML, los vectores suelen ser incrustaciones y las incrustaciones suelen ser vectores.

Vectores vs. incrustaciones:

Aunque los términos se utilizan a menudo indistintamente en ML, los "vectores" y las "incrustaciones" no son lo mismo.

Una incrustación es cualquier representación numérica de datos que captura sus cualidades relevantes de un modo que los algoritmos de ML pueden procesar. Los datos están incrustados en un espacio n-dimensional.

En teoría, los datos no necesitan estar incrustados como un vector. Por ejemplo, algunos tipos de datos se pueden incrustar en forma de tupla1. Pero en la práctica, las incrustaciones adoptan predominantemente la forma de vectores en el ML moderno.

Por el contrario, los vectores en otros contextos, como la física, no son necesariamente incrustaciones. Pero en ML, los vectores suelen ser incrustaciones y las incrustaciones suelen ser vectores.

Mixture of Experts | 25 de abril, episodio 52

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.

¿Cómo funciona la incrustación vectorial?

Una incrustación vectorial transforma un punto de datos, como una palabra, una frase o una imagen, en una matriz n-dimensionalde números que representan las características de ese punto de datos: sus rasgos. Esto se consigue entrenando un modelo de incrustación en un gran conjunto de datos relevantes para la tarea en cuestión o utilizando un modelo preentrenado.

Para entender las incrustaciones vectoriales es necesario explicar algunos conceptos clave:

  • Cómo representan los datos las incrustaciones vectoriales.

  • Cómo se pueden comparar las incrustaciones vectoriales.

  • Cómo pueden utilizarse los modelos para generar incrustaciones vectoriales.

Cómo representan los datos las incrustaciones vectoriales

En el machine learning, las "dimensiones" de los datos no se refieren a las dimensiones conocidas e intuitivas del espacio físico. En el espacio vectorial, cada dimensión corresponde a una característica individual de los datos, de la misma manera que la longitud, la anchura y la profundidad son características de un objeto en el espacio físico.

Las incrustaciones vectoriales suelen tratar datos de alta dimensión. En la práctica, la mayor parte de la información no numérica es de alta dimensión. Por ejemplo, incluso una pequeña y sencilla imagen en blanco y negro de 28x28 píxeles de un dígito manuscrito del conjunto de datos del MNIST puede representarse como un vector de 784 dimensiones en el que cada dimensión corresponde a un píxel individual cuyo valor en escala de grises oscila entre 0 (para el negro) y 1 (para el blanco).

Sin embargo, no todas esas dimensiones de los datos contienen información útil. En nuestro ejemplo MNIST, el dígito real en sí representa solo una pequeña fracción de la imagen. El resto es un fondo en blanco o “ruido”. Por lo tanto, sería más preciso decir que estamos "incrustando una representación de la imagen en un espacio de 784 dimensiones" que decir que estamos "representando 784 características diferentes de la imagen".

Por lo tanto, las incrustaciones vectoriales eficientes de datos de alta dimensión suelen implicar cierto grado de reducción de la dimensionalidad: la compresión de los datos de alta dimensión hasta un espacio de dimensiones inferiores que omite la información irrelevante o redundante.

La reducción de la dimensionalidad aumenta la velocidad y la eficacia del modelo, aunque con una posible contrapartida en exactitud o precisión, ya que los vectores más pequeños requieren menos potencia de cálculo para las operaciones matemáticas. También puede ayudar a reducir el riesgo de sobreajustar los datos de entrenamiento. Los diferentes métodos de reducción de dimensionalidad, como los codificadores automáticos, las convoluciones, el análisis de componentes principales y la incrustación de vecinos estocásticos distribuidos en T (t-SNE), son los más adecuados para diferentes tipos de datos y tareas.

Mientras que las dimensiones de los datos vectoriales de imágenes son relativamente objetivas e intuitivas, determinar las características relevantes de algunas modalidades de datos, como los significados semánticos y las relaciones contextuales del lenguaje, es más abstracto o subjetivo. En tales casos, las características específicas representadas por las dimensiones de las incrustaciones vectoriales se pueden establecer a través de la ingeniería manual de características o, más comúnmente en la era del deep learning, determinarse implícitamente a través del proceso de entrenamiento de un modelo para hacer predicciones precisas.

Cómo comparar incrustaciones vectoriales

La lógica central de las incrustaciones vectoriales es que las incrustaciones n-dimensionales de puntos de datos similares deben agruparse estrechamente en un espacio n-dimensional. Sin embargo, las incrustaciones pueden tener docenas, cientos o incluso miles de dimensiones. Esto va mucho más allá de los espacios bidimensionales o tridimensionales que nuestras mentes pueden visualizar intuitivamente.

En su lugar, se utilizan múltiples medidas para inferir la similitud relativa de diferentes incrustaciones vectoriales. La mejor medida de similitud para una situación específica depende en gran medida de la naturaleza de los datos y de para qué se utilizan las comparaciones.

  • La distancia euclidiana mide la distancia media en línea recta entre los puntos correspondientes de diferentes vectores. La diferencia entre dos vectores n-dimensionales a y b se calcula sumando primero los cuadrados de las diferencias entre cada uno de sus componentes correspondientes, así (a1–b1)2 + (a2–b2)2 + ... (an–bn)2 , y luego se saca la raíz cuadrada de esa suma. Dado que la distancia euclidiana es sensible a la magnitud, es útil para datos que reflejan cosas como el tamaño o los recuentos. Los valores van de 0 (para vectores idénticos) a ∞.
     

  • La distancia coseno, también llamada similitud coseno, es una medida normalizada del coseno del ángulo entre dos vectores. La distancia coseno oscila entre -1 y 1, en la que 1 representa vectores idénticos, 0 representa vectores ortogonales (o no relacionados) y -1 representa vectores totalmente opuestos. La similitud coseno se utiliza ampliamente en tareas de PNL porque normaliza de forma natural las magnitudes de los vectores y es menos sensible a la frecuencia relativa de las palabras en los datos de entrenamiento que la distancia euclidiana.
     

  • El producto escalar es, algebraicamente hablando, la suma del producto de los componentes correspondientes de cada vector. Geométricamente hablando, es una versión no normalizada de la distancia del coseno que también refleja la frecuencia o la magnitud.

Incorporación de modelos

Los modelos de incrustación independientes pueden ser ofertas previamente entrenadas o pueden entrenarse desde cero en tareas específicas o datos de entrenamiento. Cada forma de datos suele beneficiarse de una arquitectura de red neuronal específica, pero en la mayoría de los casos se trata de buenas prácticas más que de reglas explícitas.

A veces, el proceso de incrustación es una parte integrada de una red neuronal más grande. Por ejemplo, en las redes neuronales convolucionales de (CNN) codificador-decodificador utilizadas para tareas como la segmentación de imágenes, el acto de optimizar la red completa para realizar predicciones precisas implica entrenar las capas del codificador para que generen incrustaciones vectoriales efectivas de las imágenes de entrada.

Modelos preentrenados
Para muchos casos de uso y campos de estudio, los modelos preentrenados pueden proporcionar incrustaciones útiles que pueden servir como entradas para modelos personalizados o bases de datos vectoriales. Estos modelos de código abierto suelen entrenarse con un conjunto masivo y amplio de datos de entrenamiento para aprender incrustaciones útiles para muchas tareas posteriores, como el aprendizaje few-shot o el aprendizaje zero-shot.

Para los datos de texto, los modelos básicos de incrustación de palabras de código abierto como Word2Vec de Google o Global Vectors (GloVe) de la Universidad de Stanford pueden entrenarse desde cero, pero también se ofrecen en variantes preentrenadas con datos de texto públicos como Wikipedia y Common Crawl. De la misma manera, los modelos de lenguaje de gran tamaño (LLM) codificador-decodificador que suelen utilizarse para las incrustaciones, como BERT y sus muchas variantes, se entrenan previamente con una gran cantidad de datos de texto.

Para las tareas de visión artificial, los modelos de clasificación de imágenes preentrenados, como ImageNet, ResNet o VGG, se pueden adaptar a las incrustaciones de salida simplemente eliminando su capa de predicción final y totalmente conectada.

Modelos de incrustación personalizados
Algunos casos de uso, en particular los que involucran conceptos poco comunes o nuevas clases de datos, se benefician de la afinación de modelos preentrenados o del entrenamiento de modelos de incrustación totalmente personalizados.

Los ámbitos jurídico y médico son ejemplos destacados de campos que a menudo dependen de vocabulario esotérico y altamente especializado, bases de conocimientos o imágenes que probablemente no se hayan incluido en los datos de entrenamiento de modelos más generalistas. Complementar el conocimiento básico de los modelos previamente entrenados a través de una formación adicional en ejemplos específicos del dominio puede ayudar a que el modelo genere incrustaciones más eficaces.

Aunque esto también puede lograrse diseñando una arquitectura de red neuronal a medida o entrenando una arquitectura conocida desde cero, hacerlo requiere recursos y conocimientos institucionales que podrían estar fuera del alcance de la mayoría de las organizaciones o aficionados.

Incrustación de vectores para imágenes

Las incrustaciones de imágenes convierten la información visual en vectores numéricos mediante el uso de los valores de píxel de una imagen para que correspondan a los componentes vectoriales. Por lo general, se basan en las CNN, aunque en los últimos años se han visto cada vez más modelos de visión artificial que utilizan redes neuronales basadas en transformadores.2

Las imágenes con un esquema de color RGB típico se representan numéricamente como una matriz tridimensional, en la que esas tres matrices corresponden a los respectivos valores rojo, verde y azul de cada píxel. Las imágenes RGB suelen ser de 8 bits, lo que significa que cada valor de color de un píxel puede oscilar entre 0 y 256 (o 28). Como se ha descrito anteriormente, las imágenes en blanco y negro se representan numéricamente como una matriz bidimensional de píxeles en la que cada píxel tiene un valor comprendido entre 0 y 1.

Las convoluciones utilizan filtros numéricos bidimensionales, llamados núcleos, para extraer características de la imagen. Los pesos de los núcleos más propicios a la extracción de características relevantes son en sí mismos un parámetro aprendible durante el entrenamiento del modelo. Estas convoluciones producen un mapa de características de la imagen.

Cuando es necesario, el relleno se utiliza para mantener el tamaño original de la entrada añadiendo capas adicionales de ceros a las filas y columnas exteriores de la matriz. Por el contrario, la agrupación, que básicamente resume las características visuales tomando únicamente sus valores mínimos, máximos o medios, se puede utilizar para reducir aún más la dimensionalidad.

Por último, la representación comprimida se convierte en un vector.

Búsqueda de imágenes

Una aplicación intuitiva de la incrustación de imágenes es la búsqueda de imágenes: un sistema que toma datos de imágenes como entrada y devuelve otras imágenes con incrustaciones vectoriales similares, como una aplicación de smartphone que identifica una especie vegetal a partir de una fotografía.

Una ejecución más compleja es la búsqueda de imágenes multimodal, que toma texto como entrada y devuelve imágenes relacionadas con ese texto. Esto no puede lograrse tomando un texto incrustado de un modelo lingüístico y utilizándolo como entrada para un modelo de visión artificial independiente. Los dos modelos de incrustación deben entrenarse explícitamente para correlacionarse entre sí.

Un algoritmo destacado que se utiliza para la incrustación de imágenes y texto es el entrenamiento previo a imágenes (CLIP) de lenguaje contrastante, desarrollado originalmente por OpenAI. CLIP se entrenó con un enorme conjunto de datos no etiquetados de más de 400 millones de pares de imágenes y títulos extraídos de Internet. Estos emparejamientos se utilizaron para entrenar conjuntamente un codificador de imágenes y un codificador de texto desde cero utilizando pérdida contrastiva para maximizar la similitud coseno entre las incrustaciones de imágenes y las incrustaciones para sus correspondientes pies de foto.

Generación de imágenes

Otra aplicación importante de la incrustación de imágenes es la generación de imágenes: la creación de imágenes nuevas.

Un método para generar nuevas imágenes a partir de incrustaciones de imágenes son los autocodificadores variacionales (VAE). Los VAE codifican dos incrustaciones vectoriales diferentes de datos de entrada: un vector de medias y un vector de desviaciones estándar. Mediante el muestreo aleatorio de la distribución de probabilidad que representan estas incrustaciones vectoriales, los VAE pueden utilizar su red de descodificadores para generar variaciones de esos datos de entrada.

Un método líder de generación de imágenes basado en incrustaciones, especialmente en los últimos años, utiliza el algoritmo CLIP mencionado anteriormente. Los modelos de síntesis de imágenes como DALL-E, Midjourney y Stable Diffusion toman como entrada indicaciones de texto y utilizan CLIP para incrustar una representación vectorial del texto; esa misma incrustación vectorial, a su vez, se utiliza esencialmente para reconstruir una nueva imagen.

Incrustación de vectores para PLN

Las incrustaciones de texto son menos sencillas. Deben representar numéricamente conceptos abstractos como el significado semántico, las connotaciones variables y las relaciones contextuales entre palabras y frases.

Representar las palabras por sus letras, como se hace con las imágenes por sus píxeles, no tendría sentido.

Mientras que la mayoría de los modelos de visión artificial se entrenan utilizando el aprendizaje supervisado convencional, los modelos de incrustación para PLN requieren un aprendizaje autosupervisado con una cantidad realmente enorme de datos de entrenamiento para capturar adecuadamente los muchos significados potenciales del lenguaje en diferentes contextos.

Las incrustaciones resultantes potencian muchas de las tareas que suelen asociarse a la IA generativa, desde la traducción de idiomas a los chatbots conversacionales, pasando por el resumen de documentos o los servicios de respuesta a preguntas.

Modelos de incrustación de texto

Los modelos utilizados para generar incrustaciones vectoriales para datos de texto a menudo no son los mismos que los utilizados para generar texto real.

Los populares LLM que se utilizan habitualmente para la generación de texto y otras tareas de IA generativa, como ChatGPT o Llama, son modelos autorregresivos de solo decodificación, también llamados modelos de lenguaje causales. En el entrenamiento, se les presenta el comienzo de una muestra de texto concreta y se les pide que pronostiquen continuamente la siguiente palabra hasta el final de la secuencia. Aunque esto es muy útil para aprender a generar texto coherente, no es óptimo para aprender incrustaciones vectoriales independientes útiles.

En su lugar, las incrustaciones de texto suelen basarse en modelos de lenguaje enmascarado, como las representaciones de codificador bidireccional de transformadores (BERT), lanzadas por primera vez en 2018. En el entrenamiento, a estos modelos de codificador-decodificador se les proporcionan secuencias de texto con ciertas palabras enmascaradas u ocultas, y se les asigna la tarea de completar los espacios en blanco.

Este ejercicio recompensa las incrustaciones que captan mejor la información sobre una palabra u oración específica y cómo se relaciona con el contexto que la rodea. Word2vec lleva a cabo una tarea de entrenamiento similar, aunque con una arquitectura de red neuronal de dos capas más simple.

A fecha de junio de 2024, BERT sigue siendo el modelo de lenguaje más popular en Hugging Face, habiendo sido descargado más de 60 millones de veces en el mes anterior.3 Se han adaptado varias variantes destacadas de BERT a tipos específicos de escenarios e incrustaciones lingüísticas:

  • SBERT: también conocido como BERT de oraciones y transformadores de oraciones, SBERT es una variante de BERT con una estructura adaptada de red neuronal siamesa, afinada con precisión con pares de oraciones para mejorar su capacidad de codificar las incrustaciones de oraciones.

  • DistilBERT: una variante ligera del BERT, creada a través de la destilación del conocimiento del modelo base del BERT en un modelo más pequeño que funciona un 60 % más rápido y conserva más del 95 % del rendimiento del BERT según algunas métricas.4

  • RoBERTa: abreviatura del enfoque de preentrenamiento BERT robusto y optimizado, RoBERTa perfeccionó el procedimiento de entrenamiento BERT para optimizar su rendimiento.

Tipos de incrustaciones de texto

Las incrustaciones vectoriales se pueden utilizar para representar varios datos del lenguaje natural.

Incrustaciones de palabras
Las incrustaciones de palabras tienen como objetivo capturar no solo el significado semántico de las palabras individuales, sino también su relación contextual con otras palabras con las que a menudo coexisten. Al hacerlo, las incrustaciones de palabras pueden generalizarse bien a nuevos contextos e incluso a palabras raras o nunca antes vistas.

GloVe, un popular modelo de incrustación de palabras, se entrenó con una "matriz global de coocurrencia palabra-palabra", que infiere el significado semántico y las relaciones semánticas a partir de la frecuencia con la que se utilizan palabras específicas cerca unas de otras. Por ejemplo, el significado puede derivarse de cómo "hielo" y "vapor" coinciden con "agua" aproximadamente con la misma frecuencia, pero coinciden con "sólido" y "gas" a ritmos muy diferentes.5

La forma en la que las dimensiones de un vector de incrustación de palabras capturan implícitamente estas relaciones nos permite manipularlas matemáticamente de forma útil e intuitiva. En un esquema de incrustación de palabras bien configurado, restar el vector de "hombre" del vector de "rey" y añadir el vector de "mujer" debería dar como resultado el vector de "reina".

Incrustaciones de oraciones
Las incrustaciones de oraciones incorporan el significado semántico de frases u oraciones enteras, en lugar de palabras individuales. Suelen generarse con transformadores de oraciones SBERT u otras variantes.

  • Las incrustaciones de oraciones pueden incrustar representaciones de las consultas del usuario, para su uso en motores de búsqueda o aplicaciones de respuesta a preguntas.

  • En la traducción automática, la incrustación vectorial de una frase en un idioma puede utilizarse para obtener una frase en otro idioma con una incrustación vectorial similar.

  • Las incrustaciones de oraciones se utilizan a menudo en el análisis de sentimiento. Los clasificadores pueden entrenarse con ejemplos etiquetados de cada categoría de sentimiento o mediante aprendizaje supervisado, y después clasificar nuevas muestras haciendo coincidir su incrustación vectorial con la incrustación aprendida para cada clase. El análisis de sentimiento también es posible mediante el aprendizaje zero-shot, en el que la incrustación de una oración específica se compara con la incrustación de palabras de una categorización concreta.

Incrustaciones de documentos
Las incrustaciones de documentos suelen utilizarse para clasificar documentos o páginas web con vistas a su indexación en motores de búsqueda o bases de datos vectoriales. Los modelos típicos para la incrustación de documentos incluyen variantes BERT, Doc2vec (que es una expansión del modelo Word2vec) u otros modelos de incrustación de código abierto como Instructor (enlace externo a ibm.com).

Otros tipos de incrustaciones vectoriales

Aunque los datos de imágenes y texto son los que suelen recibir más atención, sobre todo para los casos de uso de IA generativa, una amplia variedad de modalidades de datos pueden beneficiarse de la incrustación vectorial.

  • Las incrustaciones de audio se utilizan para diversas aplicaciones, desde asistentes de voz hasta sistemas de recomendación de canciones y sistemas de reconocimiento de música como Shazam. Representan el sonido a través de las propiedades numéricas de sus datos de forma de onda. El audio puede incrustarse mediante redes neuronales recurrentes (RNN), CNN o arquitecturas basadas en transformadores.

  • Las incrustaciones de productos se utilizan a menudo para impulsar los sistemas de recomendación para plataformas de comercio electrónico. Por lo general, se generan con algoritmos de aprendizaje no supervisado.

  • Las incrustaciones de gráficos se pueden utilizar para modelar y representar estructuras de relaciones complejas, como redes sociales o sistemas biológicos. Las dimensiones de un vector de incrustación de gráficos representan la forma en que se conectan varios nodos y edges de un sistema.

Bases de datos vectoriales

Las bases de datos tradicionales rara vez están optimizadas para trabajar con los datos de alta dimensión comunes a las incrustaciones vectoriales. Las bases de datos vectoriales como IBM watsonx.data son soluciones avanzadas diseñadas para organizar y recuperar objetos de datos en espacios vectoriales de alta dimensión.

Búsqueda de vectores

Una de las principales ventajas de una solución eficaz de bases de datos vectoriales es optimizar la eficacia y la precisión de las operaciones de búsqueda vectorial: encontrar, clasificar y recuperar datos y documentos relevantes por medio de la similitud semántica de sus respectivas incrustaciones vectoriales con las de sus términos de búsqueda.

Este tipo de búsqueda de similitudes se realiza normalmente mediante algoritmos sencillos de vecino más cercano que infieren conexiones entre puntos de datos en función de su proximidad en un espacio vectorial de alta dimensión.

Búsqueda semántica
La búsqueda semántica utiliza incrustaciones vectoriales para impulsar búsquedas que trascienden la simple coincidencia de palabras clave. Por ejemplo, devolver resultados para "manzanas" y "naranjas" aunque la consulta original fuera "fruta". 

Generación de recuperación aumentada (RAG)

Este tipo de búsqueda semántica también se utiliza para permitir la generación de recuperación aumentada (RAG), un marco utilizado para complementar la base de conocimientos de los LLM sin tener que someterse a más ajustes.

En la RAG, la búsqueda vectorial se utiliza para estudiar fuentes de datos externas, es decir, fuentes de datos que no formaban parte de los datos de entrenamiento de un modelo fundacional y cuya información, por tanto, no podía reflejarse de otro modo en el resultado del LLM, para recuperar información relevante y luego utilizar esa para aumentar las respuestas generadas por LLM.

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.

Descubra watsonx.ai
Soluciones de inteligencia artificial

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

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

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

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 demostración en directo