본문으로 이동
CoMLRL
사용자 가이드

병렬 훈련

translategemma:4b 자동 번역 영어 원문

CoMLRL 는 다른 모델을 GPUs 에 배치할 수 있습니다. parallel_training="mp" 를 사용하면 각 에이전트는 agent_devices 의 자체 장치에서 실행되며, 에이전트들은 동시에 생성됩니다; critics, 보상 모델, 비교기, 참조 모델은 자체 장치 설정을 사용합니다. 기본 설정인 "none" 는 에이전트를 하나의 장치에 유지합니다. 두 가지 모드는 단일 머신에서 실행되며 작업 스케줄러가 필요하지 않습니다.

각 모델은 할당된 장치에서 완전히 실행되며 GPUs로 분할되지 않습니다. 장치 인덱스는 CUDA_VISIBLE_DEVICES를 통해 보이는 GPUs를 참조합니다. 여러 모델에 대한 설정은 각 모델에 대해 하나의 장치 또는 모든 장치를 사용하는 것을 선택할 수 있으며, 사용자는 사용 가능한 GPUs와 각 모델의 메모리에 맞게 배치할 수 있습니다. 장치 배치 및 병렬 스케줄링은 수치적 훈련 결과에 영향을 미칠 수 있습니다.

다음 구성은 반복적인 MARLHF 의 각 모델을 자체 GPU 에 배치합니다: 두 개의 에이전트, 중앙 집중식 critic (MAAC 정책 학습용), 보상 모델, 현재 에이전트의 복사본을 비교기로 사용합니다.

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

장치 배치#

Device Placement 매개변수
  • agent_devices: 에이전트 장치; "mp" 모드에서 필요
  • critic_devices: 중앙 집중식 critic 에 대해 하나의 장치 또는 각 에이전트에 대해 별도의 critics / critic 에 대해 하나의 장치; "mp" 모드에서 MAAC 및 별도 IAC / MARLHF 에 대해 필요, 기본값은 에이전트 장치
  • reward_model_device: MARLHF 보상 모델 장치; 기본값은 "cuda:0" 또는 None이며, trainer 장치에 사용됩니다.
  • comparator_devices: 반복적인 PbRL 에 대한 지역 비교기 모델 장치; 기본값은 에이전트 장치
  • reference_devices: 참조 모델 (참조 KL) 에 대한 고정된 참조 모델 장치; 기본값은 에이전트 장치