Bienvenue dans la documentation de CoMLRL
Cooperative Multi-LLM Reinforcement Learning (CoMLRL) est une bibliothèque open-source pour entraîner plusieurs LLMs afin de collaborer en utilisant l’Apprentissage par Renforcement Multi-Agent (MARL). Elle fournit des implémentations d’algorithmes MARL pour la collaboration LLM et prend en charge différents environnements et benchmarks.

À propos#
“Qu’est-ce que la collaboration LLM?"
La collaboration LLM implique des agents qui travaillent ensemble pour résoudre des tâches dans les systèmes multi-agents. Chaque agent reçoit une consigne et génère une réponse de manière synchrone conformément à ses instructions. Les réponses des agents forment conjointement une solution. Les utilisateurs et les systèmes peuvent valider la solution et fournir des exigences ou des suggestions supplémentaires. Ces interactions font partie de l’environnement, dont l’état peut évoluer en fonction des sorties des agents. Les mises à jour d’état sont incluses dans les invites pour les tours suivants jusqu’à ce que la tâche soit terminée ou qu’un nombre maximal de tours soit atteint.
“Pourquoi devrions-nous ajuster finement les systèmes multi-LLM avec MARL?"
De nombreuses études utilisent des systèmes multi-agents basés sur LLM pour résoudre des tâches grâce à l’interaction des agents. La plupart des modèles sont pré-entraînés séparément sans optimisation pour la coordination, ce qui peut limiter les performances. La conception efficace des invites reste également un défi. Les méthodes de collaboration MARL optimisent des équipes d’agents vers un objectif commun. Ces méthodes établies fournissent une base naturelle pour l’entraînement des systèmes multi-agents basés sur LLM.
“Quels sont les avantages du raisonnement décentralisé?"
Pendant l’exécution décentralisée, les agents utilisent leurs propres invites et politiques. Les générations indépendantes peuvent s’exécuter simultanément lorsque la configuration de l’appareil le permet, prenant en charge les modèles spécifiques aux rôles et la décomposition modulaire des tâches. La latence, l’utilisation de la mémoire et la qualité des tâches dépendent de la taille des modèles, de la longueur des invites, de la communication et des appareils. La décentralisation seule ne garantit pas une accélération ou la préservation de toutes les informations disponibles pour un modèle centralisé.
Fonctionnalités#
- Méthodes d’apprentissage multi-agents pour la collaboration avec LLM:
- Multi-Agent REINFORCE: Méthodes de gradient de politique sans Critic, y compris MAREINFORCE, MAGRPO, MARLOO et MAReMax.
- Réponses conjointes alignées sur l’index avec
joint_mode='aligned'. - Réponses conjointes du produit cartésien avec
joint_mode='cross'.
- Réponses conjointes alignées sur l’index avec
- Multi-Agent Actor-Critic: Méthodes de Actor-Critic, y compris IAC et MAAC.
- Indépendant actor-critic (séparé critic ou value head sur LLM backbone).
- Centralisé critic sur des invites conjointes avec séparé actors.
- Multi-Agent PbRL: MADPO, MARLHF et leurs variantes itératives.
- Optimisation directe conjointe des préférences ou une récompense conjointe apprise suivie de RL.
- Décentralisé actors ou un centralisé actor avec des réponses conjointes conscientes du rôle.
- Multi-Agent REINFORCE: Méthodes de gradient de politique sans Critic, y compris MAREINFORCE, MAGRPO, MARLOO et MAReMax.
- Environnements simulant des tâches du monde réel pour l’entraînement et l’évaluation de la collaboration LLM:
- Rédaction: Plusieurs agents LLM collaborent pour traiter des articles.
- Codage: Génération collaborative de code pour résoudre des problèmes de programmation.
- MBPP - Principalement des problèmes Python de base.
- HumanEval - Problèmes d’évaluation manuscrites.
- CoopHumanEval - Une variante coopérative de HumanEval.
- ClassEval - Compléter le code au niveau de la classe en fonction des attributs et des docstrings.
- Voyage: Planification collaborative des voyages en tenant compte des contraintes de l’utilisateur.
- TravelPlanner - Planifier des itinéraires de voyage de plusieurs jours.
- Utilisation d’outils: Appel de fonctions collaboratif sur BFCL v4.
- Appel parallèle natif - Permet d’effectuer des appels de fonction en parallèle.