コンテンツにスキップ

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フレームワークの1つです。

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コントローラモデル:単一のコントローラが分散ワーカーをオーケストレート
ロールアウトサンプルを生成する生成フェーズ(vLLM/SGLangで提供)
アクター/クリティックトレーニング対象のポリシーと(PPOの場合)価値モデル
リワードスカラー信号;リワードモデルまたはカスタム関数から
プレースメントモデルをGPUセットにマッピングする方法(共存または分割)
レシピアルゴリズム用の既製トレーニング設定

サポートアルゴリズム

アルゴリズム備考
PPO古典的なアクター・クリティックRLHF
GRPOグループ相対、クリティックモデルなし
ReMax / RLOO軽量ベースライン
DAPO / Dr.GRPOGRPOバリアント
DPOスタイル優先度最適化レシピ

トレーニングジョブの実行

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.*ロールアウトバックエンド(vllmsglang)とサンプリング
critic.*クリティックモデル設定(PPO)
trainer.*ノード当たりのGPU、ノード数、ログ、チェックポイント

バックエンド&スケーリング

コンポーネントオプション
トレーニングエンジンFSDP、FSDP2、Megatron-LM
ロールアウトエンジンvLLM、SGLang
ディストリビューションGPU・ノード間のRayベースプレースメント
デバイスマッピングアクターとロールアウトを共存させるか、GPU セット間で分割するか

リワード&データ

タスク方法
カスタムリワード設定経由でリワード関数モジュールを提供
リワードモデルreward_model.*をスコアリングモデルに指定
データセット形式プロンプト(検証可能なリワード用の回答)を含むParquet
検証可能なリワード数学・コードスタイルの厳密一致リワードへの組み込みサポート

モニタリング

ツール統合
Weights & Biasestrainer.logger=['console','wandb']
TensorBoardサポートされたロガーバックエンド
チェックポイントtrainer.save_freqtrainer.resume_modeから復帰

verl 対 その他のRLフレームワーク

側面verlOpenRLHFART
コアモデルHybridFlowコントローラRayアクター分割クライアント/サーバー
トレーニングエンジンFSDP + MegatronDeepSpeed/FSDPUnsloth
ロールアウトvLLM / SGLangvLLMvLLM
最適用途スループット&柔軟性本番RLHFの大規模実行あなたのコード内のエージェント

リソース