Nos gusta decir que no hay inteligencia artificial sin datos. Pero no puede ser cualquier tipo de datos. Tome modelos de lenguaje grande, o LLM, modelos de aprendizaje profundo, como GPT-4 de OpenAI, que pueden generar texto que es bastante similar a lo que escribiría un ser humano.
Para que los LLM "entiendan" las palabras, deben almacenarse como "vectores" de texto, una forma de capturar los significados de las palabras y los patrones de uso con números. Los vectores son, se podría decir, la lengua franca de la IA.
Los vectores han existido por un tiempo, pero con la popularidad y accesibilidad de la interfaz de IA generativa ChatGPT, se han convertido en un tema candente, particularmente porque las aplicaciones más populares que las organizaciones construirán con estas tecnologías aprovecharán sus propios datos privados para los LLM al componer sus propios vectores.
Pero, ¿cómo funcionan, cómo se almacenan, cómo las buscan las aplicaciones y cómo ayudan a que la IA sea posible? Profundicemos en los vectores, la búsqueda de vectores y los tipos de bases de datos que pueden almacenar y consultar vectores.
Un vector se refiere a una representación numérica de los atributos de un dato. Cada punto de datos se representa como un vector con múltiples valores numéricos, donde cada valor corresponde a una característica o atributo específico de los datos.
Cuando transforma datos como una imagen o texto en una representación vectorial, se conoce como "incrustación".
La elección de incrustaciones de imágenes para la búsqueda de vectores, por ejemplo, depende de varios factores, como el caso de uso específico, los recursos disponibles y las características del conjunto de datos de imágenes.
En las aplicaciones de búsqueda de imágenes de productos o de comercio electrónico, puede ser beneficioso utilizar incrustaciones entrenadas específicamente en imágenes de productos; la llamada recuperación de instancias, por otro lado, implica buscar instancias de objetos dentro de una escena o imágenes más grandes.
El almacenamiento de datos como representaciones vectoriales le permite realizar varias operaciones y cálculos en los datos, lo más importante, la búsqueda. Seleccionar los atributos del vector es importante para los tipos de preguntas que le gustaría poder hacer más tarde.
Por ejemplo, si solo almacena información sobre los colores en una imagen con plantas, no puede preguntar sobre los requisitos de cuidado. Solo podrás encontrar plantas visualmente similares.
Al representar los datos como vectores, puede aprovechar las técnicas matemáticas para buscar y comparar de manera eficiente conjuntos de datos muy grandes sin tener una coincidencia exacta.
Millones de perfiles de clientes, imágenes o artículos que se representan como vectores (una lista de números que capturan las características clave de cada artículo) se pueden combinar muy rápidamente con la búsqueda de similitud vectorial (o "búsqueda del vecino más cercano").
A diferencia de la búsqueda tradicional basada en palabras clave, que hace coincidir documentos en función de la aparición de términos específicos, la búsqueda vectorial se centra en la similitud de las consultas; por ejemplo, ¿son similares sus significados semánticos?
Esta capacidad permite encontrar elementos similares en función de sus representaciones vectoriales. Los algoritmos de búsqueda de similitud pueden medir la "distancia" o similitud entre vectores para determinar cuán estrechamente relacionados están.
En los sistemas de recomendación, la búsqueda vectorial se puede utilizar para encontrar los elementos o usuarios más similares y diferentes en función de sus preferencias. En el procesamiento de imágenes, permite tareas como el reconocimiento de objetos y la recuperación de imágenes.
Por ejemplo, Google, el motor de búsqueda más grande del mundo, se basa en la búsqueda de vectores para potenciar el backend de Google Image Search, YouTube y otros servicios de recuperación de información. (Obtenga más información sobre la búsqueda vectorial
Existen tecnologías de búsqueda de vectores independientes, como Elasticsearch. Pero los vectores deben almacenarse y recuperarse de bases de datos escalables y rápidas para brindar la capacidad de respuesta y la escala que exigen las aplicaciones de IA.
Hay un puñado de bases de datos en la actualidad que ofrecen la búsqueda de vectores como una función.
La principal ventaja de una base de datos que permite la búsqueda de vectores es la velocidad. Las bases de datos tradicionales tienen que comparar una consulta con cada elemento de la base de datos.
Por el contrario, la búsqueda vectorial integrada permite una forma de indexación e incluye algoritmos de búsqueda que aceleran enormemente el proceso, lo que hace posible buscar grandes cantidades de datos en una fracción del tiempo que llevaría una base de datos estándar.
En un contexto comercial, esto es extremadamente valioso cuando se usan aplicaciones de IA para recomendar productos que son similares a compras anteriores o identificar transacciones fraudulentas que se asemejan a patrones conocidos o anomalías que parecen diferentes a la norma.
Un ejemplo de una base de datos que ofrece búsqueda de vectores es DataStax.
La incorporación de la búsqueda vectorial convierte a Astra DB en una ventanilla única para operaciones de bases de datos a gran escala.
La integración de la búsqueda vectorial con un almacén de datos escalable como Astra DB permite los cálculos y la clasificación directamente dentro de la base de datos, lo que elimina la necesidad de transferir grandes cantidades de datos a sistemas externos.
Esto reduce la latencia y mejora el rendimiento general de las consultas. La búsqueda de vectores se puede combinar con otros índices dentro de Astra DB para consultas aún más poderosas. (Obtenga más información sobre las bases de datos vectoriales
Los vectores y las bases de datos que los almacenan juegan un papel importante al permitir una búsqueda eficiente, cálculos de similitud y exploración de datos en el campo de la IA.
A medida que las organizaciones escalan sus esfuerzos de IA generativa y buscan personalizar la experiencia del usuario final con sus datos, las representaciones vectoriales y la capacidad de trabajar con bases de datos escalables y rápidas que están habilitadas para la búsqueda de vectores serán cada vez más críticas.
Por Dra. Charna Parkey, DataStax