Alternativas LLM para AgroChat y soluciones de IA tipo chat que deban funcionar offline, a bajo coste y requieran privacidad

Imagen generada mediante IA

En nuestras dos anteriores entradas (que puedes localizar al final de este artículo) presentamos AgroChat y uno de los conceptos más importantes detrás de AgroChat y otros sistemas similares, los LLM (Large Language Models).

AgroChat es una herramienta para brindar apoyo y asesoramiento ecológico a los agricultores, que se comunican con ella usando lenguaje natural en formato chat. AgroChat les proporciona consejos sobre buenas prácticas en el campo, información principalmente proporcionada por agencias gubernamentales e instituciones.

Una de las tecnologías principales de AgroChat es una IA, en concreto un LLM (Large Language Model, Modelo Grande de Lenguaje en español). Cuando se concibió AgroChat se valoraron diferentes alternativas y se eligió Llama2, como ya comentamos en la anterior entrada. La situación ha cambiado enormemente: hoy en día existen alternativas que no se pudieron valorar en su momento o que han evolucionado. En esta entrada haremos un repaso de carácter más técnico, revisando algunas de estas alternativas por si este recorrido es de interés para la comunidad. Además, ya que AgroChat se beneficia de proyectos de código abierto, nos parece lógico también dar a conocer conocimiento relacionado con ellos.

Algunos podrían pensar que lo primordial sería que AgroChat proporcionara la información más precisa, y entonces el LLM con un mayor porcentaje de precisión/acierto sería lo más adecuado. Si bien esto es muy importante, los ingenieros muchas veces tenemos que lidiar con otros requisitos. Las soluciones software (y las IA de los LLM no son una excepción) no son universales, sino que algunas se adaptan mejor o peor dependiendo del problema al que queremos dar solución. En el caso que nos ocupa, AgroChat debe ser capaz de correr en dispositivos de hardware propios por varios motivos, entre ellos: coste, privacidad, disponibilidad y huella ambiental.

El primero es fácil de entender dada la situación actual que vive el campo: muchas explotaciones están al límite de gastos y sería complicado aumentar sus costes de manera continuada en el tiempo.

Los temas relacionados con privacidad pueden ser más complicado de transmitir. Aun así, creemos que cada vez serán más relevantes: al enviar datos a un LLM en la nube que funciona como servicio, estos incluyen entre sus cláusulas la cesión de los datos que enviamos, con los que muchas empresas terminan comerciando más allá de nuestros deseos.

Asimismo, el requisito de disponibilidad es muy relevante para AgroChat. No solo queremos proporcionar información precisa, sino además hacerlo en el momento adecuado, y en todas las zonas rurales no siempre existe cobertura, especialmente lejos de las poblaciones. No tener cobertura si usamos un sistema online implicaría no poder acceder al chat desde muchas explotaciones agrícolas, precisamente ahí donde el agricultor querrá saber en muchas ocasiones, p.ej. si debe regar o no.

Por último, destacamos la huella ambiental que supone entrenar y realizar la inferencia con muchos de los LLM más complejos, algo que, dada la situación climática global, deberíamos intentar minimizar como ingenieros en la medida de los posible.

Si bien existen diferentes propuestas para “calificar” o evaluar cómo de “buenas” son las respuestas que proporcionan los LLM, no hay un consenso completo sobre cómo hacerlo, y se requieren tanto criterios objetivos como subjetivos. Algunos ejemplos de sistemas de evaluación son MMLU (Massive Multitask Language Understanding) o ARC Challenge entre otros. Una cosa que debemos tener en cuenta en este sentido es que, igual que hay humanos a los que se les puede dar muy bien la oratoria, pero que pueden ser mediocres contestando preguntas tipo test o pueden tener nulas capacidades de traducción, los LLM actualmente tienen esas mismas limitaciones. Es decir, hay LLM que se comportan mejor en unas pruebas que en otras, o que se expresan “mejor” que otros LLM.

Aunque no hay consenso, algunos sistemas de evaluación comparten criterios, y es interesante conocer ciertos “rankings” para realizar una buena elección de LLM antes de comenzar a realizar un proyecto. A los interesados en este tema, os recomendamos revisar la clasificación de Hugging Face, una empresa que está haciendo muchos esfuerzos con la comunidad Open Source en temas relacionados con IA en general y LLM en particular (https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard). Para los que estéis interesados el tema de la evaluación de modelos, os recomendamos un artículo de investigación publicado recientemente en ACM Transactions on Intelligent Systems y titulado “A survey on evaluation of large language models. ACM Transactions on Intelligent Systems and Technology”.

Ranking de LLM de Hugging Face. Hasta el puesto 12, todos son propietarios y aparecen distintas versiones de ChatGPT, que en su versión gratuita (3.5) parece en el puesto 11.

En estas clasificaciones es habitual ver que la última versión de ChatGPT, ChatGPT-4 en estos momentos, encabeza las clasificaciones. ¿Por qué no usarlo si además desde finales de 2023 da la opción de crear “GPTs” de manera sencilla online mediante un formulario para subirle información para entrenarse? Pues hay varias razones: coste recurrente, ausencia de privacidad (algo en lo que siguen trabajando y que conllevaría la compra de esa característica como extra), y que es un software propietario que no podríamos instalar en nuestro propio hardware, con lo cual podríamos encontrarnos en medio del campo sin acceso a AgroChat. Además, por lo que sabemos, este modelo es el que mayor huella ambiental tiene, aunque las empresas no están siendo muy transparentes con esta información. Nos vemos pues obligados a descartar ChatGPT en todas sus versiones para poder cumplir con los requisitos de AgroChat, ya que todas las versiones de chatGPT, no cumplirían con los requisitos, salvo el de coste que es cero en el caso de usar chatGPT 3.5. Esto último conlleva como contraprestación ceder todos nuestros datos y esta versión no se puede entrenar con datos propios siquiera.

En este tipo de clasificaciones, hace algo más de medio año Llama2, nuestra elección para AgroChat, venía entre los primeros 10 puestos en muchas de ellas y era la primera alternativa si se buscaban opciones de LLM con licencia que permitiera su descarga, reentrenamiento y uso en hardware propio. En estas clasificaciones aparecían otras alternativas que valoramos en su momento, como Alpaca o Falcon por nombrar algunas, que se descartaron por la superioridad de Llama2 en precisión de respuestas. La situación ha cambiado mucho en estos meses y actualmente Llama2 aparece en la posición 21 de este ranking y también se ha alejado de los primeros puestos en otros rankings. De hecho, si quisiéramos elegir un LLM que respetara los requisitos comentados para AgroChat hoy día, hasta el puesto 12 no aparecería la primera alternativa a valorar, Mixtral, y no muy lejos en puntuación y posición en el ranking WizardLM.

En esta última parte de la entrada, analicemos cómo funcionan estos modelos y en qué se diferencian de Llama2, lo que creemos que puede ser de interés para una comunidad en ebullición y continuo desarrollo. Empezamos por WizardML, que usa Llama2 como LLM. Pero si usa Llama2, ¿por qué da mejores resultados que este? Pues el resultado radica en algo que ya hemos comentado: un LLM no logra ser experto en todo actualmente al mismo tiempo. Al usar los LLM nos hemos ido dando cuenta de esto. Es más, fue muy evidente en las primeras versiones de algunos conocidos LLM en 2022 y 2023. En esta primera generación, los LLM nos podían responder bien al razonar la solución a un problema complejo, pero fallaban al calcular una simple operación matemática que requería dicho problema.

Esa situación llevó a que los desarrolladores creasen IA para intentar solventar esta problemática. En el caso de WizardLM, se ha incorporado principalmente un módulo adicional llamado WizardMath con capacidad específica para resolver operaciones. Así que podríamos decir que WizardLM no es un LLM en sí, sino una IA capaz de combinar respuestas de Llama2 y WizardMath para dar respuestas más acertadas al usuario. En el caso de AgroChat, esta capacidad sería bastante relevante, ya que ayudaría a proponer de manera precisa al agricultor cantidad de abono a comprar, volumen de riego a reservar, cálculo y simulaciones de costes… y muchos otros aspectos que requieren operaciones matemáticas. WizardLM incorpora algún LLM más, pero carece de relevancia para las implicaciones de AgroChat, por lo que no lo comentaremos aquí.

Esta idea de crear “expertos” en ciertos temas es lo que ha catapultado en la clasificación a ChatGPT-4 y ha facilitado la aparición de LLM con muy buenos resultados como Mixtral. Ambos LLM llevan más allá la idea de tener un experto para un tema concreto y tienen un número creciente de LLM funcionando bajo ellos. Chat-GPT no lo hizo público en su informe técnico principal sobre la arquitectura, y ya no publica artículos de investigación ni su código fuente, por lo que hay muchas incertidumbres sobre su funcionamiento y arquitectura (que trabaja usando expertos es algo que se ha filtrado de forma informal). Este tipo de sistemas que coordinan el trabajo de LLM expertos está expandiéndose tanto que han recibido una nueva nomenclatura para referirnos a ellos: MoE (Mixture of Experts, Mezcla de Expertos en español) donde un módulo principal, que puede ser una IA, es la encargada de enviar y evaluar las respuestas de sus expertos para dar una respuesta final única al usuario.

El concepto de MoE tiene su origen en la modelización estadística, donde representa una combinación de varias funciones de distribución de probabilidad simples (los «expertos») para formar una función de mezcla flexible y expresiva. Del mismo modo, en el aprendizaje automático, las MoE se refieren a conjuntos de múltiples módulos de redes neuronales diseñados para manejar con eficacia diferentes partes de los espacios de entrada. Esto implica que ciertos módulos de la MoE pueden, y suelen, trabajar en paralelo. Al combinar los resultados de estos componentes individuales («modelos expertos»), las MoE crean predictores sofisticados adaptados a problemas complejos que requieren diversas especializaciones, mejorando de este modo el resultado proporcionado al usuario.

De Mixtral, LLM europeo, creado por una empresa con sede social en Francia, encontramos 2 versiones en el ranking: una propietaria en el puesto 6 y otra con licencia Apache2 en el puesto 12. Es esta última la que más interesaría a aquellos lectores de esta entrada interesados en crear un software que comparta los requisitos que hemos especificado para AgroChat, pues la podríamos descargar y modificar o reentrenar para adecuarla a nuestros propósitos, no requiriendo de conexión a Internet con el servidor de Mixtral en ningún momento. Así que es muy probable que muchos de los que estáis interesados en Llama2, lo estéis en Mixtral, pues en los benchmark que hemos revisado no solo se ven mejores respuestas en todos los idiomas, sino que además en más rápido (entre 4 y 6 veces dependiendo de la fuente). O, visto de otro modo, podemos proporcionar una mejor salida en el mismo tiempo, pero a menor coste (hardware menos potente) o con un menor consumo energético, algo relevante en ambientes como las explotaciones agrícolas donde la infraestructura eléctrica a veces no llega y debemos usar energía renovable.

Consulta también las demás publicaciones sobre este proyecto:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.