콘텐츠로 이동

verl - Volcano Engine RL for LLMs 치트시트

verl - Volcano Engine RL for LLMs 치트시트

verl(Volcano Engine Reinforcement Learning)은 대규모 언어 모델의 강화학습 사후 학습을 위한 오픈 소스 고성능 프레임워크입니다. HybridFlow 논문의 공개 구현으로, 복잡한 RL 데이터 흐름(PPO, GRPO 등)을 소수의 코드 줄로 표현할 수 있는 하이브리드 컨트롤러 프로그래밍 모델을 중심으로 구축되었습니다. FSDP, Megatron-LM, vLLM, SGLang과 통합되며, LLM을 위한 가장 널리 사용되는 RL 프레임워크 중 하나입니다.

RL 사후 학습은 계산이 많고 설정에 민감합니다. 멀티노드로 확장하기 전에 리워드와 소규모 실행을 검증하세요.

설치

방법명령어
pippip install verl
소스에서git clone https://github.com/volcengine/verl && cd verl && pip install -e .
Docker문서에 참조된 공식 이미지 사용(CUDA + vLLM 미리 설치)
요구사항NVIDIA GPU(들), CUDA, PyTorch; 롤아웃을 위해 vLLM 또는 SGLang

핵심 개념

용어의미
HybridFlow컨트롤러 모델: 단일 컨트롤러가 분산 워커를 오케스트레이션
Rollout샘플을 생성하는 생성 단계(vLLM/SGLang에서 제공)
Actor / Critic학습 중인 정책 및 (PPO의 경우) 값 모델
Reward스칼라 신호; 리워드 모델 또는 사용자 정의 함수에서
Placement모델을 GPU 세트에 매핑하는 방법(공동 배치 또는 분할)
Recipe알고리즘을 위한 사전 구성된 학습 설정

지원되는 알고리즘

알고리즘주석
PPO클래식 액터-크리틱 RLHF
GRPO그룹 상대, 크리틱 모델 불필요
ReMax / RLOO경량 기저선
DAPO / Dr.GRPOGRPO 변형
DPO-style선호도 최적화 레시피

학습 작업 실행

verl은 명령줄의 Hydra 스타일 설정 재정의로 구동됩니다.

# GRPO 예제(개념적): 데이터, 모델, 롤아웃 백엔드를 지정합니다
python3 -m verl.trainer.main_ppo \
  algorithm.adv_estimator=grpo \
  data.train_files=$DATA/train.parquet \
  data.val_files=$DATA/val.parquet \
  actor_rollout_ref.model.path=Qwen/Qwen2.5-7B-Instruct \
  actor_rollout_ref.rollout.name=vllm \
  trainer.n_gpus_per_node=8 \
  trainer.nnodes=1
설정 그룹제어 항목
algorithm.*알고리즘 및 이점 추정자(예: adv_estimator=grpo)
data.*학습/검증 파일, 배치 크기, 최대 길이
actor_rollout_ref.model.*기본 모델 경로 및 dtype
actor_rollout_ref.rollout.*롤아웃 백엔드(vllm / sglang) 및 샘플링
critic.*크리틱 모델 설정(PPO)
trainer.*노드당 GPU, 노드 수, 로깅, 체크포인트

백엔드 및 확장

컴포넌트옵션
학습 엔진FSDP, FSDP2, Megatron-LM
롤아웃 엔진vLLM, SGLang
분산GPU/노드 간 Ray 기반 배치
디바이스 매핑액터+롤아웃을 공동 배치하거나 GPU 세트 간 분할

리워드 및 데이터

작업방법
사용자 정의 리워드설정을 통해 리워드 함수 모듈 제공
리워드 모델reward_model.*을 채점 모델로 지정
데이터셋 형식프롬프트(및 검증 가능한 리워드의 경우 답변)를 포함하는 Parquet
검증 가능한 리워드수학/코드 스타일 정확 일치 리워드에 대한 기본 제공 지원

모니터링

도구통합
Weights & Biasestrainer.logger=['console','wandb']
TensorBoard지원되는 로거 백엔드
체크포인트trainer.save_freq, trainer.resume_mode에서 재개

verl vs 다른 RL 프레임워크

측면verlOpenRLHFART
핵심 모델HybridFlow 컨트롤러Ray 액터 분할클라이언트/서버
학습 엔진FSDP + MegatronDeepSpeed/FSDPUnsloth
롤아웃vLLM / SGLangvLLMvLLM
최고처리량 + 유연성규모 프로덕션 RLHF자체 코드의 에이전트

리소스