Aller au contenu
CoMLRL
Guide de l'utilisateur

Parallélisation de l'entraînement

Traduit automatiquement avec translategemma:4b Original en anglais

CoMLRL peut placer différents modèles sur différents GPUs. Avec parallel_training="mp", chaque agent fonctionne sur son propre appareil à partir de agent_devices, et les agents génèrent simultanément ; critics, les modèles de récompense, les comparateurs et les modèles de référence utilisent leurs propres paramètres d’appareil. L’option par défaut, "none", maintient les agents sur un seul appareil. Les deux modes fonctionnent sur une seule machine et n’exigent aucun planificateur de tâches.

Chaque modèle fonctionne entièrement sur son appareil attribué et n’est pas réparti sur GPUs. Les indices d’appareil font référence aux GPUs visibles via CUDA_VISIBLE_DEVICES. Une configuration pour plusieurs modèles prend soit un appareil par modèle, soit un seul appareil pour tous, afin que les utilisateurs puissent faire correspondre le placement aux GPUs disponibles et à la mémoire de chaque modèle. Le placement et la planification parallèle des appareils peuvent affecter les résultats de l’entraînement numérique.

La configuration suivante attribue à chaque modèle d’un processus itératif MARLHF fonctionner de manière autonome GPU: deux agents, une instance centralisée critic pour MAAC apprentissage de la politique, le modèle de récompense et des copies des agents actuels comme comparateurs.

from comlrl.trainers.preference import MARLHFIterConfig

config = MARLHFIterConfig(
    num_agents=2,
    num_turns=1,
    rl_algorithm="maac",
    parallel_training="mp",
    agent_devices=["cuda:0", "cuda:1"],
    critic_devices="cuda:2",
    reward_model_device="cuda:3",
    comparator_policy="current_copy",
    comparator_devices=["cuda:4", "cuda:5"],
)

Placement des appareils#

Device Placement Paramètres
  • agent_devices : Appareils des agents ; requis en mode "mp"
  • critic_devices : Un appareil pour un critic centralisé, ou un appareil par agent pour des exécutions séparées critics et IAC ; requis en mode "mp" pour MAAC et séparé critic, tandis que MARLHF par défaut utilise les appareils des agents
  • reward_model_device: dispositif de modèle de récompense MARLHF; par défaut, "cuda:0", ou None pour le dispositif trainer
  • comparator_devices : Appareils pour les modèles de comparateur locaux dans une exécution itérative PbRL ; par défaut, les appareils des agents
  • reference_devices : Appareils pour les modèles de référence figés avec référence KL ; par défaut, les appareils des agents