Ir al contenido
CoMLRL
Guía del usuario

Paralelización del entrenamiento

Traducido automáticamente con translategemma:4b Original en inglés

CoMLRL puede colocar diferentes modelos en diferentes GPUs. Con parallel_training="mp", cada agente se ejecuta en su propio dispositivo de agent_devices, y los agentes generan simultáneamente; critics, modelos de recompensa, comparadores y modelos de referencia tienen sus propias configuraciones de dispositivo. El modo predeterminado, "none", mantiene a los agentes en un solo dispositivo. Ambos modos se ejecutan en una sola máquina y no requieren un programador de trabajos.

Cada modelo se ejecuta completamente en su dispositivo asignado y no se divide entre GPUs. Los índices de dispositivo se refieren a los GPUs visibles a través de CUDA_VISIBLE_DEVICES. Una configuración para varios modelos utiliza un dispositivo por modelo o un solo dispositivo para todos, para que los usuarios puedan adaptar la colocación a los GPUs disponibles y a la memoria de cada modelo. La colocación de dispositivos y la programación en paralelo pueden afectar a los resultados del entrenamiento numérico.

La siguiente configuración coloca cada modelo de un ciclo MARLHF en su propio entorno GPU: dos agentes, una política centralizada critic para MAAC aprendizaje de políticas, el modelo de recompensa, y copias de los agentes actuales como comparadores.

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"],
)

Colocación de dispositivos#

Device Placement Parámetros
  • agent_devices: Dispositivos del agente; requerido en el modo "mp"
  • critic_devices: Un dispositivo para una centralizada critic, o uno por agente para separado critics; requerido en "mp" modo para MAAC y separado-critic IAC, mientras MARLHF por defecto, los dispositivos del agente
  • reward_model_device: dispositivo de modelo de recompensa MARLHF; por defecto, "cuda:0", o None para el dispositivo trainer
  • comparator_devices: Dispositivos para modelos de comparador locales en una ejecución iterativa de PbRL; predeterminado en los dispositivos del agente
  • reference_devices: Dispositivos para modelos de referencia congelados con referencia KL; predeterminado en los dispositivos del agente