3 points par ninebow 2024-06-24 | Aucun commentaire pour le moment. | Partager sur WhatsApp

PyTorchKR

Après le MoE (Mixture-of-Experts) et le MoD (Mixture-of-Depths), une nouvelle technique visant à améliorer les performances des LLM a été proposée, et nous vous la présentons ici. Cette technique, appelée mélange d’agents (MoA, Mixture-of-Agents), consiste à réunir les points forts de plusieurs LLM afin d’exploiter leur expertise collective et d’améliorer fortement les performances. Voyons cela ensemble. :smiley:

Brève introduction à la technique MoE (Mixture-of-Experts)

La technique MoE, appelée mélange d’experts, consiste à entraîner un modèle de façon à inclure plusieurs modèles experts. Le modèle est donc volumineux, mais au moment de l’exécution (inférence), seuls certains experts capables de répondre de manière appropriée à la requête de l’utilisateur sont activés, ce qui permet d’améliorer les performances du modèle. #mixture-of-experts

Brève introduction à la technique MoD (Mixture-of-Depths)

Récemment, des recherches ont également été menées et publiées sur la technique MoD (Mixture-of-Depths), que l’on peut considérer comme un mélange de profondeurs. Il s’agit d’une approche qui réduit la profondeur en diminuant le nombre de couches activées. #mixture-of-depths


MoA (Mixture-of-Agents), une nouvelle technique pour améliorer les performances des LLM

Présentation de l’article sur la technique MoA (Mixture-of-Agents)

De nombreux grands modèles de langage (LLM) ont récemment été lancés et rendus publics, et chacun d’eux affiche des performances impressionnantes dans un ou plusieurs domaines. Cependant, les performances de ces LLM progressent en proportion de la taille du modèle, des données d’entraînement et de l’infrastructure de calcul, ce qui rend leur extension supplémentaire très coûteuse.

Cet article (Mixture-of-Agents Enhances Large Language Model Capabilities) propose un framework de mélange d’agents (Mixture-of-Agent) permettant d’améliorer les capacités de raisonnement et de génération de langage en tirant parti des points forts de plusieurs LLM. Cette approche repose sur la capacité de collaboration (collaborativeness) entre LLM : lorsqu’un modèle exploite la réponse d’un autre modèle, il peut générer une réponse de meilleure qualité, même si cette réponse de départ est elle-même de qualité limitée.

Grâce à cette technique MoA, les forces propres à plusieurs LLM peuvent être combinées afin d’agréger leur expertise et d’obtenir au final de meilleures performances. Les résultats montrent d’excellentes performances sur plusieurs benchmarks, notamment AlpacaEval 2.0, MT-Benchmark et FLASK, avec des résultats particulièrement supérieurs à ceux de GPT-4o (GPT-4 Omni).

Surtout, le grand avantage du MoA est qu’il s’utilise sans modifier les LLM existants, en ajustant uniquement les prompts d’entrée et certains paramètres (comme temperature et d’autres sampling options). Autrement dit, aucun processus supplémentaire tel que le fine-tuning n’est nécessaire, et l’approche offre une grande flexibilité et une bonne extensibilité, permettant d’appliquer directement les LLM les plus récents, quelle que soit leur taille ou leur architecture.

Présentation de la technique MoA (Mixture-of-Agents)

La méthodologie Mixture-of-Agents (MoA) vise à exploiter l’expertise collective de plusieurs LLM au moyen d’une structure hiérarchique. Chaque couche se compose de plusieurs agents LLM, qui génèrent des réponses à partir des sorties de la couche précédente afin d’améliorer progressivement la sortie finale.

L’idée centrale du MoA part du constat qu’un grand modèle de langage (LLM) peut produire une réponse de meilleure qualité lorsqu’il prend en compte les réponses d’autres modèles. En d’autres termes, le fait de permettre à plusieurs LLM de s’appuyer mutuellement sur leurs réponses leur confère une capacité de collaboration, ce qui améliore la qualité de la réponse finale. Ainsi, même si la qualité des résultats intermédiaires est faible, la qualité de la réponse finale peut être considérablement augmentée.

Les principales caractéristiques du mélange d’agents peuvent être résumées comme suit :

  • Structure hiérarchique : le framework MoA utilise une architecture multicouche composée de plusieurs agents LLM. Chaque agent améliore les réponses de la couche précédente, ce qui permet d’améliorer progressivement la sortie finale.

  • Diversité des modèles : le framework met l’accent sur l’utilisation de différents LLM à chaque couche. La combinaison de modèles variés permet de générer des réponses plus riches et plus nuancées.

  • Amélioration itérative : le processus itératif permet d’améliorer en continu le texte généré et d’aboutir au meilleur résultat grâce à une synthèse collaborative entre plusieurs modèles.

Capacité de collaboration des grands modèles de langage (Collaborativeness)

La capacité de collaboration (collaborativeness) des grands modèles de langage (LLM, Large Language Models) désigne l’aptitude de différents LLM à produire de meilleures réponses lorsqu’ils prennent en compte les sorties les uns des autres. De nombreuses études montrent que lorsqu’un modèle linguistique utilise la sortie d’un autre modèle comme information auxiliaire, la qualité de sa réponse s’améliore. Cela est possible parce que chaque modèle possède des forces différentes.

Par exemple, un modèle peut être très performant pour suivre des instructions complexes, tandis qu’un autre peut être meilleur pour générer du code. Cette diversité permet, dans un environnement collaboratif, à chaque modèle de compenser les faiblesses des autres. Plusieurs benchmarks ont été utilisés pour démontrer expérimentalement cette capacité de collaboration, et notamment sur le benchmark AlpacaEval 2.0, où l’on a pu constater une nette amélioration des performances lorsque plusieurs modèles prenaient en compte les sorties des autres.

On observe ainsi une amélioration marquée des performances globales lorsque les LLM reçoivent des réponses générées indépendamment par d’autres modèles. Ces résultats montrent que les LLM ont intrinsèquement un comportement collaboratif. Ils suggèrent également que même des sorties de faible qualité peuvent aider un autre modèle à produire une meilleure réponse lorsqu’il en extrait des informations.

Dans cet article, les rôles des LLM utilisés dans la technique MoA sont divisés en deux catégories : proposeur (Proposer) et agrégateur (Aggregator) :

  • LLM proposeur (Proposer) : il s’agit d’un LLM particulièrement efficace pour générer des réponses de référence utiles que d’autres modèles pourront exploiter. Un bon proposeur ne produit pas nécessairement à lui seul une réponse très bien notée, mais il peut fournir davantage de contexte et de points de vue variés, contribuant ainsi à une meilleure réponse finale lorsqu’il est utilisé avec l’agrégateur (Aggregator).

  • LLM agrégateur (Aggregator) : il s’agit d’un modèle capable de synthétiser les réponses d’un ou plusieurs autres modèles en une sortie unique de haute qualité. Un agrégateur efficace doit être capable de maintenir, voire d’améliorer, la qualité de la réponse finale même lorsque les entrées fournies par les proposeurs (Proposer) sont de qualité inférieure à la réponse que l’agrégateur LLM pourrait générer seul.

Structure de la technique MoA (Architecture of MoA, Mixture-of-Agents)

Comme illustré ci-dessus, le framework MoA se compose de plusieurs couches (Layer, $l$), et chaque couche (Layer-$i$) contient plusieurs ($n$) LLM. Dans le schéma, les LLM de la couche $i$ sont indiqués comme $A_{i,1}$, $A_{i,2}$, ...$A_{i,n}$. Dans cette structure, les agents de chaque couche utilisent toutes les sorties de la couche précédente comme informations auxiliaires pour générer leur réponse. Un point important à noter est qu’un même LLM peut être réutilisé à la fois dans une même couche et dans différentes couches.

Au départ, les LLM de la première couche génèrent indépendamment des réponses au prompt donné. Ensuite, ces réponses sont transmises aux agents de la couche suivante, qui produisent des réponses plus raffinées. Ce processus se répète jusqu’à l’obtention d’une réponse finale plus précise et plus complète. En répétant ce mécanisme plusieurs fois, il devient possible d’obtenir une réponse plus robuste et plus synthétique. Cela permet de dépasser les limites de chaque modèle pris isolément et de produire des réponses de haute qualité intégrant des informations et des perspectives plus variées, ce qui est particulièrement utile pour la résolution de problèmes complexes.

Un autre élément important de cette architecture de mélange d’agents est le choix des modèles. Il est essentiel de sélectionner avec soin les modèles de chaque couche en fonction de leurs performances et de leur diversité. La configuration optimale des agents est déterminée en prenant en compte à la fois les métriques de performance et la diversité des modèles.

Critères de sélection des agents (LLM) à utiliser

Dans la technique MoA, les modèles sont sélectionnés non seulement sur la base de métriques de performance indiquant leur capacité à bien exécuter une tâche donnée, mais aussi selon leur diversité, c’est-à-dire leur capacité à générer des réponses variées :

  • Métriques de performance (Performance Metrics) : elles indiquent dans quelle mesure chaque modèle réussit une tâche donnée, et permettent de sélectionner les modèles capables de produire des sorties de haute qualité. La diversité désigne la capacité des modèles à aborder et résoudre les problèmes de façons différentes. Par exemple, un modèle peut exceller en traitement du langage naturel, tandis qu’un autre peut être plus performant en génération de code ou en résolution de problèmes mathématiques. En combinant des modèles aux compétences variées, l’architecture multi-agents peut générer des réponses plus complètes et plus puissantes.

  • Prise en compte de la diversité (Diversity Considerations) : la diversité des modèles permet de réduire les biais propres à un modèle unique et d’élargir la gamme de problèmes pouvant être résolus. Par exemple, si le même modèle est utilisé de façon répétée dans plusieurs couches, les limites de ce modèle peuvent dégrader la qualité des réponses. Il est donc important d’utiliser des modèles variés. En choisissant des modèles adaptés à chaque couche sur la base des performances et de la diversité, il est possible de maximiser la qualité de la réponse finale.

Structure à proposeur unique (Single-Proposer) et structure à proposeurs multiples (Multi-Proposer)

D’un point de vue abstrait de haut niveau (High-level perspective), la technique MoA peut être considérée comme une extension du MoE au niveau du modèle. Le MoA peut fonctionner entièrement via l’interface de prompt, sans modifier les activations internes ni les poids des LLM. Autrement dit, contrairement au MoE qui introduit des sous-réseaux spécialisés au sein d’un seul modèle, le MoA utilise un ou plusieurs LLM à travers plusieurs couches.

  • Structure à proposeur unique (Single-Proposer) : bien que le MoA repose fondamentalement sur l’usage de plusieurs agents (LLM), il est aussi possible d’utiliser plusieurs fois le même LLM. Dans ce cas, on modifie différents paramètres d’échantillonnage, notamment temperature, lors de l’envoi des entrées au même modèle afin de générer plusieurs sorties différentes. Dans cette structure à proposeur unique, un seul modèle ou un petit nombre de modèles est activé à chaque couche, mais la diversité des réponses générées joue un rôle important pour permettre à l’agrégateur (Aggregator) de produire la réponse finale.

  • Structure à proposeurs multiples (Multi-Proposer) : différents modèles sont utilisés à chaque couche afin de produire des sorties distinctes. Cela permet de maximiser les interactions entre modèles et leur capacité de collaboration, afin de générer des réponses plus complètes et de meilleure qualité. La structure à proposeurs multiples exploite pleinement la diversité des modèles, élargit le champ des solutions possibles et permet de dépasser les limites d’un modèle unique. Grâce à cette configuration, l’architecture multi-agents peut proposer des solutions plus robustes et plus globales.

Les proposeurs (Proposers) et les agrégateurs (Aggregators) jouent ici des rôles complémentaires. Les proposeurs génèrent des réponses initiales selon différentes approches, et les agrégateurs synthétisent ces réponses afin de garantir la qualité de la réponse finale. Grâce à cette structure collaborative, le système multi-agents peut fournir des réponses plus puissantes et plus complètes qu’un modèle unique.

Performances et efficacité en coûts de la technique MoA

Performances de la technique MoA

Dans le tableau ci-dessus, MoA et MoA-Lite sont des modèles comportant 6 proposeurs, avec respectivement 3 couches (Layer) et 2 couches (Layer). MoA w/ GPT-4o désigne un modèle utilisant GPT-4o comme agrégateur final du MoA. Pour ce benchmark, chaque modèle a été exécuté 3 fois, et le tableau présente à la fois l’écart-type et le score moyen.

Les modèles utilisant la technique MoA ont obtenu un score de 65,1 % sur AlpacaEval 2.0, dépassant les 57,5 % de GPT-4o. Ils ont également montré de meilleures performances que GPT-4o sur MT-Benchmark.

Comme le montre la figure ci-dessus, la technique MoA est plus performante que l’utilisation d’un seul LLM. Cela semble s’expliquer par le fait que l’agrégateur (aggregator) ne se contente pas de choisir l’une des réponses générées par les LLM proposeurs (proposer), mais produit une réponse en s’appuyant de manière globale sur l’ensemble des propositions.

La partie droite de la figure ci-dessus compare les réponses de l’agrégateur (aggregator) à celles des proposeurs (proposer) à l’aide de scores de similarité tels que BLEU. Pour chaque échantillon, le coefficient de corrélation de rang a été calculé entre les $n$ scores de préférence déterminés par un évaluateur basé sur GPT-4 et les $n$ scores de similarité obtenus à partir des $n$ réponses des proposeurs. En d’autres termes, on confirme l’existence d’une corrélation positive entre le taux de victoire et le score BLEU.

Par ailleurs, afin de déterminer le nombre approprié de proposeurs par couche, l’impact du nombre de proposeurs (la valeur $n$ dans le tableau en haut à gauche) sur la qualité finale a été analysé. La qualité finale augmente avec l’augmentation de $n$, ce qui peut s’expliquer par le fait que l’agrégateur dispose de davantage d’informations grâce à la variété des réponses produites par différents modèles. (Ici, la structure à proposeur unique (Single-Proposer) correspond à l’utilisation d’un seul LLM avec une temperature fixée à 0.7.)

Des expériences ont également été menées pour vérifier si certains modèles excellaient particulièrement dans le rôle de proposeur ou d’agrégateur. (Tableau en haut à droite) Les modèles GPT-4o, Qwen et LLaMA-3 ont montré de bonnes performances dans les deux rôles, tandis que certains modèles, dont WizardLM, se sont révélés plus performants comme proposeurs que comme agrégateurs.

Efficacité en tokens et en coûts de la technique MoA

En incluant l’analyse du budget et des tokens, l’étude montre que MoA peut offrir de hautes performances à un coût inférieur à celui d’autres modèles de pointe. Cela signifie que l’approche est non seulement efficace, mais aussi rentable, et qu’elle constitue une solution pratique pour étendre les capacités des LLM sans coûts excessifs.

Dans la partie gauche (a) de la figure ci-dessus, on présente le coût moyen d’inférence par instance et le taux de victoire LC sur le benchmark AlpacaEval 2.0. Les calculs sont basés sur les coûts des différents fournisseurs d’API, et ils montrent que la technique MoA permet d’atteindre de hautes performances sans engendrer de coûts excessifs. Il est particulièrement notable que MoA-Lite soit environ 4 % meilleur que GPT-4 Turbo tout en étant plus de deux fois plus rentable.

La partie droite (b) de la figure montre la relation entre le taux de victoire LC et le nombre de téraflops. Ici, le nombre de téraflops est utilisé comme valeur de substitution pour représenter la latence. Là encore, comme dans l’analyse de l’efficacité en coûts, on observe une frontière de Pareto (Pareto frontier). Autrement dit, cela montre que l’approche maximise le taux de victoire LC tout en utilisant efficacement les ressources de calcul.

Quelques observations supplémentaires sur la collaboration et la diversité

Les diverses expériences menées dans cet article confirment que les LLM produisent de meilleures réponses lorsqu’ils prennent en compte les sorties d’autres modèles. Cette capacité de collaboration est l’un des éléments clés de l’amélioration des performances obtenue grâce au MoA. Il a également été démontré que l’utilisation de différents LLM à chaque couche donne systématiquement de meilleurs résultats que le recours à un seul modèle. En d’autres termes, la diversité des réponses issue de la diversité des modèles améliore efficacement les performances globales.

Conclusion

Comme nous l’avons vu, la technique de mélange d’agents (MoA, Mixture-of-Agents) représente une avancée importante dans l’exploitation des forces collectives de plusieurs LLM. Grâce à une approche hiérarchique et collaborative, le MoA affiche d’excellentes performances sur divers benchmarks et démontre la valeur de la diversité des modèles ainsi que du raffinement itératif. On peut s’attendre à ce que cette approche ouvre la voie à de nouvelles tentatives pour concevoir des systèmes LLM plus puissants et plus efficaces.

Article sur la technique MoA

https://arxiv.org/abs/2406.04692

Dépôt de la technique MoA

https://github.com/togethercomputer/moa

OpenPipe propose un modèle qui dépasse les performances de GPT-4 avec la technique MoA pour un prix 25 fois inférieur

https://discuss.pytorch.kr/t/openpipe-moa-25-gpt-4/4668

<br /><br />


Ce texte a été rédigé à partir d’un contenu synthétisé par un modèle GPT ; il peut donc contenir des reformulations qui diffèrent du contenu ou de l’intention du texte original. Si le sujet vous intéresse, veuillez également consulter la source d’origine. Si vous remarquez en lisant un passage maladroit ou erroné, merci de le signaler en commentaire. 🤗

⚠️Publicité⚠️ : cet article rédigé par le :pytorch: groupe d’utilisateurs PyTorch Corée 🇰🇷 vous a-t-il été utile ? Inscrivez-vous pour recevoir les principaux articles par email 💌 ! (La fréquence par défaut est hebdomadaire, mais il est aussi possible de passer en quotidien.)

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.