Uno de mis primeros proyectos como desarrollador de software fue desarrollar algoritmos de análisis genético. Construimos software para escanear muestras de electroforesis en una base de datos y mi trabajo consistía en convertir la imagen de cada patrón de ADN en datos representables. Hice esto convirtiendo la imagen en un vector, donde cada punto representa los atributos de la muestra. Una vez vectorizada, podríamos almacenar la información de manera eficiente y calcular la similitud entre muestras de ADN. La conversión de información no estructurada en vectores es un lugar común hoy en día y se usa en modelos de lenguaje grandes (LLM), reconocimiento de imágenes, procesamiento de lenguaje natural, motores de recomendación y otros usos del aprendizaje automático. casos. Las bases de datos vectoriales y la búsqueda de vectores son las dos plataformas principales que utilizan los desarrolladores para convertir información no estructurada en vectores, ahora más comúnmente llamados incrustaciones. Una vez que la información se codifica como una incorporación, hace que almacenar, buscar y comparar la información sea más fácil, rápido y significativamente más escalable para grandes conjuntos de datos. «En nuestro viaje pionero por el mundo de las bases de datos vectoriales, hemos observado que, a pesar de los rumores, existe una subestimación común de su verdadero potencial», dice Charles Xie, director ejecutivo de Zilliz. “El verdadero tesoro de las bases de datos vectoriales es su capacidad para profundizar en el inmenso conjunto de datos no estructurados y liberar su valor. Es importante darse cuenta de que su función no se limita al almacenamiento de memoria para los LLM, y albergan capacidades transformadoras a las que muchos todavía se están dando cuenta”. Cómo funcionan las bases de datos vectorialesImagínese que está creando una capacidad de búsqueda para cámaras digitales. Las cámaras digitales tienen docenas de atributos, incluidos tamaño, marca, precio, tipo de lente, tipo de sensor, resolución de imagen y otras características. Un motor de búsqueda de cámaras digitales tiene 50 atributos para buscar en más de 2500 cámaras. Hay muchas formas de implementar búsquedas y comparaciones, pero un enfoque es convertir cada atributo en uno o más puntos de datos en una incorporación. Una vez que los atributos se vectorizan, las fórmulas de distancia vectorial pueden calcular búsquedas y similitudes de productos. Las cámaras son un problema de baja dimensionalidad, pero imagine cuando su problema requiere buscar cientos de miles de documentos científicos o proporcionar recomendaciones musicales sobre más de 100 millones de canciones. Los mecanismos de búsqueda convencionales fallan a esta escala, pero la búsqueda vectorial reduce la complejidad de la información y permite un cálculo más rápido. «Una base de datos vectorial codifica información en una representación matemática que es ideal para la comprensión de las máquinas», dice Josh Miramant, director ejecutivo de BlueOrange. “Estas representaciones matemáticas, o vectores, pueden codificar similitudes y diferencias entre diferentes datos, como si dos colores fueran una representación vectorial más cercana. Las distancias, o medidas de similitud, son lo que muchos modelos usan para determinar el mejor o peor resultado de una pregunta”. Casos de uso para bases de datos vectoriales Una función de una base de datos vectorial es simplificar la información, pero su verdadero poder es crear aplicaciones que admitan una amplia variedad de aplicaciones. gama de consultas en lenguaje natural. La búsqueda de palabras clave y los formularios de búsqueda avanzada simplifican la traducción de lo que las personas buscan en una consulta de búsqueda, pero procesar una pregunta en lenguaje natural ofrece mucha más flexibilidad. Con las bases de datos vectoriales, la pregunta se convierte en una incrustación y se utiliza para realizar la búsqueda. Por ejemplo, podría decir: «Encuéntrame una cámara SLR de precio medio que sea nueva en el mercado, que tenga una excelente captura de video y funcione bien en condiciones de poca luz». Un transformador convierte esta pregunta en una incrustación. Las bases de datos vectoriales suelen utilizar transformadores codificadores. Primero, el desarrollador convierte la pregunta en palabras, luego usa un transformador para codificar las posiciones de las palabras, agrega ponderaciones de relevancia y luego crea representaciones abstractas usando una red neuronal de retroalimentación. Luego, el desarrollador utiliza la incrustación finalizada de la pregunta para buscar en la base de datos de vectores. Las bases de datos de vectores ayudan a resolver el problema de admitir una amplia gama de opciones de búsqueda en una fuente de información compleja con muchos atributos y casos de uso. Los LLM han destacado la versatilidad de las bases de datos vectoriales, y ahora los desarrolladores las están aplicando en el lenguaje y otras áreas ricas en información. “La búsqueda de vectores ha ganado un rápido impulso a medida que más aplicaciones emplean aprendizaje automático e inteligencia artificial para potenciar asistentes de voz, chatbots, detección de anomalías, motores de recomendación y personalización, todos los cuales se basan en incrustaciones de vectores en su núcleo”, dice Venkat Venkataramani, director ejecutivo de Rockset. «Al ampliar las capacidades de búsqueda y análisis en tiempo real a la búsqueda vectorial, los desarrolladores pueden indexar y actualizar metadatos e incrustaciones de vectores en tiempo real, un componente vital para impulsar búsquedas de similitudes, motores de recomendación, preguntas y respuestas generativas de IA y chatbots». Bases de datos vectoriales en LLM Las bases de datos vectoriales permiten a los desarrolladores crear modelos de lenguajes especializados, ofreciendo un alto grado de control sobre cómo vectorizar la información. Por ejemplo, los desarrolladores pueden crear incrustaciones genéricas para ayudar a las personas a buscar todo tipo de libros en un sitio web de comercio electrónico. Alternativamente, pueden crear incrustaciones especializadas para libros históricos, científicos o de otras categorías especiales con incrustaciones de dominios específicos, lo que permite a los usuarios avanzados y expertos en la materia hacer preguntas detalladas sobre lo que hay dentro de los libros de interés. «Las bases de datos vectoriales simplemente proporcionan una manera fácil de cargar una gran cantidad de datos no estructurados en un modelo de lenguaje», dice Mike Finley, CTO de AnswerRocket. “Los equipos de desarrollo de datos y aplicaciones deberían pensar en una base de datos vectorial como un diccionario o índice de conocimiento, con una larga lista de claves (pensamientos o conceptos) y una carga útil (texto relacionado con la clave) para cada una de ellas. Por ejemplo, es posible que tenga una clave de ‘tendencias de consumo en 2023’ con una carga útil que contenga el texto de un análisis de encuesta de una empresa de analistas o un estudio interno de una empresa de productos de consumo». Elección de una base de datos vectorial Los desarrolladores tienen varias opciones tecnológicas a la hora de convertir información en incrustaciones y creación de búsquedas vectoriales, comparaciones de similitudes y funciones de respuesta a preguntas. “Tenemos bases de datos vectoriales dedicadas que están llegando al mercado, así como muchas bases de datos convencionales de uso general que obtienen extensiones vectoriales”, dice Peter Zaitsev, fundador de Percona. “Una elección que enfrentan los desarrolladores es adoptar esas nuevas bases de datos, que pueden ofrecer más funciones y rendimiento, o seguir usando bases de datos de uso general con extensiones. A juzgar por la historia, no existe una única respuesta correcta y, dependiendo de la aplicación que se esté creando y de la experiencia del equipo, ambos enfoques tienen sus ventajas”. Rajesh Abhyankar, jefe del COE Gen AI en Persistent Systems, dice: “Las bases de datos vectoriales comúnmente Los utilizados para motores de búsqueda, chatbots y procesamiento de lenguaje natural incluyen Pinecone, FAISS y Mivus. Y continúa: «Pinecone es ideal para sistemas de recomendación y detección de fraude, FAISS para buscar recomendaciones de imágenes y productos, y Milvus para búsquedas y recomendaciones de alto rendimiento en tiempo real». Otras bases de datos vectoriales incluyen Chroma, LanceDB, Marqo, Qdrant, Vespa y Weaviate. Las bases de datos y los motores que admiten capacidades de búsqueda vectorial incluyen Cassandra, Coveo, Elasticsearch OpenSearch, PostgreSQL, Redis, Rockset y Zilliz. La búsqueda de vectores es una capacidad de Azure Cognitive Search y Azure tiene conectores para muchas otras bases de datos vectoriales. AWS admite varias opciones de bases de datos vectoriales, mientras que Google Cloud tiene Vector AI Vector Search y conectores para otras tecnologías de bases de datos vectoriales. Bases de datos vectoriales y riesgos de IA generativa El uso de bases de datos y búsquedas vectoriales conlleva algunos riesgos comunes de IA generativa, como la calidad de los datos, problemas de modelado, y más. Los nuevos temas incluyen alucinaciones y confabulaciones. Algunas formas de abordar las alucinaciones y las confabulaciones incluyen mejorar los datos de entrenamiento y acceder a información en tiempo real. «La distinción entre alucinaciones y confabulaciones es importante cuando se considera el papel de las bases de datos vectoriales en el flujo de trabajo de LLM», dice Joe Regensburger, vicepresidente de investigación de Immuta. «Estrictamente desde una perspectiva de toma de decisiones de seguridad, la confabulación presenta un riesgo mayor que la alucinación porque los LLM producen respuestas plausibles». Regensburger compartió dos recomendaciones sobre pasos para reducir las imprecisiones del modelo. «Obtener buenos resultados de un LLM requiere tener datos buenos, seleccionados y gobernados, independientemente de dónde se almacenen los datos». También señala que «la incrustación es el elemento más esencial a resolver». «Existe una ciencia para crear incrustaciones que contengan la información más importante y admitan búsquedas flexibles», afirma. Rahul Pradhan, vicepresidente de producto y estrategia de Couchbase, comparte cómo las bases de datos vectoriales ayudan a abordar los problemas de alucinaciones. almacenamiento a largo plazo para mitigar las alucinaciones de la IA y garantizar que el conocimiento del modelo permanezca coherente y fundamentado, minimizando el riesgo de respuestas inexactas”, dice. Conclusión Cuando las bases de datos SQL comenzaron a volverse omnipresentes, encabezaron décadas de innovación en torno a información estructurada organizada en filas y columnas. .NoSQL, bases de datos en columnas, almacenes de valores clave, bases de datos de documentos y almacenes de datos de objetos permiten a los desarrolladores almacenar, administrar y consultar diferentes conjuntos de datos semiestructurados y no estructurados. La tecnología vectorial es igualmente fundamental para la IA generativa, con posibles efectos dominó como lo que Como hemos visto con SQL, comprender la vectorización y estar familiarizado con las bases de datos vectoriales es un conjunto de habilidades esenciales para los desarrolladores. Copyright © 2023 IDG Communications, Inc.

Source link