En nuestra anterior y primera entrada en el blog de la Cátedra Telefónica de la Universidad de Extremadura presentamos AgroChat.
AgroChat es una innovadora herramienta de IA diseñada para brindar apoyo y asesoramiento ecológico a los agricultores en sus tareas diarias en el campo. Su interfaz de usuario en formato chat, usando lenguaje natural, minimiza los conocimientos técnicos necesarios para utilizarla. AgroChat permite acercar la información de agencias gubernamentales e instituciones relacionadas con los objetivos del agricultor.
Dada la creciente animadversión desde algunos sectores hacia la IA, reiteramos que AgroChat no es una herramienta para sustituir agricultores por IA, sino proporcionar apoyo a los agricultores en sus labores. Un apoyo que ahora mismo es muchas veces insuficiente por falta de medios. De hecho, esperamos los siguientes beneficios:
- Acceso rápido y fácil a información especializada
- Mejora de la toma de decisiones
- Aumento de la eficiencia y la productividad
- Expandir prácticas sostenibles y respetuosas con el medio ambiente
- Reducción de costos y riesgos
- Adaptabilidad a diferentes contextos agrícolas
En esta entrada nos queremos centrar en dar a conocer en qué reside la originalidad de nuestra propuesta y cómo se pensó llevar a cabo. Tener un chat con lenguaje natural, como el que requiere AgroChat, conlleva usar lo que conocemos a nivel técnico como LLM, que son las siglas en inglés de Large Language Model, Modelo Grande de Lenguaje en español. Seguramente algunos lectores de este blog ya habrán usado algunos LLM como ChatGPT de OpenAI en alguna de sus versiones: 3, 3.5 o 4 en el momento de escribir estas líneas o Bard de Google.
Un LLM básicamente es un tipo de IA que puede reconocer y generar texto. Esto requiere que se entrenen modelos con enormes cantidades de datos textuales. Pese a que el usuario percibirá otros comportamientos más complejos en la mayoría de los casos al conversar con estos modelos, lo que sucede internamente es un aprendizaje para predecir, a partir de un texto de entrada, cuáles son las palabras más probables que deberían aparecer a continuación.
Esta capacidad de predicción se puede usar, como se hace habitualmente en la actualidad, para generar respuestas a preguntas, resúmenes de textos, traducciones… Os dejamos un enlace donde podéis leer más sobre estos aspectos, pues no son el objetivo de esta entrada.
Los LLM son muy poderosos y versátiles y vivimos un momento en el que están aumentando sus capacidades multimodales, trascendido hacia interfaces de usuario que no dependen únicamente de texto. Sin embargo, tienen sus desafíos y limitaciones, como son los sesgos, los errores, la falta de ética o empatía… En el equipo de desarrollo de AgroChat estamos muy concienciados con el cambio climático y los LLM requieren mucha potencia de cómputo y energía para entrenarse y funcionar, lo que tiene un gran impacto ecológico.
¿Sabías que entrenar un LLM como ChatGPT-3 puede consumir tanta energía como 120 hogares en un año según algunas fuentes (https://observatorioblockchain.com/ia/reducir-consumo-energetico-de-ia-gran-negocio-para-tecnologicas/)?
Este dato no es generalizable a todos los LLM, sino que cambia según el tipo de modelo y parámetros que usa, pero es incuestionable que requieren una gran cantidad de materiales para los centros de cálculo. Estos a su vez necesitan energía para su funcionamiento y agua para su refrigeración. El entrenamiento no es instantáneo: se alarga muchas jornadas dependiendo de la complejidad de LLM y de la capacidad de cada centro de cálculo. Esto dificulta que la energía provenga siempre de fuentes renovables, en todos los centros de cálculo, que deben recurrir a combustibles fósiles que emiten gases de efecto invernadero.
Según un estudio de la Universidad de California en Berkeley, entrenar el LLM ChatGPT-3 necesitó 1.287 GW/h de energía. A partir de ese momento, hay que seguir consumiendo energía y agua para el uso posterior del modelo por parte de los usuarios, conocido técnicamente como fase de inferencia. Ante esta situación, muchos desarrolladores creen necesario buscar soluciones que reduzcan el impacto ecológico de los LLM, sin renunciar a sus beneficios.
Una posible medida para paliar este alto uso de recursos pasa por optimizar los algoritmos y los modelos para que sean más eficientes y requieran menos datos y menos potencia de cómputo. Es por ello que, para evitar sobreconsumos, AgroChat se acerca a solucionar el problema realizando procesamiento cuantificado, minimizando así el hardware y el coste energético y de recursos requeridos. Esta idea no es original de AgroChat, y hay mucha gente interesada en esta capacidad.
En concreto AgroChat se basa en un LLM llamado Llama2, desarrollado por Meta (empresa matriz de Facebook). Por poner en contexto, mientras que GPT-4 se cree que tiene alrededor de 1 billón de parámetros, Llama2 tiene muchísimos menos, contando con 3 versiones para poder ejecutarse en computadoras con diferentes capacidades de procesamiento: 7.000, 13.000 y 70.000 millones de parámetros. Otra diferencia es el conjunto de datos con el que se han entrenado ambos, y que supone un coste económico altísimo. En general, ChatGPT-4 tiene un mejor desempeño al medir su rendimiento con diferentes pruebas creadas para comparar LLM. Ambos se diferencian también en que Llama2 es de código abierto, es decir, que cualquiera puede descargarlo, auditarlo, mejorarlo… mientras que el código de ChatGPT-4 no se ha puesto disponible a la comunidad para ello.
Para AgroChat elegimos Llama2 por algunas ventajas, como que permiten su entrenamiento e inferencia en computadoras relativamente sencillas y accesibles si lo comparamos con ChatGPT. También puede funcionar en 20 idiomas diferentes, incluyendo español. Asimismo, puede adaptarse a diferentes dominios y estilos mejor que otras opciones disponibles en el momento en el que estudiamos la viabilidad técnica del proyecto. Ser código abierto nos permite además la descarga y despliegue en nuestros propios equipos sin necesidad de Internet, con lo que no se requiere conectividad en zonas sin acceso y sin dudas sobre dónde viajan y se almacenan los datos que proporcionamos a la IA.
Empezamos esta entrada con un resumen, permitidnos terminar con otro por no alargarnos más:
Desde hace casi un año que ideamos AgroChat, han surgido opciones que no pudimos valorar, como los “GPTs” de ChatGPT, que permiten configurar un bot basado en GPT al que darle instrucciones de comportamiento para una finalidad concreta. A pesar del enorme cambio en el estado del arte desde entonces, creemos que Llama2 sigue siendo la mejor opción en la actualidad para ser el LLM que pueda soportar el conjunto de características que necesita AgroChat.
Consulta también las demás publicaciones sobre este proyecto: