paint-brush
Cómo los LLM y la búsqueda de vectores han revolucionado la creación de aplicaciones de IApor@datastax
1,166 lecturas
1,166 lecturas

Cómo los LLM y la búsqueda de vectores han revolucionado la creación de aplicaciones de IA

por DataStax4m2023/06/14
Read on Terminal Reader

Demasiado Largo; Para Leer

La inteligencia artificial generativa y los modelos de lenguaje extenso (LLM) están generando mucho entusiasmo. Han despertado la imaginación del público en general debido a lo útiles que pueden ser cuando se les solicita ayuda para escribir un texto. Pero para los desarrolladores, son aún más revolucionarios, porque han simplificado la forma en que se pueden crear las aplicaciones de IA. Echemos un vistazo a por qué.
featured image - Cómo los LLM y la búsqueda de vectores han revolucionado la creación de aplicaciones de IA
DataStax HackerNoon profile picture
0-item
1-item
2-item


La inteligencia artificial generativa y los modelos de lenguaje extenso (LLM) están generando mucho entusiasmo. Han despertado la imaginación del público en general debido a lo útiles que pueden ser cuando se les solicita ayuda para escribir un texto. Pero para los desarrolladores, son aún más revolucionarios, debido a cuán dramáticamente han simplificado la forma en que se pueden construir las aplicaciones de IA. Echemos un vistazo a por qué.

Por qué la IA era difícil hasta hace muy poco

Tradicionalmente, la forma de crear una aplicación de IA ha sido un proceso de cuatro pasos:


  1. Codifique las partes más relevantes de sus datos como vectores. Comprender cuáles son las "piezas más relevantes" es un problema difícil y, a menudo, implica construir un modelo separado solo para resolver esto en lugar de hacer una conjetura. Extraer las piezas relevantes de los datos sin procesar es otro problema difícil. (Estos son problemas importantes, por lo que construimos Kaskada para resolverlos .)
  2. Entrena un modelo usando esos vectores para lograr tu objetivo. Por ejemplo, uno de los objetivos más importantes de Netflix es predecir "qué querrá ver Jonathan cuando inicie sesión". Si tiene un problema común como el reconocimiento de imágenes, puede "afinar" un modelo existente en lugar de comenzar desde cero, pero esto suele ser un territorio de muchas GPU por horas o días.
  3. Implemente el modelo y expóngalo como una API.
  4. Para ejecutarlo en producción, ejecute sus datos en tiempo real a través de la misma codificación que en el paso 1, luego envíelos a través del modelo que creó e implementó para hacer su predicción ("inferencia").

El paso 3 es generalmente sencillo (aunque no sin desafíos ); Los pasos 1, 2 y 4 implican soluciones a medida que pueden requerir habilidades difíciles de encontrar.


No es sorprendente que cuando un dominio problemático requiere un equipo de doctores para abordarlo con éxito, será prohibitivo en términos de costos y habilidades para todas las empresas, excepto para unas pocas.

Por qué la IA es fácil ahora con los LLM

Una razón por la que todo el mundo está tan entusiasmado con la IA generativa con LLM es porque a menudo se puede resolver un problema "lo suficientemente bien" sin ninguno de los pasos anteriores. Con la IA generativa, su trabajo es:


  1. Averigüe cómo obtener sus datos en GPT como texto
  2. Formular consultas sobre esos datos en inglés


Eso es todo, de verdad. Todo lo demás son detalles.


El detalle más importante: ¿qué datos das a GPT en el paso 1? No se puede arrojar todo en él; solo puede manejar tokens de 4k en GPT-3.5, o hasta 32k en GPT-4, que es mucho más lento y costoso.


La búsqueda vectorial le permite tomar la consulta exacta que ya creó para enviarla a GPT y enviarla a su base de datos, donde coloca todo lo que sabe sobre el cliente. La búsqueda vectorial responde literalmente a "cuáles son los datos más relevantes para esta consulta" sin más esfuerzo de su parte; es casi mágico.

(Creo firmemente que la búsqueda de vectores debe ser una función de la base de datos principal de su aplicación y no un sistema separado, razón por la cual lo agregamos a Apache Cassandra y DataStax Astra DB .)


Una vez que tenga sus datos más relevantes y su consulta, los agrupa y realiza una llamada a OpenAI, obtiene su respuesta y listo. (Estoy pasando por alto algunos desafíos, como " ¿Cómo se obtiene un LLM para responder en un formato estrictamente definido? para que pueda consumir la respuesta e incorporarla a su aplicación”, pero estos son los tipos de desafíos que los ingenieros de software ya saben cómo resolver).


Entonces, un proveedor de contenido de transmisión usaría datos como: cada sesión que Jonathan pasó alguna vez con el título, los actores y la categoría; cuánto tiempo lo vio; más todos los metadatos que se nos ocurran, y luego simplemente desnormalizarlo todo en un único blob de texto y ejecutarlo a través del codificador para obtener un vector.


Y si esto fuera Netflix, sería súper fácil, porque Netflix ya tiene sus datos en Cassandra , por lo que no habría necesidad de poner en marcha un nuevo sistema o contratar doctores. Solo necesita que sus desarrolladores escriban una consulta para reunir esos metadatos en una sola tabla y enviar cada fila a Google Palmera o OpenAI ada API para convertirlos en vectores (llamados incrustaciones ).


Una vez hecho esto, puede obtener las filas relevantes de Cassandra con una consulta como esta, ¿dónde? es una variable de enlace para su vector de consulta que obtiene de la misma API de incrustación:


 SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20


Luego agrega esos resultados a su solicitud de LLM y... eso es todo. Ahora tiene un sistema de recomendación que construyó en una semana sin doctorados, solo DB Astra y su LLM de elección.

¿Sigue siendo útil el modelo tradicional?

Travis Fisher tiene razón cuando dice que solo considere modelos personalizados o de ajuste fino una vez que haya agotado los enfoques más simples con LLM. Sin embargo, los LLM son más lentos y costosos que los modelos personalizados con vectores de funciones más pequeños y/o más cuidadosamente ajustados. Además, en casos de uso como el de Netflix en el que desea tomar entradas legibles por máquina y obtener salidas legibles por máquina, por lo general puede lograr resultados más precisos con un modelo personalizado que con un viaje de ida y vuelta a través de texto e inglés.


Pero incluso si necesita crear un modelo personalizado, los LLM pueden ayudarlo a generar datos, etiquetas y características para hacerlo. Eso, sin embargo, es un tema para otro artículo.

¿Cómo puedo probar esto?

recomiendo leer Hacia el artículo de Data Science cubriendo el siguiente nivel sobre cómo funciona todo esto. Entonces inscribirse para Astra DB habilitado para búsqueda de vectores, y regístrese para nuestro seminario web del 15 de junio en la búsqueda de vectores para LLM. Prepárate: ¡esto va a ser divertido!



Por Jonathan Ellis, DataStax