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:
- 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 .) - 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.
- Implemente el modelo y expóngalo como una API.
- 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 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:
- Averigüe cómo obtener sus datos en GPT como texto
- 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
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 "
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
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
¿Sigue siendo útil el modelo tradicional?
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
Por Jonathan Ellis, DataStax