- Los LLM tienen una precisión inestable en tareas complejas, y este estudio verifica si es posible mejorar el rendimiento solo con muestreo y votación, en lugar de agregar más estructura
- Agent Forest es un método de ensamble simple que ejecuta la misma consulta varias veces, reúne las respuestas y luego elige la respuesta final por mayoría
- En GSM8K, con un tamaño de ensamble de 15, Llama2-13B alcanzó una precisión similar a la de Llama2-70B, y Llama2-70B y GPT-3.5-Turbo también se acercaron a modelos equivalentes más potentes
- Este método puede combinarse de forma independiente con enfoques basados en CoT o frameworks de colaboración multiagente, por lo que puede generar mejoras adicionales de rendimiento sobre técnicas existentes
- La mejora es especialmente grande en tareas difíciles y en modelos más débiles, y deja margen para aumentar la relación costo-rendimiento sin diseñar prompts complejos
Precisión inestable de los LLM en tareas complejas
- Los LLM muestran capacidades sólidas en varias aplicaciones, como generación, comprensión y razonamiento del lenguaje, pero en tareas complejas les cuesta producir respuestas precisas
- Las investigaciones existentes para mejorar el rendimiento han usado principalmente métodos de ensamble y frameworks de colaboración entre múltiples agentes LLM
- LLM-Debate organiza a varios agentes LLM para que debatan la respuesta final de problemas aritméticos, elevando el rendimiento de razonamiento frente a un solo agente
- CoT-SC genera varias cadenas de pensamiento (thought chains) y elige la respuesta más autoconsistente, mejorando el rendimiento de razonamiento frente a CoT con una sola cadena de pensamiento
- En resultados previos también se observó que el rendimiento aumenta cuando crece la cantidad de agentes o de cadenas de pensamiento, pero las propiedades de escalado de la cantidad de agentes LLM básicos en sí no se habían tratado lo suficiente como un tema de investigación separado
Cómo funciona Agent Forest
- Agent Forest usa un procedimiento simple de muestreo y votación para observar el efecto de aumentar la cantidad de agentes LLM sobre el rendimiento
- El funcionamiento se divide en dos pasos
- Se ingresa repetidamente la consulta de la tarea en un solo LLM o en un framework de colaboración entre múltiples agentes LLM para generar varias salidas
- Se aplica votación por mayoría a las salidas generadas para decidir el resultado final
- El procedimiento está inspirado en CoT-SC, pero no depende de diseñar rutas CoT complejas
- El nombre es un homenaje al clásico Random Forest
Resultados en GSM8K y varias tareas
- Los experimentos se realizaron en varios datasets que incluyen distintos LLM de diferentes tamaños y tareas de razonamiento y generación
- En general, a medida que aumenta el tamaño del ensamble, es decir, la cantidad de agentes, el rendimiento de los LLM puede mejorar
- En los resultados de GSM8K de la Figure 1, la precisión de Llama2-13B, Llama2-70B y GPT-3.5-Turbo aumenta conforme crece el tamaño del ensamble
- Con un tamaño de ensamble de 15, Llama2-13B alcanza una precisión comparable a la de Llama2-70B
- Con tamaños de ensamble de 15 y 20, Llama2-70B y GPT-3.5-Turbo muestran una precisión comparable, respectivamente, a la de modelos equivalentes más potentes
- Las barras de error de la figura representan el error estándar
- Incluso los LLM pequeños pueden lograr un rendimiento comparable o superior al de LLM más grandes si se les aplica un ensamble simple
Mejora de rendimiento que puede montarse sobre técnicas existentes
- Agent Forest es un enfoque que puede combinarse de forma independiente con métodos existentes y complejos para mejorar el rendimiento de los LLM
- Puede añadirse como un plugin a métodos basados en CoT para generar mejoras adicionales de rendimiento
- Incluso al compararlo con métodos complejos, Agent Forest por sí solo puede alcanzar un rendimiento comparable en la mayoría de los casos
- Permite obtener resultados competitivos sin diseño manual adicional de prompts ni frameworks de colaboración complejos
Efectos según la dificultad y optimización
- La mejora de rendimiento es mayor en tareas difíciles y en modelos más débiles
- El impacto de la dificultad del problema sobre el efecto de Agent Forest se analiza en tres dimensiones
- La dificultad intrínseca del problema
- La longitud de los pasos de razonamiento
- La probabilidad previa de la respuesta correcta
- Mediante experimentos que ajustan cada dimensión, se identifican los atributos que influyen en el efecto de Agent Forest
- Con base en los atributos identificados, se desarrollan además estrategias de optimización para que el efecto de “More Agents” aparezca con más claridad
- El código público está disponible en
https://github.com/MoreAgentsIsAllYouNeed/AgentForest
1 comentarios
Opiniones en Hacker News
Parece que hay gente que no leyó bien este paper.
Este paper casi parece refutar la idea de las configuraciones multiagente como Chain-of-thought o LLM-Debate.
La alternativa que propone el paper es hacerle la misma consulta varias veces al mismo LLM, sin compartir contexto entre las consultas, calcular la similitud entre las respuestas y elegir la respuesta más común.
Si el LLM produce una mezcla de alucinaciones y respuestas correctas, tiene sentido: las respuestas correctas se parecerán entre sí y las alucinaciones quedarán dispersas de forma caótica.
Pero este algoritmo simple funciona tan bien como otros algoritmos multiagente, y a veces mejor.
Es decir, parece que las otras técnicas multiagente que usan prompts ingeniosos no están haciendo nada especial; la mayor parte de la mejora parece venir de ejecutar el LLM varias veces y pedirle que “elija la mejor respuesta”.
Desde hace mucho, las simulaciones del clima ejecutan el modelo repetidamente cambiando un poco los parámetros de entrada, descartan los valores atípicos y promedian, y eso funciona bastante bien.
Los LLM también suelen tener una semilla aleatoria, es decir, un valor de temperatura, así que si se da la misma entrada y se promedian las salidas se puede obtener una mejor estimación.
Lorenz system también da una pista, quizá una explicación, de por qué el problema de las alucinaciones probablemente sea imposible de resolver.
Si se adopta esta perspectiva, también queda claro rápidamente que los LLM son casi un callejón sin salida en el camino hacia una inteligencia artificial general.
Una simulación no es una emulación, y la posibilidad de que un LLM adquiera inteligencia es parecida a la posibilidad de que un pronóstico del tiempo llegue a controlar el clima.
Normalmente, una librería específica se comporta de una forma muy anómala y no documentada, y si uno pide un ejemplo, aparece código de una función falsa, elegante y fácil de entender, que habría hecho innecesaria esa librería si realmente se hubiera comportado así desde el principio.
No creo que ejecutar esa consulta varias veces vaya a ayudar.
Si se promedian los resultados de varios predictores o se los hace votar para elegir la predicción más común, se puede reducir el ruido de las predicciones al tomar el denominador común entre varias predicciones.
Pero ya sabemos que eso no garantiza la respuesta correcta; entonces, ¿cómo puede ser mejor ejecutarlo varias veces?
Eso en sí está bien, pero creo que las leyendas urbanas o culturales también quedarían muy arriba en el ranking.
Aunque sea un error muy humano, sigue siendo un error.
Para ir más allá de eso, creo que hay que construir un modelo del mundo, encontrar contradicciones y buscar nueva evidencia que resuelva esas contradicciones.
Por fin salió.
Hace unos 16 meses vengo diciendo que no hay que concentrarse en hacer que un solo agente acierte todo, sino que hay que jerarquizar agentes, y me alegra que ahora haya un paper al que apuntar.
También es interesante que los rendimientos decrecientes por tarea se aplanen rápidamente en un tamaño parecido al de las reuniones humanas ideales: https://www.researchgate.net/figure/18-Optimal-Meeting-Sizes...
Me pregunto qué tan cerca coincidirían esos números si hubieran probado la cantidad de agentes con pasos más finos.
También me gustaría ver cuánto más mejora el rendimiento cuando, más adelante, se ajuste finamente cada agente hacia objetivos un poco distintos.
Creo que incluso usar valores de temperatura distintos para cada agente podría mejorar el rendimiento.
Me da mucho gusto que la comunidad de investigación empiece a moverse en esta dirección.
También vale la pena ver los SLIM agents de LLMWare: https://github.com/llmware-ai/llmware/tree/main/examples/SLI...
Se concentran casi exactamente en este tema, conectando varios LLM locales.
Un buen tema relacionado es la necesidad de muestreo determinista según el uso del modelo.
Puede que el término no sea del todo correcto, pero el equipo de LLMWare hizo un buen video en dos partes sobre esto: https://www.youtube.com/watch?v=7oMTGhSKuNY
Creo que los LLM pequeños y especializados son el camino a seguir.
Como aclaración, no tengo ninguna relación con ellos; simplemente me parece un proyecto realmente genial.
Como si dentro del cráneo hubiera unas 5 u 8 versiones de nosotros mismos dando vueltas, y una de ellas actuara más o menos como supervisora.
crewAI es un ejemplo.
Parece estar relacionado con el episodio de Edward Chang en el reciente ACM ByteCast
Es un episodio con Edward Chang, profesor adjunto de Ciencias de la Computación en Stanford University: https://learning.acm.org/bytecast/ep50-edward-y-chang
Si no quieres escucharlo, también hay transcripción
El enfoque que él usa, en lugar del formato común de preguntas/respuestas de los LLM actuales, consiste en hacer que varios LLM conversen entre sí sobre un tema de debate, mientras el humano cumple el rol de moderador
Dice que, con los mismos recursos, la respuesta final a la que llegan varios LLM mediante la conversación mejora mucho tanto en precisión como en exactitud
Basta con hacer que los LLM resuelvan el problema de forma independiente y luego elegir la respuesta más popular
No hice benchmarks, pero me pareció bastante convincente
Por ejemplo, definí a cada agente como un “experto” distinto por subcampo de las matemáticas: teórico de la demostración, experto en álgebra abstracta, etc.
Sí ayudó, pero tenía una relación señal-ruido alta y muchos agentes repetían los mismos puntos
Hay algo que me ha frustrado en toda esta investigación sobre mezcla de expertos
Incluso viendo una introducción a algoritmos aleatorizados o razonamiento probabilístico básico, si el parámetro de temperatura es mayor que 0, consultar a un LLM N veces y elegir el resultado por mayoría generalmente debería rendir mejor que preguntar una sola vez y quedarse con ese resultado
Parece posible lograr mejoras adicionales especializando y mezclando distintos LLM, y en ese caso incluso se podría ejecutar con temperatura 0
O, como propone este paper, también es posible dividir mejor la tarea en subtareas
Pero, a mi parecer, nadie ha cuantificado realmente esas ganancias hipotéticas comparándolas con una repetición aleatoria simple
En particular, con cierta estrategia de votación o forma de mezcla, e incluso con un modelo específico, un enfoque tipo MoE podría ser estrictamente peor que la repetición ingenua
No soy investigador de LLM, más bien un ciudadano preocupado, así que quizá se me está escapando algo
Aun así, me parece raro que los investigadores de LLM parezcan haber olvidado el primer capítulo de Motwani/Raghavan
Viendo el gráfico por encima, la mayor parte de la ganancia viene con 10 agentes, luego aumenta un poco más con 20 y después aparecen rendimientos decrecientes
Parece que no se resolverá simplemente agregando más agentes
Hay un repositorio público: https://anonymous.4open.science/r/more_agent_is_all_you_need...
Los prompts usados en el benchmark están aquí: https://anonymous.4open.science/r/more_agent_is_all_you_need...
Muy interesante
También me gustaría ver un benchmark de agentes basados en LLM que usen un conjunto de herramientas, pero de este estilo
¿No es este un método tremendamente caro e insostenible?
Probablemente los modelos más recientes tendrán rendimientos decrecientes, así que coincido con la idea de que MoE es el camino
Pero ¿no implica que el cómputo de un solo prompt de pronto aumente 7 a 15 veces?
Con solo leer algunos de los comentarios principales actuales, el modelo de negocio de las empresas que ofrecen servicios de LLM se siente extraño
Es como un servicio de autos que necesita n llamadas para llevarte de A a B, o un detergente que hay que aplicar n veces para que la ropa “probablemente” quede limpia
Si una empresa cobra por ofrecer “inteligencia artificial”, ¿no sería razonable pagar solo por las respuestas correctas?
Si ofrecen un servicio de transporte, ¿no deberías pagar solo cuando te llevan hasta el destino?
Si falla con suficiente frecuencia, ¿no baja bastante el umbral a partir del cual un humano o la automatización tradicional de propósito general resultan mejores?
Creo que esta burbuja va a estallar de esta forma
No dudo de que los LLM sean herramientas revolucionarias, pero soy genuinamente escéptico salvo en aplicaciones muy específicas
Quizá la lección sea que distribuir la responsabilidad entre agentes LLM tiene el mismo modelo de fallas que las organizaciones humanas existentes
Si no entregan lo acordado, el cliente puede exigir una corrección
Si un taxista toma una ruta innecesariamente complicada, cobra de más o no te lleva a tu destino, puedes reclamarle a la compañía de taxis
Si la lavandería no quedó bien, pides que la hagan de nuevo
Pero muchas actividades son inherentemente riesgosas o tienen resultados inciertos
Siempre hay factores que nadie puede controlar
Un abogado no puede prometer que ganará un juicio, pero debe representar el caso lo mejor que pueda
Un médico no garantiza que volverás a estar sano
Ningún taxista garantiza llegar a destino a tiempo, pero sí te lleva hasta el destino
Atlassian no garantiza que cumplirás la fecha límite de un release por usar una instancia administrada de JIRA, pero sí hace lo posible por evitar la pérdida de datos
Básicamente, una empresa que vende acceso a un chatbot tampoco va a garantizar que dará resultados correctos
Quizá sí pueda ofrecer alguna garantía de disponibilidad
Por más que hagas un ensamble de agentes GPT-3.5, su exactitud sigue siendo menor que una sola llamada a GPT-4
Solo hay que configurarlos correctamente