¿Qué son las Bases de Datos Vectoriales y por qué son importantes para los LLMs?

What are Vector Databases and why are they important for LLMs?

Los modelos de lenguaje grandes (LLMs) actualmente tienen al mundo de la IA en un estrangulamiento. Es esencial entender por qué las bases de datos vectoriales son importantes para los LLMs.

Mientras navegas por tu línea de tiempo en Twitter, LinkedIn o feeds de noticias, probablemente estás viendo algo sobre chatbots, LLMs y GPT. Muchas personas están hablando sobre LLMs, ya que se están lanzando nuevos cada semana.

En medio de la revolución de la IA en la que vivimos actualmente, es importante entender que muchas de estas nuevas aplicaciones dependen de la incrustación de vectores. Entonces, aprendamos más sobre las bases de datos de vectores y por qué son importantes para LLMs.

¿Qué es una base de datos de vectores?

Primero definamos la incrustación de vectores. La incrustación de vectores es un tipo de representación de datos que lleva información semántica que ayuda a los sistemas de IA a entender mejor los datos y a mantener la memoria a largo plazo. Con cualquier cosa nueva que intentes aprender, los elementos importantes son entender el tema y recordarlo.

Las incrustaciones son generadas por modelos de IA, como LLMs, que contienen una gran cantidad de características que hacen que su representación sea difícil de manejar. La incrustación representa las diferentes dimensiones de los datos, para ayudar a los modelos de IA a entender diferentes relaciones, patrones y estructuras ocultas.

La incrustación de vectores utilizando bases de datos basadas en escalares tradicionales es un desafío, ya que no puede manejar o mantenerse al día con la escala y complejidad de los datos. Con toda la complejidad que conlleva la incrustación de vectores, se puede imaginar la base de datos especializada que requiere. Aquí es donde entran en juego las bases de datos de vectores.

Las bases de datos de vectores ofrecen capacidades de almacenamiento y consulta optimizadas para la estructura única de las incrustaciones de vectores. Proporcionan búsqueda fácil, alto rendimiento, escalabilidad y recuperación de datos mediante la comparación de valores y la búsqueda de similitudes entre ellos.

¡Eso suena genial, verdad? Hay una solución para lidiar con la estructura compleja de las incrustaciones de vectores. Sí, pero no. Las bases de datos de vectores son muy difíciles de implementar.

Hasta ahora, las bases de datos de vectores solo eran utilizadas por gigantes tecnológicos que tenían la capacidad no solo de desarrollarlas, sino también de gestionarlas. Las bases de datos de vectores son costosas, por lo tanto, es importante asegurarse de que estén calibradas correctamente para proporcionar un alto rendimiento.

¿Cómo funcionan las bases de datos de vectores?

Entonces, ahora sabemos un poco sobre las incrustaciones y bases de datos de vectores, veamos cómo funcionan.

Comencemos con un ejemplo simple de lidiar con un LLM como ChatGPT. El modelo tiene grandes volúmenes de datos con mucho contenido y nos proporciona la aplicación ChatGPT.

Entonces, sigamos los pasos.

  1. Como usuario, ingresarás tu consulta en la aplicación.
  2. Tu consulta se inserta en el modelo de incrustación que crea incrustaciones de vectores basadas en el contenido que queremos indexar.
  3. La incrustación de vectores luego se mueve a la base de datos de vectores, en relación con el contenido del que se hizo la incrustación.
  4. La base de datos de vectores produce una salida y la envía de vuelta al usuario como resultado de la consulta.

Cuando el usuario continúa haciendo consultas, pasará por el mismo modelo de incrustación para crear incrustaciones para consultar esa base de datos en busca de incrustaciones de vectores similares. Las similitudes entre las incrustaciones de vectores se basan en el contenido original, en el que se creó la incrustación.

¿Quieres saber más sobre cómo funciona en la base de datos de vectores? Aprendamos más.

Las bases de datos tradicionales trabajan almacenando cadenas, números, etc. en filas y columnas. Al consultar desde bases de datos tradicionales, estamos consultando filas que coinciden con nuestra consulta. Sin embargo, las bases de datos de vectores trabajan con vectores en lugar de cadenas, etc. Las bases de datos de vectores también aplican una métrica de similitud que se utiliza para ayudar a encontrar el vector más similar a la consulta.

Una base de datos de vectores está compuesta por diferentes algoritmos que ayudan en la búsqueda de vecinos más cercanos aproximados (ANN). Esto se hace a través de hashing, búsqueda basada en gráficos o cuantificación, que se ensamblan en una tubería para recuperar los vecinos de un vector consultado.

Los resultados se basan en qué tan cercano o aproximado está a la consulta, por lo tanto, los elementos principales que se consideran son la precisión y la velocidad. Si la salida de la consulta es lenta, más precisa será la respuesta.

Las tres etapas principales que atraviesa una consulta de base de datos de vectores son:

1. Indexación

Como se explicó en el ejemplo anterior, una vez que el embedding vector se mueve a la base de datos vectorial, utiliza una variedad de algoritmos para mapear el embedding vectorial a estructuras de datos para una búsqueda más rápida.

2. Consulta

Una vez que ha pasado por su búsqueda, la base de datos vectorial compara el vector consultado con los vectores indexados, aplicando la métrica de similitud para encontrar el vecino más cercano.

3. Post Procesamiento

Dependiendo de la base de datos vectorial que se utilice, la base de datos vectorial procesará el vecino más cercano final para producir una salida final a la consulta. Así como posiblemente volver a clasificar los vecinos más cercanos para futuras referencias.

Conclusión

A medida que continuamos viendo el crecimiento de la IA y la liberación de nuevos sistemas cada semana, el crecimiento en las bases de datos vectoriales está jugando un gran papel. Las bases de datos vectoriales han permitido a las empresas interactuar de manera más efectiva con búsquedas de similitud precisas, proporcionando salidas mejores y más rápidas para los usuarios.

Así que la próxima vez que realices una consulta en ChatGPT o Google Bard, piensa en el proceso que atraviesa para producir un resultado para tu consulta.

Nisha Arya es una científica de datos, escritora técnica independiente y gerente de comunidad en Zepes. Está particularmente interesada en proporcionar consejos o tutoriales sobre carreras en ciencia de datos y conocimientos basados en teoría en ciencia de datos. También desea explorar las diferentes formas en que la inteligencia artificial puede beneficiar la longevidad de la vida humana. Una aprendiz entusiasta, buscando ampliar sus conocimientos tecnológicos y habilidades de escritura, mientras ayuda a guiar a los demás.