talón El papel de las bases de datos vectoriales en las aplicaciones modernas de IA generativa - Unite.AI
Contáctanos

Inteligencia Artificial General

El papel de las bases de datos vectoriales en las aplicaciones modernas de IA generativa

mm
Actualizado on
Espacio de incrustación de base de datos vectorial

Para que las aplicaciones de IA generativa a gran escala funcionen de forma eficaz, se necesita un buen sistema para manejar una gran cantidad de datos. Uno de esos sistemas importantes es la base de datos vectorial. Lo que distingue a esta base de datos es su capacidad para manejar muchos tipos de datos como texto, sonido, imágenes y videos en forma de número/vector.

¿Qué son las bases de datos vectoriales?

La base de datos de vectores es un sistema de almacenamiento especializado diseñado para manejar vectores de alta dimensión de manera eficiente. Estos vectores, que pueden considerarse como puntos en un espacio multidimensional, a menudo representan incrustaciones o representaciones comprimidas de datos más complejos como imágenes, texto o sonido.

Las bases de datos de vectores permiten búsquedas rápidas de similitudes entre estos vectores, lo que permite la recuperación rápida de los elementos más similares de un amplio conjunto de datos.

Bases de datos tradicionales frente a bases de datos vectoriales

Bases de datos vectoriales:

  • Maneja datos de alta dimensión: Las bases de datos vectoriales están diseñadas para gestionar y almacenar datos en espacios de alta dimensión. Esto es particularmente útil para aplicaciones como el aprendizaje automático, donde los puntos de datos (como imágenes o texto) se pueden representar como vectores en espacios multidimensionales.
  • Optimizado para búsqueda por similitud: Una característica destacada de las bases de datos vectoriales es su capacidad para realizar búsquedas de similitud. En lugar de consultar datos basados ​​en coincidencias exactas, estas bases de datos permiten a los usuarios recuperar datos que son "similares" a una consulta determinada, lo que las hace invaluables para tareas como la recuperación de imágenes o texto.
  • Escalable para grandes conjuntos de datos: A medida que las aplicaciones de inteligencia artificial y aprendizaje automático continúan creciendo, también lo hace la cantidad de datos que procesan. Las bases de datos vectoriales están diseñadas a escala, lo que garantiza que puedan manejar grandes cantidades de datos sin comprometer el rendimiento.

Bases de datos tradicionales:

  • Almacenamiento de datos estructurados: Las bases de datos tradicionales, como las bases de datos relacionales, están diseñadas para almacenar datos estructurados. Esto significa que los datos se organizan en tablas, filas y columnas predefinidas, lo que garantiza la integridad y coherencia de los datos.
  • Optimizado para operaciones CRUD: Las bases de datos tradicionales están optimizadas principalmente para operaciones CRUD. Esto significa que están diseñados para crear, leer, actualizar y eliminar entradas de datos de manera eficiente, lo que los hace adecuados para una amplia gama de aplicaciones, desde servicios web hasta software empresarial.
  • Esquema fijo: Una de las características definitorias de muchas bases de datos tradicionales es su esquema fijo. Una vez definida la estructura de la base de datos, realizar cambios puede resultar complejo y llevar mucho tiempo. Esta rigidez garantiza la coherencia de los datos, pero puede ser menos flexible que la naturaleza dinámica o sin esquema de algunas bases de datos modernas.

Las bases de datos tradicionales a menudo luchan con la complejidad de las incrustaciones, un desafío que las bases de datos vectoriales abordan fácilmente.

Representaciones vectoriales

Para el funcionamiento de las bases de datos vectoriales es fundamental el concepto fundamental de representar diversas formas de datos utilizando vectores numéricos. Tomemos una imagen como ejemplo. Cuando ves la imagen de un gato, aunque para nosotros puede ser simplemente una imagen felina adorable, para una máquina se puede transformar en un vector único de 512 dimensiones, como por ejemplo:

[0.23, 0.54, 0.32,…, 0.12, 0.45, 0.90]

Con las bases de datos vectoriales, la aplicación de IA generativa puede hacer más cosas. Puede encontrar información basada en el significado y recordar cosas durante mucho tiempo. Curiosamente, este método no se limita únicamente a las imágenes. Los datos textuales llenos de significados contextuales y semánticos también se pueden poner en formas vectoriales.

IA generativa y la necesidad de bases de datos vectoriales

La IA generativa a menudo implica incrustaciones. Tomemos, por ejemplo, la incorporación de palabras en el procesamiento del lenguaje natural (PLN). Las palabras u oraciones se transforman en vectores que captan el significado semántico. Al generar texto similar a un humano, los modelos necesitan comparar y recuperar rápidamente incrustaciones relevantes, asegurando que el texto generado mantenga significados contextuales.

De manera similar, en la generación de imágenes o sonido, las incrustaciones juegan un papel crucial en la codificación de patrones y características. Para que estos modelos funcionen de manera óptima, requieren una base de datos que permita la recuperación instantánea de vectores similares, lo que convierte a las bases de datos de vectores en un componente esencial del rompecabezas de la IA generativa.

La creación de incrustaciones para lenguaje natural generalmente implica el uso de modelos previamente entrenados como:

  • GPT-3 y GPT-4: GPT-3 de Open AI (Generative Pre-trained Transformer 3) ha sido un modelo monumental en la comunidad de PNL con 175 mil millones de parámetros. A continuación, GPT-4, con una cantidad aún mayor de parámetros, continúa superando los límites en la generación de incrustaciones de alta calidad. Estos modelos se entrenan en diversos conjuntos de datos, lo que les permite crear incorporaciones que capturan una amplia gama de matices lingüísticos.
  • BERT y sus variantes: BERTI (Representaciones de codificador bidireccional de Transformers) de Google, es otro modelo importante que ha visto varias actualizaciones e iteraciones como RoBERTa y DistillBERT. El entrenamiento bidireccional de BERT, que lee texto en ambas direcciones, es particularmente hábil para comprender el contexto que rodea una palabra.
  • ELECTRA: Un modelo más reciente que es eficiente y funciona a la par de modelos mucho más grandes como GPT-3 y BERT y que requiere menos recursos informáticos. ELECTRA discrimina entre datos reales y falsos durante el entrenamiento previo, lo que ayuda a generar incrustaciones más refinadas.

Comprender el proceso anterior:

Inicialmente, se emplea un modelo de incrustación para transformar el contenido deseado en incrustaciones de vectores. Una vez generadas, estas incrustaciones se almacenan en una base de datos vectorial. Para facilitar la trazabilidad y la relevancia, estas incrustaciones almacenadas mantienen un vínculo o referencia al contenido original del que se derivaron.

Más tarde, cuando un usuario o sistema plantea una pregunta a la aplicación, el mismo modelo de integración entra en acción. Transforma esta consulta en las incrustaciones correspondientes. Estas incrustaciones recién formadas luego buscan en la base de datos de vectores, buscando representaciones de vectores similares. Las incrustaciones identificadas como coincidencias tienen una asociación directa con su contenido original, lo que garantiza que la consulta del usuario obtenga resultados relevantes y precisos.

Financiamiento creciente para los recién llegados a las bases de datos vectoriales

Con la creciente popularidad de la IA, muchas empresas están invirtiendo más dinero en bases de datos vectoriales para mejorar y acelerar sus algoritmos. Esto se puede ver con las recientes inversiones en nuevas empresas de bases de datos vectoriales como piña, base de datos de cromay Weviate.

Las grandes cooperaciones como Microsoft también tienen sus propias herramientas. Por ejemplo, Búsqueda cognitiva de Azure permite a las empresas crear herramientas de inteligencia artificial utilizando bases de datos vectoriales.

Oracle también anunció recientemente nuevas características para su Base de datos 23c, introduciendo una base de datos de vectores integrada. Llamado “Búsqueda de vectores AI”, tendrá un nuevo tipo de datos, índices y herramientas de búsqueda para almacenar y buscar datos como documentos e imágenes utilizando vectores. Es compatible Recuperación de Generación Aumentada (RAG), que combina grandes modelos lingüísticos con datos comerciales para obtener mejores respuestas a preguntas sobre idiomas sin compartir datos privados.

Consideraciones principales de las bases de datos vectoriales

Métricas de distancia

La eficacia de una búsqueda de similitud depende de la métrica de distancia elegida. Las métricas comunes incluyen distancia euclidiana y similitud de coseno, cada uno de los cuales atiende a diferentes tipos de distribuciones vectoriales.

Indexación

Dada la alta dimensionalidad de los vectores, los métodos de indexación tradicionales no son suficientes. Las bases de datos vectoriales utilizan técnicas como Mundo pequeño navegable jerárquico (HNSW) gráficos o Molestar a los árboles, lo que permite una partición eficiente del espacio vectorial y búsquedas rápidas de vecinos más cercanos.

Molestar al árbol

Molestar al árbol (Fuente)

Annoy es un método que utiliza algo llamado árboles de búsqueda binarios. Divide nuestro espacio de datos muchas veces y solo mira una parte para encontrar vecinos cercanos.

Gráficos jerárquicos de mundos pequeños navegables (HNSW)

Gráficos jerárquicos de mundos pequeños navegables (HNSW) (Fuente)

Los gráficos HNSW, por otro lado, son como redes. Conectan puntos de datos de una manera especial para agilizar la búsqueda. Estos gráficos ayudan a encontrar rápidamente puntos cercanos en los datos.

Escalabilidad

A medida que crecen los conjuntos de datos, también aumenta el desafío de mantener tiempos de recuperación rápidos. Los sistemas distribuidos, la aceleración de GPU y la gestión optimizada de la memoria son algunas de las formas en que las bases de datos vectoriales abordan la escalabilidad.

Papel de las bases de datos vectoriales: implicaciones y oportunidades

1. Datos de capacitación para la vanguardia Modelos generativos de IA: Los modelos de IA generativa, como DALL-E y GPT-3, se entrenan utilizando grandes cantidades de datos. Estos datos a menudo comprenden vectores extraídos de una gran variedad de fuentes, incluidas imágenes, textos, códigos y otros dominios. Las bases de datos vectoriales seleccionan y administran meticulosamente estos conjuntos de datos, lo que permite que los modelos de IA asimile y analicen el conocimiento del mundo mediante la identificación de patrones y relaciones dentro de estos vectores.

2. Avanzando en el aprendizaje en pocas oportunidades: El aprendizaje de pocas oportunidades es una técnica de entrenamiento de IA en la que los modelos se entrenan con datos limitados. Las bases de datos vectoriales amplifican este enfoque al mantener un índice vectorial sólido. Cuando un modelo se expone a sólo un puñado de vectores (por ejemplo, unas pocas imágenes de aves), puede extrapolar rápidamente el concepto más amplio de aves al reconocer similitudes y relaciones entre estos vectores.

3. Mejora de los sistemas de recomendación: Los sistemas de recomendación utilizan bases de datos vectoriales para sugerir contenido estrechamente alineado con las preferencias del usuario. Al analizar el comportamiento, el perfil y las consultas de un usuario, se extraen vectores indicativos de sus intereses. Luego, el sistema escanea la base de datos de vectores para encontrar vectores de contenido que se parezcan mucho a estos vectores de interés, asegurando recomendaciones precisas.

4. Semántica Recuperación de información: Los métodos de búsqueda tradicionales se basan en coincidencias exactas de palabras clave. Sin embargo, las bases de datos vectoriales permiten a los sistemas comprender y recuperar contenido basándose en la similitud semántica. Esto significa que las búsquedas se vuelven más intuitivas y se centran en el significado subyacente de la consulta en lugar de limitarse a hacer coincidir palabras. Por ejemplo, cuando los usuarios ingresan una consulta, el vector correspondiente se compara con los vectores en la base de datos para encontrar contenido que resuene con la intención de la consulta, no solo con su redacción.

5. Búsqueda multimodal: Búsqueda multimodal es una técnica emergente que integra datos de múltiples fuentes, como texto, imágenes, audio y video. Las bases de datos de vectores sirven como columna vertebral de este enfoque al permitir el análisis combinado de vectores de diversas modalidades. Esto da como resultado una experiencia de búsqueda integral, donde los usuarios pueden recuperar información de una variedad de fuentes basándose en una única consulta, lo que genera conocimientos más completos y resultados más completos.

Conclusión

El mundo de la IA está cambiando rápidamente. Está afectando a muchas industrias, trayendo cosas buenas y nuevos problemas. Los rápidos avances en la IA generativa subrayan el papel vital de las bases de datos vectoriales en la gestión y el análisis de datos multidimensionales.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del aprendizaje automático y el aprendizaje profundo. Mi pasión y experiencia me han llevado a contribuir en más de 50 proyectos diversos de ingeniería de software, con un enfoque particular en AI/ML. Mi curiosidad constante también me ha atraído hacia el procesamiento del lenguaje natural, un campo que estoy ansioso por explorar más a fondo.