
TRL
Hugging Face 官方后训练库,SFT/GRPO/DPO/KTO 等 Trainer 一站式封装。
高性能分布式 RLHF 框架,支持 PPO/GRPO/REINFORCE++,基于 Ray 与 vLLM。
OpenRLHF 是高性能分布式 RLHF 训练框架,Apache-2.0 许可。基于 Ray 实现弹性调度,vLLM 作为 rollout 引擎,支持 PPO/GRPO/REINFORCE++/DPO/KTO 等算法,涵盖 SFT→RM→RLHF 全流程,可扩展至数千 GPU,是工业级 RL 后训练的主流选择。
OpenRLHF 由 OpenRLHF 社区维护,最初由字节跳动等团队贡献,2024 年开源后迅速成为大规模 RLHF 训练的主流框架之一。它的核心设计围绕高性能分布式执行展开,利用 Ray 分布式计算框架实现弹性调度,结合 vLLM 高性能推理引擎完成 rollout 生成,支持从单机到数千 GPU 集群的线性扩展。
核心架构:
支持的算法:
全流程支持:
分布式能力:
许可策略:Apache-2.0 许可,允许商用、修改、再分发。
💡 OpenRLHF 的独特定位:它是分布式 RLHF 训练的生产级选择。与 veRL(字节火山引擎,Hybrid Engine 架构)、TRL(Hugging Face 官方,Python API 优先)形成差异化:OpenRLHF 基于 Ray 分布式框架,天然具备弹性调度与容错能力,更适合大规模集群(数千 GPU)的生产部署。其全流程覆盖(SFT→RM→RLHF)使其成为一个完整的 RL 后训练平台,而非单纯的算法库。
# pip 安装 pip install openrlhf # 源码安装 git clone https://github.com/OpenRLHF/OpenRLHF.git cd OpenRLHF pip install -e .
# 头节点 ray start --head --port=6379 # 工作节点(每台机器) ray start --address=<head_ip>:6379
# 单节点 PPO 训练 python examples/train_ppo.py \ --pretrain meta-llama/Llama-3.1-8B \ --reward_model path/to/reward_model \ --save_path ./checkpoint \ --micro_batch_size 4 \ --train_batch_size 128 \ --max_epochs 1 # 多节点 PPO 训练(Ray 分布式) python examples/train_ppo.py \ --pretrain meta-llama/Llama-3.1-70B \ --reward_model path/to/reward_model \ --save_path ./checkpoint \ --micro_batch_size 2 \ --train_batch_size 512 \ --max_epochs 1 \ --tp_size 4 \ --pp_size 2
python examples/train_grpo.py \ --pretrain deepseek-ai/DeepSeek-R1-Distill-Qwen-7B \ --save_path ./checkpoint \ --micro_batch_size 2 \ --train_batch_size 128 \ --max_epochs 1 \ --grpo_num_rollouts 8
python examples/train_dpo.py \ --pretrain Qwen/Qwen2.5-7B-Instruct \ --dataset trl-lib/ultrafeedback_binarized \ --save_path ./checkpoint \ --micro_batch_size 4 \ --train_batch_size 64
# 方式一:共用 GPU(默认) # 训练与 rollout 在同一批 GPU 上交替执行 # 方式二:分离 GPU # 训练使用 GPU 0-3,rollout 使用 GPU 4-7 python examples/train_ppo.py \ --pretrain meta-llama/Llama-3.1-8B \ --actor_gpus 0,1,2,3 \ --rollout_gpus 4,5,6,7
github.com/OpenRLHF/OpenRLHF(官方)





