Mixture-of-Agents (MoA) : comment l’intelligence collective améliore les performances des LLM
Les progrès rapides des grands modèles de langage (LLM) sont comme une arme à double tranchant. D’un côté, disposer de nombreux LLM de pointe nous offre de nombreuses options pour résoudre nos cas d’utilisation. De l’autre, cette abondance de choix peut être déroutante.
De plus, comme différentes organisations et entreprises développent ces LLM, ils sont entraînés sur différents jeux de données, ce qui donne des LLM aux spécialités variées. Certains LLM excellent dans la résolution de problèmes mathématiques, tandis que d’autres sont mieux adaptés aux tâches de codage. Cette diversité rend difficile le choix du LLM le plus approprié à nos besoins, surtout lorsqu’il s’agit de cas d’utilisation multidomaines.
Dans cet article, nous explorerons une méthode pour relever ce défi : l’approche Mixture-of-Agents (MoA), qui combine plusieurs LLM aux spécialités différentes en un seul système. Alors, sans plus attendre, commençons par quelques motivations derrière MoA.
La motivation derrière Mixture-of-Agents (MoA)
Les progrès rapides des LLM nous ont offert de nombreuses options lorsqu’il s’agit de choisir le meilleur modèle pour notre cas d’utilisation. Cependant, le théorème du no-free-lunch s’applique toujours aux LLM : aucun modèle unique n’est aussi performant dans toutes les tâches. Différents LLM excellent dans différentes tâches en raison de leurs données d’entraînement variées. Il est donc crucial de sélectionner un LLM qui convient le mieux au problème spécifique que nous essayons de résoudre.
Un défi se pose lorsque nous traitons des cas d’utilisation multidomaines qui nécessitent l’expertise de plusieurs LLM. Cela soulève une question importante : Pouvons-nous utiliser collectivement plusieurs LLM pour exploiter leurs forces individuelles et créer un système plus performant et robuste ? La méthode Mixture-of-Agents (MoA) tente de répondre à cette question.
Qu’est-ce que MoA ?
En bref, Mixture-of-Agents (MoA) est un framework dans lequel plusieurs LLM spécialisés, ou « agents », collaborent pour résoudre des tâches en tirant parti de leurs forces uniques.
Le concept derrière MoA est simple : nous combinons plusieurs LLM aux forces et capacités différentes en un seul système. Lorsqu’un utilisateur soumet une requête, chaque LLM du système génère une réponse. Ensuite, un LLM désigné à la fin synthétise toutes ces réponses en une réponse cohérente pour l’utilisateur, comme le montre la visualisation ci-dessous :
Figure : concept de Mixture-of-Agents
Figure : concept de Mixture-of-Agents.
Bien que le concept de MoA soit simple, il est étonnamment efficace. Les auteurs de l’article sur MoA ont découvert que les LLM ont tendance à générer des sorties de meilleure qualité lorsqu’on leur présente des réponses provenant d’autres LLM.
Ce phénomène a été démontré par des tests de benchmark sur le jeu de données AlpacaEval 2.0 à l’aide de six LLM différents, notamment Qwen, Wizard, Mixtral, Llama 3 et dbrx. Les auteurs ont comparé la qualité des réponses des LLM dans deux conditions : en utilisant des prompts d’entrée directs plutôt que des réponses provenant d’autres modèles. Ils ont mesuré la qualité à l’aide de la métrique de taux de victoire Length Controlled (LC), qui évalue la qualité des sorties indépendamment de facteurs tels que la longueur de la réponse, qui peuvent influencer de manière significative les résultats de l’évaluation.
Figure : comparaison des taux de victoire LC d’AlpacaEval 2.0 pour chaque LLM à partir de deux entrées différentes : directement depuis le prompt utilisateur et depuis la sortie d’autres modèles
Figure : comparaison des taux de victoire LC d’AlpacaEval 2.0 pour chaque LLM à partir de deux entrées différentes : directement depuis le prompt utilisateur et depuis la sortie d’autres modèles. Source.
Les résultats étaient cohérents pour les six LLMs : ils ont obtenu de meilleurs scores de taux de victoire LC lorsqu’ils travaillaient avec des sorties provenant d’autres LLMs, par rapport au traitement direct des prompts d’entrée. Sur la base de ces résultats, les auteurs ont développé le concept de MoA, que nous explorerons en détail dans la section suivante.
Le fondamental de Mixture-of-Agents (MoA)
MoA intègre plusieurs LLMs dans un seul système afin d’améliorer de manière itérative la qualité de génération des réponses.
Le système se compose de plusieurs couches, chacune contenant plusieurs LLMs de tailles et de capacités différentes. Les LLMs de la première couche génèrent indépendamment des réponses au prompt d’entrée. Ces réponses sont ensuite présentées aux LLMs de la deuxième couche comme entrées, lesquels génèrent leurs propres réponses indépendantes. Ce cycle se poursuit à travers les couches suivantes jusqu’à atteindre la couche finale. À la fin, un seul LLM synthétise les réponses de la dernière couche en une réponse finale pour l’utilisateur.
Figure: Illustration de la structure Mixture-of-Agents
Figure : Illustration de la structure Mixture-of-Agents. Source.
Sur la base de ce concept, les LLMs utilisés dans MoA peuvent être classés en deux catégories : proposers et aggregators.
Les proposers génèrent des réponses au sein de chaque couche du système MoA, contribuant à la qualité de la réponse finale.
Les aggregators collectent toutes les réponses des LLMs de la dernière couche et les synthétisent en une réponse de haute qualité pour l’utilisateur.
Étant donné les différentes capacités et spécialités des divers LLMs, nous devons être attentifs lors de la sélection des modèles à utiliser comme proposers et aggregators. Certains LLMs excellent comme proposers, tandis que d’autres fonctionnent mieux comme aggregators, et certains peuvent remplir efficacement les deux rôles. Nous discuterons des résultats détaillés dans la section suivante.
Comme MoA peut comprendre de nombreuses couches, le même LLM peut être réutilisé comme proposer soit au sein de la même couche, soit à travers différentes couches. Par exemple, nous pouvons construire un système MoA avec 5 couches, chacune contenant 5 LLMs, et utiliser le modèle Llama3 70B dans toutes celles-ci comme single-proposer.
Une fois que les proposers de la dernière couche ont généré leurs réponses, toutes les sorties sont structurées en un seul prompt cohérent afin que l’aggregator génère la réponse finale.
Voici un exemple d’un tel prompt :
Figure: Exemple de prompt pour synthétiser et agréger les réponses de plusieurs LLMs
Figure : Exemple de prompt pour synthétiser et agréger les réponses de plusieurs LLMs. Source.
Bien que ce concept soit similaire à l’approche Mixture-of-Experts (MoE) utilisée dans les réseaux neuronaux traditionnels, il existe une différence essentielle. Dans les réseaux neuronaux traditionnels, les couches MoE sont implémentées sous forme de plusieurs sous-réseaux au sein de l’architecture d’un seul modèle. Par conséquent, lorsque nous disposons de nouvelles données qui s’écartent fortement des données d’entraînement, nous devons affiner les poids de chaque couche MoE afin d’optimiser les performances.
Pendant ce temps, MoA repose entièrement sur le prompting. Par conséquent, il n’est pas nécessaire d’affiner les LLMs pour améliorer les performances globales du système. Cela offre une plus grande flexibilité, car nous pouvons choisir librement différents LLMs comme proposers ou aggregators, quels que soient leur taille et leur architecture. Cela signifie également que si nous disposons à l’avenir d’un nouveau modèle à l’état de l’art, nous pouvons implémenter ce modèle directement dans notre système MoA comme proposer ou aggregator.
MoA offre également des performances compétitives et constitue une alternative efficace à d’autres méthodes multi-agents conçues pour exploiter les diverses capacités des LLMs, telles que :
LLM ranker : cette méthode utilise plusieurs LLM comme proposants pour générer indépendamment des réponses aux requêtes d’entrée. Un LLM autonome sélectionne ensuite la meilleure réponse parmi ces proposants.
RouteLLM : cette méthode utilise une fonction de routage entraînée pour analyser la complexité des requêtes et déterminer quels LLM doivent traiter l’entrée.
Résultats d’évaluation sur des jeux de données de référence
MoA a été évalué sur trois jeux de données de référence : AlpacaEval 2.0, MT-Bench et FLASK.
Trois variantes différentes de MoA ont été testées :
MoA : un système à trois couches avec six proposants par couche (Qwen1.5-110B-Chat, Qwen1.5-72B-Chat, WizardLM-8x22B, LLaMA-3-70B-Instruct, Mixtral-8x22B-v0.1, dbrx-instruct) et Qwen1.5-110B-Chat comme agrégateur.
MoA avec GPT-4o : la même configuration que ci-dessus, mais utilisant GPT-4o comme agrégateur.
MoA-lite : un système à deux couches utilisant les mêmes six proposants et le même agrégateur que le MoA standard.
Figure : MoA à 2 couches (gauche) vs MoA à 3 couches (droite)
Figure : MoA à 2 couches (gauche) vs MoA à 3 couches (droite). Source.
Sur le jeu de données AlpacaEval 2.0, les trois variantes de MoA ont surpassé le modèle de pointe, GPT-4 Omni, jusqu’à 8,2 %. La configuration MoA avec GPT-4o comme agrégateur a atteint le taux de victoire LC le plus élevé parmi les variantes.
Les trois variantes de MoA ont également démontré des performances compétitives sur le jeu de données MT-Bench. Bien que le modèle actuellement à la pointe, GPT-4 Turbo, ait obtenu des résultats exceptionnels, MoA avec GPT-4o comme agrégateur l’a surpassé. La comparaison des performances entre les variantes de MoA et d’autres modèles de pointe est présentée ci-dessous :
Figure : Résultats sur AlpacaEval 2.0 (gauche) et MT-Bench (droite)
Figure : Résultats sur AlpacaEval 2.0 (gauche) et MT-Bench (droite). Source.
Le jeu de données FLASK fournit une évaluation plus granulaire qu’AlpacaEval 2.0 et MT-Bench, évaluant 12 aspects : robustesse, exactitude, efficacité, factualité, bon sens, compréhension, perspicacité, complétude, métacognition, lisibilité, concision et innocuité.
La configuration MoA avec Qwen1.5-110B-Chat comme agrégateur a surpassé GPT-4 Omni dans cinq aspects : exactitude, factualité, perspicacité, complétude et métacognition. Parallèlement, les performances des autres métriques sont tout à fait comparables à celles de GPT-4 Omni, à l’exception de la concision. La configuration MoA a montré une baisse notable de la concision, comme illustré ci-dessous :
Figure : Résultats sur FLASK
Figure : Résultats sur FLASK. Source.
Maintenant que nous connaissons ses performances par rapport à des modèles de pointe comme la famille GPT-4, il est également intéressant d’examiner ses performances par rapport à d’autres méthodes connexes de mixture-of-agent.
Comme mentionné dans la section précédente, un exemple d’une autre méthode de type mixture-of-agent est le LLM ranker, qui utilise plusieurs LLM (proposants) pour générer des réponses indépendantes à un prompt d’entrée. Au lieu d’utiliser un agrégateur, le LLM ranker sélectionne la meilleure réponse parmi les proposants.
Pour l’évaluation, MoA et LLM ranker ont tous deux utilisé les mêmes six proposants : Qwen1.5-110B-Chat, Qwen1.5-72B-Chat, WizardLM-8x22B, LLaMA-3-70B-Instruct, Mixtral-8x22B-v0.1 et dbrx-instruct. Chaque proposant a été testé comme agrégateur pour MoA, tandis que le LLM ranker n’a utilisé que Qwen1.5-110B-Chat pour sélectionner la meilleure réponse.
Lors des évaluations sur le jeu de données AlpacaEval 2.0, MoA a systématiquement surpassé les classeurs LLM, quel que soit l’agrégateur utilisé. Cela montre le potentiel de la méthode MoA, où l’agrégateur, au final, ne se contente pas de choisir l’une des réponses des proposants, mais génère plutôt une agrégation de l’ensemble des réponses des proposants afin de créer une réponse finale plus performante et robuste.
Figure : taux de victoire LC sur AlpacaEval 2.0 avec différents agrégateurs dans une configuration MoA avec 6 proposants
Figure : taux de victoire LC sur AlpacaEval 2.0 avec différents agrégateurs dans une configuration MoA avec 6 proposants. Source.
Recommandations de configuration Mixture-of-Agents (MoA)
Maintenant que nous avons vu les performances de MoA face à la famille GPT-4 à l’aide de trois variantes avec six proposants différents chacune, deux questions clés se posent : comment le nombre de proposants influence-t-il les performances globales de MoA ? Et que se passe-t-il si nous utilisons plusieurs LLM identiques comme proposants au lieu de modèles différents ?
Pour déterminer l’impact du nombre de proposants, l’auteur de l’article sur MoA a évalué MoA sur AlpacaEval 2.0 avec des nombres variables de proposants. Ils ont mesuré le taux de victoire LC de configurations MoA à 2 couches utilisant 6, 3, 2 et 1 proposants différents. Les résultats indiquent qu’un plus grand nombre de proposants aide l’agrégateur à générer des réponses plus robustes.
En outre, les configurations MoA utilisant un seul proposant (des LLM identiques comme proposants) ont obtenu de moins bons résultats que les configurations à plusieurs proposants. Cela suggère que MoA bénéficie d’un ensemble diversifié de LLM aux spécialités différentes plutôt que de l’utilisation d’un seul LLM identique.
Figure : effets du nombre de proposants sur AlpacaEval 2.0.
Figure : effets du nombre de proposants sur AlpacaEval 2.0. Source.
Compte tenu des avantages des configurations à plusieurs proposants, il est également important de comprendre quels LLM fonctionnent le mieux dans ces configurations. Les tests de six LLM différents sur AlpacaEval 2.0 ont révélé que des modèles comme GPT-4o, Qwen et Llama 3 sont suffisamment polyvalents pour servir à la fois de proposants et d’agrégateurs. Cependant, des modèles comme WizardLM obtiennent des résultats nettement meilleurs comme proposants que comme agrégateurs.
Impact des différents LLM utilisés comme proposants par rapport aux agrégateurs
Impact des différents LLM utilisés comme proposants par rapport aux agrégateurs. Source.
En ce qui concerne les coûts, la dépendance de MoA à plusieurs LLM rend son rapport coût-performance particulièrement intéressant lorsqu’on le compare à des modèles de pointe comme GPT-4o et GPT-4 Turbo. Les expériences montrent que MoA-Lite peut surpasser GPT-4 Turbo d’environ 4 % sur AlpacaEval 2.0 tout en réduisant les coûts de plus de moitié. Le coût de MoA-Lite ici est calculé sur la base des informations tarifaires disponibles auprès de TogetherAI. Cependant, si dépenser davantage pour maximiser les performances ne pose pas de problème, alors le MoA à 3 couches serait un meilleur choix.
Figure : compromis performance/coût (gauche) et compromis performance/TFLOPS (droite).
Figure : compromis performance/coût (gauche) et compromis performance/TFLOPS (droite). Source.
Pour l’évaluation de la latence, les auteurs ont utilisé les TFLOPS comme métrique. Les TFLOPS désignent la capacité du système à effectuer mille milliards d’opérations en virgule flottante en une seconde. Bien que les TFLOPS ne soient pas exactement comparables à la latence, l’auteur a utilisé le TFLOP comme approximation de la latence, car celle-ci peut varier selon les systèmes d’inférence. Le résultat de l’expérimentation a montré que la configuration MoA à 3 couches optimise ses TFLOPS afin de maximiser le taux de victoire LC, comme l’indique la ligne pointillée de Pareto dans la visualisation ci-dessus.
Cependant, la famille GPT-4 démontre des TFLOPS plus élevés par rapport aux configurations MoA. Cela est attendu, puisque MoA doit traiter plusieurs réponses de LLM avant de générer sa sortie finale. Cela conduit à sa principale limitation : le Time to First Token (TTFT), qui peut avoir un impact négatif sur l’expérience utilisateur. Les travaux futurs visent à résoudre ce problème en mettant en œuvre une agrégation des réponses par blocs plutôt qu’une agrégation de réponses complètes, ce qui pourrait réduire le TTFT tout en maintenant ses performances.
Conclusion
La méthode Mixture-of-Agents (MoA) offre une solution prometteuse pour tirer parti de la diversité et de la spécialisation des LLM modernes. En utilisant plusieurs LLM dotés de diverses forces au moyen d’un système de proposeurs et d’agrégateurs, MoA crée une réponse finale plus capable et plus robuste. Sa flexibilité et son recours au prompt engineering, plutôt que l’ajustement fin, en font une approche rentable et adaptable, en particulier pour les cas d’utilisation multidomaines.
Les évaluations de référence sur des jeux de données comme AlpacaEval 2.0 et MT-Bench montrent les performances supérieures de MoA par rapport aux modèles de pointe comme la famille GPT-4. Pour optimiser davantage les performances, il est recommandé d’utiliser une configuration multi-proposeurs plutôt qu’une configuration à proposeur unique. Cependant, MoA n’est pas sans limites. Le recours à plusieurs LLM augmente la latence, ce qui affecte l’expérience utilisateur en raison d’un Time to First Token (TTFT) plus élevé. Par conséquent, des améliorations supplémentaires, telles que l’agrégation des réponses par blocs, sont nécessaires pour optimiser son efficacité.
Ressources connexes
Dépôt GitHub MoA : https://github.com/togethercomputer/MoA
Article MoA : Mixture-of-Agents Enhances Large Language Model Capabilities
Que sont les bases de données vectorielles et comment fonctionnent-elles ?
RouteLLM : équilibrer coût et qualité dans les déploiements de LLM
Ajustement fin efficace des LLM avec LoRA (adaptation de bas rang)
Évaluer la sécurité et l’alignement des LLM dans des domaines spécifiques
Continuer à lire

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.


