IA creativa en la empresa: cómo adaptar ChatGPT (y similares) a las necesidades de mi cliente
En el último año, la Inteligencia Artificial Generativa (IAG) ha pasado de tener un interés meramente académico a copar las primeras planas de las noticias mundiales, gracias a la democratización de herramientas como ChatGPT o Stable Diffusion, capaces de llegar al público general con un uso gratuito y una interfaz muy sencilla.
Pero, desde el punto de vista empresarial, ¿es esta ola de atención puro hype, o estamos en las primeras etapas de una gran revolución? ¿Es la IAG capaz de generar nuevos e innovadores casos de uso?
La era de los LLM (Large Language Models, modelos de lenguaje masivo)
La IAG es una rama de la IA centrada en crear contenido nuevo. Podemos considerar la IAG como una nueva etapa de la IA: con estadística tradicional sólo se puede tener un análisis descriptivo y diagnóstico.
- Con IA (especialmente con técnicas de machine learning o aprendizaje automático), podemos pasar a tener analítica predictiva y prescriptiva, que sea capaz de prever patrones o situaciones y ofrecer recomendaciones o alternativas para afrontarlos.
- Con IAG, tenemos analítica creativa, capaz no sólo de estudiar los datos existentes sino de generar nueva información.
Si bien la IAG se aplica a todas las formas de creatividad humana (texto, audio, imagen, vídeo…), posiblemente su vertiente más conocida son los llamados Large Language Models (LLM, modelos de lenguaje masivos), especialmente ChatGPT de OpenAI, que tiene el honor de ser la App de mayor crecimiento de la historia. Podemos interactuar con ellos empleando nuestro lenguaje natural y no el lenguaje de las máquinas.
La IA 'tradicional' (en este campo cualquier cosa con más de 5 años ya es tradicional) sin duda supuso un cambio de mentalidad para las empresas, equivalente a la democratización de la informática en los años 80 y de internet en los 90. Esta transformación digital permite optimizar procesos para hacerlos más eficientes y seguros, y la toma de decisiones basadas en el dato, por mencionar dos de las principales aplicaciones.
¿Tenemos casos de uso equivalentes con IAG?
Algunos de ellos, propuestos en estas primeras etapas de la IAG, incluyen:
- Búsquedas internas de documentación: disponiendo de grandes volúmenes de información no estructurada (texto), se puede consultar en un lenguaje natural información concreta sobre conceptos, estrategias o dudas. Hasta ahora, no disponíamos de mucho más que el Ctrl+F para buscar correspondencias exactas, lo que es poco eficiente, muy proclive a errores, y sólo otorga información fragmentaria.
- Asistentes virtuales (chatbots): con la precisión y versatilidad alcanzada por los últimos LLMs, los chatbots son capaces de responder de forma mucho más completa a preguntas de usuarios. La principal ventaja de los LLMs es que tienen memoria, y por tanto son capaces de mantener una conversación completa (Q&A), pudiendo incluso retomar desde el último punto de forma natural en el caso de tener que interrumpirla. Esto facilita que la inmensa mayoría de problemas que puedan tener los clientes se resuelvan con gran agilidad, necesitando intervención humana sólo en los más complejos. Incluso, se puede hacer análisis de sentimientos sobre respuestas pasadas, para entender qué estrategias y soluciones han sido las más satisfactorias.
- Generación de datos sintéticos: a partir de un conjunto de datos privado, podemos engrosar su volumen para disponer de una muestra mayor. Esto es especialmente útil cuando la obtención de datos reales requiere mucho tiempo o recursos. Mediante IAG, no será necesario tener conocimientos avanzados de técnicas estadísticas para hacerlo.
- Redacción de propuestas: empleando documentos ya existentes, se pueden generar nuevas propuestas de valor alineadas con la estrategia de la compañía, según la tipología de cliente, equipo, tipo de caso de uso, plazos, etc.
- Resúmenes ejecutivos: también a partir de documentos, o transcripciones de voz (otro de los usos de la IAG), podemos resumir largos y complejos textos, muchas veces de naturaleza técnica o legal, incluso adaptando el estilo del resumen a nuestras necesidades. De este modo, si no tenemos tiempo para asistir a un importante comité, de leer 120 páginas de propuesta o de entender una nueva legislación europea, la IAG podrá resumirnos los puntos más relevantes de forma clara y concisa.
- Márketing personalizado: la IA 'tradicional' permite el perfilado y segmentación de clientes, lo que facilita el diseño de campañas personalizadas. Mediante IAG, se puede crear márketing a nivel individual, de forma que no haya dos interacciones iguales con cada cliente, y siempre ateniéndose a los valores y estilo de campañas existentes en la compañía. Al igual que con los subtítulos de YouTube generados automáticamente, esto abre la puerta a crear contenido a una escala imposible de manera manual.
Reentrenar o adaptar… o ambos
Todo esto suena muy bien, pero ¿cómo podemos tener un LLM para nuestra empresa? La opción más evidente es la fuerza bruta: entrenamos uno propio.
Lamentablemente, no es casualidad que los mejores LLM vengan de los llamados hyperscalers: OpenAI, Google, Meta, Amazon… entrenar uno de estos modelos requiere una cantidad desorbitada de datos, tiempo y recursos.
◾ Como ejemplo, el entrenamiento de GPT-4 costó unos 100 millones de dólares, una cifra al alcance de muy pocos bolsillos.
Por otra parte, como bien nos recuerda ChatGPT-3 cada vez que le preguntamos por algo actual, su entrenamiento se hizo con datos hasta septiembre de 2021, por lo que desconoce nada posterior. No obstante, su sucesor GPT-4 sí incorporó conversaciones con GPT-3 como parte del entrenamiento.
Esto provocó que, si un usuario de una compañía le había revelado secretos en el chat de la versión anterior, otro usuario en GPT-4 podía acceder a dicha información simplemente preguntando por ella. A raíz de estos incidentes, muchas empresas han prohibido su uso para evitar fugas de datos confidenciales.
Por tanto, si no podemos entrenar nuestro propio modelo de manera nativa, tenemos que adoptar otras estrategias para que el LLM trabaje con nuestros datos y casuística de empresa. Existen dos estrategias, el fine tuning (afinado) y el retrieval-augmented generation (RAG, generación aumentada de recuperación, en una difícil traducción). No existe una mejor que la otra, sino que depende de muchos factores.
- Fine tuning: como su nombre indica, la idea es afinar el modelo, pero manteniendo su base. Es decir, coger un LLM existente como ChatGPT, y entrenarlo incorporando todos los datos de mi empresa. Aunque puede ser algo costoso, estamos hablando de órdenes de magnitud menos que esos millones de dólares que suponen hacerlo de manera nativa, pues es un pequeño conjunto de entrenamiento en comparación con toda la información que ha engullido el modelo base.
- RAG: en este caso, lo único que hacemos es crear una base de datos con la información pertinente al cliente, de manera que éste pueda hacer preguntas al LLM sobre esta. Ante una consulta, el LLM buscará en todos estos documentos trozos de información que parezcan relevantes a lo que se ha preguntado, hará un ranking de los más similares, y generará una respuesta a partir de ellos. Su principal ventaja es que no sólo nos dirá la respuesta, sino que podrá indicarnos qué documentos y qué partes son aquellas que ha empleado para crearla, de manera que se pueda hacer una trazabilidad y verificación de la información.
¿Cuál de las dos es más adecuada para mi caso de uso o cliente?
Como hemos dicho, depende. Por ejemplo, debemos tener en cuenta el volumen de datos disponible. Si nuestro cliente es una pequeña empresa y sólo va a tener unos cientos o pocos miles de documentos, es difícil hacer un fine tuning satisfactorio (seguramente tengamos overfitting), y será mucho más adecuado el enfoque de RAG.
La privacidad también es fundamental
Si necesitamos restringir la información a la que empleados de diferentes niveles o departamentos pueden acceder, tendremos que hacer un RAG, en el que según el tipo de acceso diferentes documentos estén disponibles. El enfoque de fine tuning no es adecuado, pues habría una potencial fuga de datos similar a la comentada de GPT.
¿Cómo de versátil e interpretable debe ser nuestro modelo?
Este punto es crucial, porque elegir la estrategia incorrecta según el caso de uso puede arruinarlo. Por ejemplo, si queremos que nuestro LLM nos resuma un documento o nos haga un mix entre varios para explicarnos algo, queremos que sea literal y trazable.
Los LLM son muy proclives a alucinar, sobre todo cuando le preguntamos algo que desconoce. De este modo, si usamos una estrategia de fine tuning y le pedimos que nos explique algo que no figura en ningún documento, es posible que nos meta una trola y empiece a inventarse cosas.
Sin embargo, si tenemos un chatbot para atención al cliente necesitamos que sea muy flexible y versátil, pues debe lidiar con muchas casuísticas diferentes. En este caso, el fine tuning sería mucho más adecuado que el RAG.
La tasa de refresco de nuestros datos es asimismo importante
Si nos interesa sobre todo tener en cuenta datos pasados, sabiendo que la tasa de nuevos datos va a ser muy baja, puede ser interesante adoptar un fine tuning, pero si queremos ir incorporando información con una alta frecuencia (horas, días), es mucho mejor ir a por un RAG.
El problema es que el fine tuning “congela” los datos que entran, por lo que cada vez que quisiéramos incorporar nueva información tendríamos que reentrenarlo, siendo muy poco eficiente (y costoso).
Compromiso entre ambos enfoques
Existe un compromiso entre ambos enfoques, consistente en hacer un fine tuning para incorporar un gran corpus de información pasada de la empresa o cliente, y sobre ese modelo más versátil y adaptado usar un RAG, para tener en cuenta datos recientes.
◾ Siguiendo el ejemplo del chatbot, esto permitiría tener un asistente virtual capaz de lidiar con un abanico de situaciones basadas en el histórico de incidencias resueltas, y al mismo tiempo tener información actualizada del estado de incidencias abiertas.
Una vez tengamos en cuenta todos estos factores, podremos elegir una de las estrategias, o combinarlas, para poder hacer un ChatGPT personalizado en diferentes clientes, generando así una atractiva propuesta de valor con diversos casos de uso.
Referencias:
- https://www.linkedin.com/pulse/rag-vs-finetuning-your-best-approach-boost-llm-application-saha/
- https://rito.hashnode.dev/fine-tuning-vs-rag-retrieval-augmented-generation
- https://neo4j.com/developer-blog/fine-tuning-retrieval-augmented-generation/
- https://towardsdatascience.com/rag-vs-finetuning-which-is-the-best-tool-to-boost-your-llm-application-94654b1eaba7