OpenRLHF(オープンアールエルエイチエフ)
オープンソースのLLM強化学習訓練フレームワーク。PPO・GRPO・DPO・KTO等のRL/Preferenceアルゴリズムを統一的に実装し、DeepSpeed ZeROとvLLMを組み合わせて7B〜70B規模モデルのポストトレーニングを容易にする。
OpenRLHFとは
OpenRLHFは、LLM(大規模言語モデル)の強化学習ポストトレーニングを実行するためのオープンソースフレームワークです。PPO・GRPO・DPO・KTO・ReMax等、主要なRL/Preference Optimizationアルゴリズムを統一的な設計で実装し、研究者がアルゴリズムを比較・実験しやすい環境を提供します。2025年時点でGitHubのLLM強化学習カテゴリで最もスター数の多いライブラリの一つです。
OpenRLHFの設計原則
使いやすさ(Ease of Use): Hugging Face Transformersとネイティブ互換で、AutoModelForCausalLMでロードできるすべてのモデルをそのまま訓練できます。設定はYAMLベースで、コードの変更なく異なるアルゴリズムを切り替えられます。
効率性(Efficiency): DeepSpeed ZeRO-3でモデルパラメータ・勾配・オプティマイザ状態を複数GPU/ノードに分散し、vLLMを生成バックエンドに使用してロールアウト(応答サンプリング)を高速化します。Rayで訓練ワーカーと生成ワーカーを非同期実行します。
モジュール性(Modularity): 報酬関数・アルゴリズム・バックエンドが疎結合で設計されており、カスタム報酬関数の追加やアルゴリズムの実装が容易です。
サポートするアルゴリズム一覧
RLカテゴリではPPO(報酬モデル必要)、GRPO(不要)、REINFORCE(不要)、ReMax(不要)をサポートします。PreferenceカテゴリではDPO・KTO・IPO・ORPOを、さらに報酬モデル(RM)訓練もサポートします。
アーキテクチャの概要
Ray DriverがTrainerとして機能し、ActorModelRayActor(DeepSpeed ZeRO-3)、CriticModelRayActor(PPO用)、ReferenceModelRayActor(固定)、RewardModelRayActor(カスタム可)を管理します。vLLM Engineがロールアウトを担当し、Rollout WorkerがN台並列で動作します。データパイプラインはPrompt DatasetとExperience Bufferで構成されます。
クイックスタート
# Docker環境での起動
docker pull openrlhf/openrlhf:latest
# GRPO訓練(Llama-3-8B)
python -m openrlhf.cli.train_grpo \
--pretrain meta-llama/Llama-3-8B \
--reward_fn math_verifier \
--prompt_data math_problems.json \
--save_path ./checkpoints \
--num_episodes 100 \
--rollout_batch_size 256
veRLとOpenRLHFの使い分け
OpenRLHFを選ぶ場合はプロトタイプ作成・研究実験が主目的で7B〜70B規模のモデルを扱い、Hugging Faceエコシステムに慣れているケースです。veRLを選ぶ場合はプロダクション規模(70B以上)の訓練でMegatron-LMの高度な並列化が必要なケースです。
コミュニティとエコシステム
OpenRLHFはHugging Face・MLflow・Weights & Biasesと統合されており、実験管理・モデル共有が容易です。LlamaFactory・Axolotl等の周辺エコシステムとも連携し、SFT→RM訓練→RLHF/GRPOの完全なポストトレーニングパイプラインを構築できます。2025年時点でDeepSeek-R1相当のGRPO訓練を再現しようとする研究者の多くが最初に選ぶフレームワークとなっています。
まとめ
OpenRLHFは「LLM強化学習を試してみたい」研究者にとって最もアクセスしやすいフレームワークです。豊富なアルゴリズム実装・Dockerによる簡単なセットアップ・活発なコミュニティを持ち、GRPOやPPOによるLLMポストトレーニングの標準的な出発点となっています。