コンテンツにスキップ

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

アーキテクチャ

コンポーネントロール
アクタートレーニング対象のポリシーモデル
クリティック価値モデル(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_dpoDirect Preference Optimization

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_dpotrain_ktoモジュール

スケーリング&パフォーマンス

テクニックフラグ・備考
ZeROステージ大規模モデル用の--zero_stage 3
オフロード--adam_offloadでオプティマイザー状態をCPUにスピル
Flash attention--flash_attn
コロケーション--colocate_actor_ref--colocate_critic_reward
動的サンプリングサンプル効率改善に組み込み

OpenRLHF 対 verl 対 ART

側面OpenRLHFverlART
基盤Ray + DeepSpeed + vLLMHybridFlow + FSDP/Megatronクライアント・サーバー + Unsloth
強み本番RLHF、広範なアルゴリズムスループット&柔軟性あなたのコード内のエージェント
マルチモーダルVLM RLHF(OpenRLHF-M)サポートテキスト中心
最適用途スケーラブルなRLHFパイプライン研究用スループット単一エージェント・オンザジョブRL

リソース