Aller au contenu
CoMLRL
Guide de l'utilisateur

Questions-réponses

Traduit automatiquement avec translategemma:4b Original en anglais

Quelles sont les différences entre CoMLRL et autres frameworks de formation multi-LLM ?

De nombreux frameworks supportent l’entraînement de systèmes multi-agents basés sur LLM, spécifiques à un rôle (PettingLLMs, Dr. MAS, MARTI). La plupart sont formulés comme des jeux stochastiques partiellement observables (POSGs), dans lesquels chaque agent a sa propre récompense. Les règles de récompense manuelles pour chaque agent ou rôle rendent les signaux d’entraînement plus denses, mais leur conception est fastidieuse.

Coopératif MARL a été étudié depuis longtemps et est normalement formulé comme un Dec-POMDP. Dans un Dec-POMDP, tous les agents partagent une récompense, de sorte que la politique optimale conjointe est, en théorie, globalement optimale pour la collaboration. Cette formulation permet également aux agents de trouver des tâches plus spécifiques à partir de rôles divisés (voir le CoopHumanEval domaine de codage). De plus, contrairement aux approches de partage de paramètres, CoMLRL prend principalement en charge l’optimisation de systèmes de véritables agents distincts LLM agents, ce qui représente mieux les environnements hétérogènes LLMs avec des capacités différentes et reflète directement le contexte multi-agent.

CoMLRL prend-il en charge la formation d’un seul agent après l’entraînement RL ?

Oui. Les utilisateurs peuvent définir num_agents=1 pour un seul agent RL après l’entraînement en suivant le guide d’initialisation guide. Cependant, CoMLRL priorise l’entraînement multi-agent simple et omet certaines optimisations spécifiques au cas d’un seul agent. Pour l’entraînement d’un seul agent, LLaMA-Factory, trl, OpenRLHF, et verl sont de meilleurs choix.

CoMLRL prend-il en charge le jeu autonome ou RSI avec RL après l’entraînement?

Oui. CoMLRL prend en charge multi-tours RL après entraînement, afin que les interactions avec l’environnement puissent être personnalisées pour ces pipelines.

L’entraînement par auto-jeu (Spiral, SPADE) et l’auto-amélioration (MAFT) peuvent être mis en œuvre avec un seul agent dans un trainer (num_agents=1), qui ajuste un prompt de style auto-jeu à chaque tour, par exemple en modifiant le rôle de l’agent ou en lui demandant de réviser sa réponse précédente.

L’auto-amélioration récursive multi-agent (RSI) est plus complexe : chaque agent fonctionne dans son propre trainer, et le système coordonne ces trainers. À chaque tour, le système envoie différents prompts à un ou plusieurs trainers pour collecter les réponses de leurs agents, et il déclenche l’entraînement de chaque trainer à ses étapes prévues, par exemple en alternant entre les agents.

CoMLRL prend-il en charge la formation distribuée ?

CoMLRL peut placer des modèles entiers, tels que actors, critics, et des modèles de récompense, sur différents GPUs d’une seule machine avec parallel_training="mp". Il ne fournit pas d’entraînement multi-processus en parallèle ni de partage d’un seul modèle sur plusieurs appareils. Parallélisation de l’entraînement décrit la configuration des appareils.

Puis-je utiliser le partage de paramètres pour économiser VRAM ?

Oui. Comme décrit dans Entraîner des entités, agents accepte les objets de modèles chargés, de sorte qu’un modèle chargé peut être passé pour chaque agent. Les agents partagent alors ses poids, et les formatteurs peuvent leur attribuer différents rôles. Chaque agent conserve son propre état d’optimiseur, de sorte que le partage permet d’économiser de la mémoire pour les poids et les gradients, mais pas pour les états d’optimiseur.

Puis-je utiliser une formation à faible précision ou LoRA pour économiser VRAM ?

Non recommandé. Dans nos expériences approfondies, ni PEFT ni les méthodes telles que LoRA ni l’entraînement avec une précision inférieure n’ont fonctionné bien. LoRA ne pouvaient pas ajuster pleinement les modèles, et des modifications efficaces peuvent même nécessiter des LoRA adaptateurs, ce qui peut augmenter l’utilisation de la mémoire. Au contraire, le partage de paramètres peut être utilisé lorsque les agents démarrent à partir de modèles ayant des performances initiales similaires, et le pointage de gradient peut réduire la mémoire des activations, bien que ces approches n’aient pas été largement testées. Les utilisateurs sont invités à les tester et à partager leurs résultats dans les CoMLRL problèmes.