콘텐츠로 이동

OpenRLHF 치트시트

OpenRLHF 치트시트

OpenRLHF는 규모를 고려하여 설계된 고성능 오픈 소스 RLHF 프레임워크입니다. Ray는 분산 스케줄링, vLLM은 빠른 생성, DeepSpeed/ZeRO는 학습을 위해 구축되었으며, 액터, 크리틱, 리워드, 참조 모델을 GPU 간에 분리하여 대규모 모델(70B+)을 효율적으로 학습할 수 있습니다. PPO, GRPO, REINFORCE++, RLOO 등 다양한 알고리즘을 구현하며, 동적 샘플링 및 비동기 에이전틱 RL을 지원합니다.

규모의 강화학습은 운영상 까다롭습니다. 단일 노드에서 소규모 모델로 시작하여 리워드 추세를 확인한 후 Ray를 사용하여 규모를 확장하세요.

설치

방법명령어
pippip install openrlhf
vLLM 추가 포함pip install openrlhf[vllm]
소스에서git clone https://github.com/OpenRLHF/OpenRLHF && cd OpenRLHF && pip install -e .
Docker프로젝트의 참조 이미지 사용(CUDA + 의존성 미리 설치)
요구사항NVIDIA GPU(들), CUDA, Ray, DeepSpeed, vLLM

아키텍처

컴포넌트역할
Actor학습 중인 정책 모델
Critic값 모델(PPO)
리워드 모델생성된 응답에 점수 매김
참조 모델KL 페널티를 위한 고정 기저선
Ray이러한 모델을 GPU 간에 스케줄 및 배치
vLLM 엔진롤아웃/생성 단계 가속화

일반적인 학습 진입점

OpenRLHF는 알고리즘별 CLI 모듈을 제공하며, deepspeed 또는 ray를 사용하여 시작합니다.

명령어목적
openrlhf.cli.train_sft감독 미세 조정
openrlhf.cli.train_rm리워드 모델 학습
openrlhf.cli.train_ppoPPO(단일 컨트롤러)
openrlhf.cli.train_ppo_rayRay + vLLM으로 분산된 PPO/GRPO
openrlhf.cli.train_dpo직접 선호도 최적화

Ray를 사용한 PPO/GRPO(스케치)

ray start --head --node-ip-address 0.0.0.0

python3 -m openrlhf.cli.train_ppo_ray \
  --pretrain Qwen/Qwen2.5-7B-Instruct \
  --reward_pretrain OpenRLHF/Llama-3-8b-rm-mixture \
  --advantage_estimator group_norm \
  --vllm_num_engines 2 --vllm_tensor_parallel_size 1 \
  --actor_num_gpus_per_node 4 \
  --colocate_actor_ref \
  --prompt_data your/prompts --input_key prompt \
  --save_path ./ckpt --use_wandb $WANDB_API_KEY
플래그제어 항목
--pretrain기본/액터 모델
--reward_pretrain리워드 모델 경로
--advantage_estimator group_normGRPO 스타일 그룹 정규화 선택
--vllm_num_enginesvLLM 롤아웃 엔진 수
--actor_num_gpus_per_node액터를 위한 GPU 할당
--colocate_actor_ref액터 + 참조를 함께 배치하여 GPU 절약

알고리즘

알고리즘플래그/모듈
PPOtrain_ppo*의 기본값
GRPO--advantage_estimator group_norm
REINFORCE++--advantage_estimator reinforce 패밀리
RLOO--advantage_estimator rloo
DPO / KTO전용 train_dpo / train_kto 모듈

확장 및 성능

기법플래그/주석
ZeRO 단계--zero_stage 3(대규모 모델용)
오프로드--adam_offload(옵티마이저 상태를 CPU로 유출)
Flash attention--flash_attn
공동 배치--colocate_actor_ref, --colocate_critic_reward
동적 샘플링샘플 효율성 향상을 위해 기본 제공

OpenRLHF vs verl vs ART

측면OpenRLHFverlART
재단Ray + DeepSpeed + vLLMHybridFlow + FSDP/Megatron클라이언트/서버 + Unsloth
장점프로덕션 RLHF, 광범위한 알고리즘처리량 + 유연성자체 코드의 에이전트
멀티모달VLM RLHF(OpenRLHF-M)지원됨텍스트 중심
최고확장 가능한 RLHF 파이프라인연구 처리량단일 에이전트 온 디바이스 RL

리소스