Augmenter simplement le nombre d’agents permet aussi de faire évoluer les performances des LLM
(arxiv.org)- Les LLM voient leur précision vaciller sur les tâches complexes, et cette étude vérifie s’il est possible d’améliorer les performances avec le seul principe échantillonnage-vote, sans structure supplémentaire
- Agent Forest est une méthode d’ensemble simple qui exécute plusieurs fois la même requête, regroupe les réponses, puis choisit la réponse finale à la majorité
- Sur GSM8K, avec une taille d’ensemble de 15, Llama2-13B atteint une précision comparable à celle de Llama2-70B, et Llama2-70B comme GPT-3.5-Turbo se rapprochent aussi de modèles de référence plus puissants
- Cette approche peut être combinée indépendamment avec des méthodes fondées sur le CoT ou des frameworks de collaboration multi-agents, ce qui permet d’ajouter encore des gains de performance aux techniques existantes
- Les gains sont particulièrement marqués sur les tâches difficiles et avec les modèles plus faibles, ce qui laisse entrevoir un meilleur rapport coût-performance sans conception complexe de prompts
La précision des LLM vacille sur les tâches complexes
- Les LLM montrent de solides capacités dans diverses applications comme la génération de langage, la compréhension et le raisonnement, mais ils peinent à produire des réponses exactes sur des tâches complexes
- Les travaux existants sur l’amélioration des performances ont principalement utilisé des méthodes d’ensemble et des frameworks de collaboration entre plusieurs agents LLM
- LLM-Debate organise une discussion entre plusieurs agents LLM autour de la réponse finale à une tâche arithmétique, améliorant les capacités de raisonnement par rapport à un agent unique
- CoT-SC génère plusieurs chaînes de pensée (thought chain) et sélectionne la réponse la plus auto-cohérente, ce qui améliore le raisonnement par rapport au CoT à chaîne unique
- Des résultats antérieurs avaient déjà observé une amélioration des performances à mesure que le nombre d’agents ou de chaînes de pensée augmentait, mais les propriétés de mise à l’échelle liées au nombre même d’agents LLM de base n’avaient pas été suffisamment étudiées comme objet de recherche à part entière
Fonctionnement d’Agent Forest
- Agent Forest utilise une procédure simple d’échantillonnage-vote pour mesurer l’impact de l’augmentation du nombre d’agents LLM sur les performances
- Le fonctionnement se divise en deux étapes
- La requête de la tâche est fournie de manière répétée à un LLM unique ou à un framework collaboratif multi-agents afin de produire plusieurs sorties
- Un vote majoritaire est ensuite appliqué aux sorties générées pour déterminer le résultat final
- La procédure s’inspire de CoT-SC, mais ne dépend pas d’une conception complexe des trajectoires CoT
- Son nom est un clin d’œil au Random Forest classique
Résultats sur GSM8K et sur plusieurs tâches
- Les expériences ont été menées sur plusieurs jeux de données couvrant divers LLM de tailles différentes ainsi que des tâches de raisonnement et de génération
- Globalement, les performances des LLM peuvent s’améliorer à mesure que la taille de l’ensemble, c’est-à-dire le nombre d’agents, augmente
- Dans les résultats GSM8K de la Figure 1, Llama2-13B, Llama2-70B et GPT-3.5-Turbo voient tous leur précision progresser lorsque la taille de l’ensemble augmente
- Avec une taille d’ensemble de 15, Llama2-13B atteint une précision comparable à celle de Llama2-70B
- Avec des tailles d’ensemble de 15 et 20, Llama2-70B et GPT-3.5-Turbo affichent respectivement une précision comparable à celle de modèles de référence plus puissants
- Les barres d’erreur de la figure représentent l’erreur standard
- Même de petits LLM peuvent obtenir des performances comparables, voire supérieures, à celles de LLM plus grands lorsqu’on applique un ensemble simple
Un gain de performance qu’on peut ajouter aux techniques existantes
- Agent Forest est une approche qui peut être combinée indépendamment avec les méthodes existantes plus complexes d’amélioration des performances des LLM
- Il peut se greffer comme un plugin sur les méthodes fondées sur le CoT pour apporter des gains supplémentaires
- Même face à des méthodes complexes, Agent Forest seul peut atteindre dans la plupart des cas des performances comparables
- Il permet d’obtenir des résultats compétitifs sans conception manuelle supplémentaire de prompts ni framework collaboratif complexe
Effets selon la difficulté et optimisation
- Les gains de performance sont plus importants sur les tâches difficiles et avec les modèles plus faibles
- L’impact de la difficulté des problèmes sur l’effet d’Agent Forest est analysé selon trois dimensions
- la difficulté intrinsèque du problème
- la longueur des étapes de raisonnement
- la probabilité a priori de la bonne réponse
- Des expériences contrôlant chacune de ces dimensions permettent d’identifier les propriétés qui influencent l’effet d’Agent Forest
- Sur la base des propriétés identifiées, des stratégies d’optimisation supplémentaires ont été développées afin de mieux faire ressortir l’effet du principe « More Agents »
- Le code public est disponible sur
https://github.com/MoreAgentsIsAllYouNeed/AgentForest
1 commentaires
Avis de Hacker News
Il semble que certaines personnes n’aient pas vraiment lu cet article
L’article semble presque réfuter l’idée de configurations multi-agents comme Chain-of-thought ou LLM-Debate
L’alternative proposée dans l’article consiste à poser plusieurs fois la même requête au même LLM, sans partager de contexte entre les requêtes, puis à calculer la similarité entre les réponses pour choisir la plus fréquente
Si un LLM produit un mélange d’hallucinations et de bonnes réponses, les bonnes réponses devraient se ressembler, tandis que les hallucinations seraient dispersées de façon confuse, donc ça se tient
Or cet algorithme simple fonctionne aussi bien que d’autres algorithmes multi-agents, parfois même mieux
Autrement dit, les autres techniques multi-agents qui utilisent des prompts ingénieux ne semblent pas faire quelque chose de particulier ; l’essentiel de l’amélioration semble venir du fait d’exécuter le LLM plusieurs fois et de lui demander de « choisir la meilleure réponse »
Depuis longtemps, les simulations météo relancent le modèle en modifiant légèrement les paramètres d’entrée, puis écartent les valeurs aberrantes et font une moyenne, et cela fonctionne plutôt bien
Les LLM ont eux aussi, en général, une graine aléatoire, c’est-à-dire une valeur de température ; on peut donc obtenir une meilleure estimation en fournissant la même entrée et en moyennant les sorties
Le Lorenz system donne aussi un indice, voire une explication, sur la raison pour laquelle le problème des hallucinations est probablement insoluble
Si l’on adopte ce point de vue, il devient aussi rapidement évident que les LLM sont presque une impasse sur la voie de l’intelligence artificielle générale
Une simulation n’est pas une émulation, et la probabilité qu’un LLM devienne intelligent est comparable à celle qu’une prévision météo finisse par contrôler la météo
Typiquement, une bibliothèque donnée se comporte d’une façon très atypique et non documentée ; si l’on demande un exemple, on obtient du code de fausses fonctions élégantes et faciles à comprendre, qui auraient rendu la bibliothèque inutile si elle avait réellement fonctionné ainsi dès le départ
Je ne pense pas que relancer ce type de requête plusieurs fois aide beaucoup
En moyennant les résultats de plusieurs prédicteurs ou en les faisant voter pour choisir la prédiction la plus fréquente, on réduit le bruit des prédictions tout en sélectionnant leur dénominateur commun
Mais on sait déjà que cela ne garantit pas une réponse correcte ; alors en quoi l’exécuter plusieurs fois pourrait-il être meilleur ?
C’est bien en soi, mais les légendes urbaines ou culturelles risquent aussi de remonter très haut
C’est une erreur très humaine, mais cela reste une erreur
Pour dépasser cela, il faudrait, à mon avis, construire un modèle du monde, trouver des contradictions, puis rechercher de nouvelles preuves pour les résoudre
Enfin
Cela fait environ 16 mois que je dis qu’il ne faut pas se concentrer sur le fait de rendre un agent unique capable de tout réussir, mais qu’il faut hiérarchiser les agents ; je suis donc content d’avoir maintenant un article à citer
Il est aussi intéressant de voir que, selon les tâches, les rendements décroissants s’aplatissent rapidement à des tailles similaires à celles des réunions humaines idéales : https://www.researchgate.net/figure/18-Optimal-Meeting-Sizes...
Je me demande à quel point ces chiffres se rapprocheraient si l’on testait le nombre d’agents avec des paliers plus fins
J’aimerais aussi voir plus tard jusqu’où les performances peuvent encore progresser lorsque chaque agent est fine-tuné avec un objectif légèrement différent
Rien que le fait de donner à chaque agent une température différente pourrait aussi apporter un gain de performance
Je suis très heureux de voir la communauté de recherche commencer à aller dans cette direction
Les SLIM agents de LLMWare valent aussi le coup d’œil : https://github.com/llmware-ai/llmware/tree/main/examples/SLI...
Ils se concentrent presque exactement sur ce sujet en reliant plusieurs LLM locaux
Un bon sujet connexe est la nécessité d’un échantillonnage déterministe selon l’usage du modèle
Le terme est peut-être un peu inexact, mais l’équipe de LLMWare a fait une bonne vidéo en deux parties à ce sujet : https://www.youtube.com/watch?v=7oMTGhSKuNY
Je pense que les petits LLM spécialisés sont la voie à suivre
Pour précision, je n’ai aucun lien avec eux ; je pense juste que c’est un projet vraiment excellent
Comme si cinq ou huit versions de nous-mêmes circulaient dans notre crâne, et que l’une d’elles jouait plus ou moins le rôle de superviseur
crewAI en est un exemple
Cela semble lié à l’épisode d’Edward Chang dans le récent ACM ByteCast
C’est un épisode avec Edward Chang, professeur associé au département d’informatique de Stanford University : https://learning.acm.org/bytecast/ep50-edward-y-chang
Si vous n’avez pas envie d’écouter, il y a aussi une transcription
L’approche qu’il utilise consiste, au lieu du format question/réponse habituel des LLM actuels, à faire discuter plusieurs LLM entre eux sur un sujet de débat, tandis que l’humain joue le rôle de modérateur
À ressources égales, la réponse finale à laquelle plusieurs LLM aboutissent par la conversation serait nettement améliorée, tant en précision qu’en exactitude
Il suffit de faire résoudre le problème indépendamment par les LLM, puis de choisir la réponse la plus populaire
Je ne l’ai pas benchmarké, mais ça m’a paru assez convaincant
Par exemple, j’avais défini chaque agent comme un « expert » différent d’une sous-discipline des mathématiques : théoricien de la preuve, spécialiste d’algèbre abstraite, etc.
C’était utile, mais le rapport signal/bruit était élevé, et beaucoup d’agents répétaient les mêmes points
Il y a quelque chose qui m’a frustré dans toutes ces recherches sur les mélanges d’experts
Même une simple introduction aux algorithmes randomisés, ou au raisonnement probabiliste de base, montre que si le paramètre de température est supérieur à 0, interroger un LLM N fois et choisir le résultat majoritaire donnera, en général, de meilleures performances que de ne poser la question qu’une seule fois et de prendre ce résultat
Spécialiser et mélanger différents LLM pourrait apporter des améliorations supplémentaires, et dans ce cas on pourrait même les faire tourner à température 0
Ou bien, comme le propose cet article, mieux découper la tâche en sous-tâches
Mais à mes yeux, personne n’a vraiment quantifié ces gains hypothétiques en les comparant à une simple répétition aléatoire
En particulier, certaines stratégies de vote ou de mélange, voire certains modèles précis, pourraient être strictement moins bons qu’une répétition naïve, comme avec une approche MoE
Je ne suis pas chercheur en LLM, plutôt un citoyen inquiet, donc j’ai peut-être manqué quelque chose
Mais il est étrange de voir les chercheurs en LLM sembler avoir oublié le premier chapitre de Motwani/Raghavan
À regarder rapidement les graphiques, l’essentiel du gain arrive avec 10 agents, puis augmente un peu à 20, avant de subir des rendements décroissants
Il ne semble pas que le simple fait d’ajouter toujours plus d’agents suffise à résoudre le problème
Il existe un dépôt public : https://anonymous.4open.science/r/more_agent_is_all_you_need...
Les prompts utilisés pour le benchmark sont ici : https://anonymous.4open.science/r/more_agent_is_all_you_need...
Très intéressant
J’aimerais aussi voir un benchmark d’agents basés sur des LLM utilisant un ensemble d’outils, dans le même esprit
Ce n’est pas une méthode extrêmement coûteuse et non durable ?
Les modèles récents auront probablement des rendements décroissants, donc je suis d’accord avec l’idée que MoE est la voie à suivre
Mais la quantité de calcul pour un seul prompt n’augmente-t-elle pas soudainement de 7 à 15 fois ?
En lisant seulement quelques-uns des commentaires les mieux classés actuellement, le modèle économique des entreprises qui proposent des services de LLM paraît étrange
C’est comme un service de voiture qui doit être appelé n fois pour vous emmener de A à B, ou une lessive qu’il faut appliquer n fois pour que les vêtements soient « probablement » propres
Si une entreprise facture pour fournir de « l’intelligence artificielle », ne serait-il pas logique de ne payer que pour les bonnes réponses ?
Si elle fournit un service de transport, ne devrait-on payer que lorsqu’elle vous amène à destination ?
Si ça échoue assez souvent, le seuil à partir duquel des humains ou une automatisation traditionnelle générique deviennent préférables n’est-il pas assez bas ?
J’ai l’impression que cette bulle éclatera de cette manière
Je ne doute pas que les LLM soient des outils révolutionnaires, mais je reste sincèrement sceptique, sauf pour des applications très finement ciblées
Peut-être que la leçon est que répartir la responsabilité entre des agents LLM reproduit le même modèle d’échec que les organisations humaines existantes
Si elles ne fournissent pas ce qui a été convenu, le client peut demander une correction
Si un chauffeur de taxi prend un itinéraire inutilement compliqué, facture trop cher ou ne vous amène pas à destination, vous pouvez vous plaindre auprès de la compagnie de taxi
Si le linge n’est pas correctement lavé, vous demandez qu’on le refasse
Mais beaucoup d’activités sont intrinsèquement risquées ou ont des résultats incertains
Parce qu’il y a toujours des facteurs que personne ne contrôle
Un avocat ne peut pas promettre de gagner un procès, mais il doit défendre l’affaire du mieux possible
Un médecin ne garantit pas que vous retrouverez la santé
Aucun chauffeur de taxi ne garantit d’arriver à destination à l’heure, mais il vous y emmènera
Atlassian ne garantit pas que vous respecterez vos dates de release en utilisant une instance JIRA managée, mais fait de son mieux pour éviter la perte de données
Fondamentalement, une entreprise qui vend l’accès à un chatbot ne garantira probablement pas non plus de fournir le bon résultat
Elle peut sans doute garantir un certain niveau de disponibilité
Même en agrégeant autant d’agents GPT-3.5 qu’on veut, la précision reste inférieure à un seul appel à GPT-4
Il suffit de bien les organiser