Chapter 01

项目背景与定位

📌 本章基于 OpenRLHF/OpenRLHF · commit 6c6056daa522 (2026-05-26)。

1.1 一句话定位

OpenRLHF 是开源社区维护的、主打"千亿模型 PPO/GRPO 工业级 RLHF"的高性能分布式框架。它的最大特色是把 Ray(资源调度)+ DeepSpeed(训练后端)+ vLLM(采样推理) 三件套拼成一个统一架构,让 RLHF 中最慢的 rollout 步骤跑在专门的 vLLM 进程上,达到比"全部用 PyTorch 训练 + sample"快几倍的吞吐。

1.2 为什么会有 OpenRLHF

RLHF 这件事的难处不在算法,而在系统:

OpenRLHF 的核心洞察是:rollout 不要用训练框架做,丢给 vLLM 这种专门的高性能推理引擎;训练用 DeepSpeed ZeRO-3;Ray 负责把这些"长得不一样的进程"编排在一起

flowchart LR subgraph Ray["Ray Cluster"] Actor["Actor (训练)
DeepSpeed ZeRO-3"] Ref["Reference
(forward only)"] Critic["Critic"] Reward["Reward Model"] Rollout["vLLM Rollout Workers
(异步生成)"] end Rollout -- "采样输出" --> Reward Rollout -- "采样输出" --> Ref Reward -- "scalar reward" --> Actor Ref -- "logp" --> Actor Critic -- "value" --> Actor Actor -. "权重同步" .-> Rollout

这种设计带来 2-10× 的端到端 RLHF 速度提升,这正是它在工业界被快速采纳的核心原因

1.3 它和 TRL / verl 的对比

维度OpenRLHFTRLverl
主战场 千亿模型 PPO/GRPO 算法覆盖最广 千亿模型 PPO/GRPO
调度 Ray accelerate Ray + 自家 HybridFlow
Rollout vLLM transformers generate vLLM / SGLang
训练后端 DeepSpeed accelerate FSDP / Megatron
入门难度 中-高
配置 argparse + bash 脚本 Python API YAML + Hydra

1.4 设计哲学:异构架构 + 模块化

代价:Ray + DeepSpeed + vLLM 任何一个出问题都会 cascade,调试比 TRL 难;最低硬件门槛较高——至少需要 8 卡 A100/H100 才合适。

1.5 它适合用来做什么、不适合做什么

判断典型场景
✅ 适合7B-70B 甚至更大模型的 PPO / GRPO 工业级 RLHF
多机多卡环境,有 Ray 集群运维能力
想用 vLLM 加速 RLHF 的 rollout 阶段
做"reward 函数自定义"的研究
❌ 不适合单机单卡 / 几张消费级卡
想做 DPO 等 offline 对齐(用 TRL 就够)
想要 GUI / 极简 YAML 配置

1.6 本书将怎么带你走完这趟旅程

1.7 OpenRLHF 在 2025–2026 的关键节点

仓库 README 顶上的 "Latest News" 透露了 OpenRLHF 这两年的发展主线:从 PPO 工具升级为"千亿 RL + 多模态 + 多轮 agent" 的完整栈。下表按时间倒序整理本书基线 commit 6c6056daa522 当时已合入 main 的关键节点:

时间特性 / 事件说明本书章节
2026-04VLM 多轮 RL 支持图像反馈的多步交互(截图等);vlm_multiturn_agent.pych10.7
2026-04VLM RLHF(Qwen3.5 等) 端到端 VLM PPO/GRPO;train_vlm_math_hybrid_engine.shch04.7 / ch10.7
2026-02ProRL V2 1.5B 推理 SOTA 基于 REINFORCE++-baseline;train_prorlv2_math_hybrid_engine.shch09.8 / ch12.7
2025-10ScaleRL 大规模验证 万卡规模复现 REINFORCE++ 有效性ch09.7
2025-05异步 RL(async_enable) generate 与 train 并行;ppo_trainer_async.pych08.5 / ch11.6
2025-04vLLM 最佳实践 blog colocate / sleep mode / NCCL IPC 三个优化的总结ch06.7
2025-Q1Ring Attention 集成 序列并行 --ds.ring_attn_size,支持长 CoTch07.6
2024-12REINFORCE++ 论文 + 实现 OpenRLHF 团队论文 + 简单高效无 critic 算法ch09.4
2024-Q4GRPO / RLOO / DAPO 集成 整套 critic-less 算法谱系ch09
2024-Q2Hybrid Engine 模式 actor + rollout 共置同卡,省 GPU 资源ch08.3
2023-08OpenRLHF 项目开源 第一个开源的 Ray+vLLM+DeepSpeed PPO 框架

1.8 跟 verl / TRL 在 2025–2026 的具体差异

1.3 那张表是"宏观对比"。下面这张是"实际选型时关键差异点"——只有真正写过两个项目才看得出来的几条:

维度OpenRLHFverlTRL
异构架构哲学 每个角色 = 独立 Ray actor controller 单进程 + worker 群 单 Trainer 进程
vLLM 集成 独立 Ray actor + NCCL IPC 权重同步 Hybrid Engine resharding colocate / server
千亿模型 实战已验证(DeepSeek-V3-671B 等) 实战已验证(Qwen3-235B 等) 偏中小
多模态 RL ✅ VLM + 图像反馈多轮 agent ✅ verl-omni 子项目 有限支持
异步 pipeline async_enable + partial rolloutfully_async / one-step off-policy
配置风格 bash 一长串 --xxx Hydra YAML Python 代码 + argparse
论文 followup 速度 新算法 1-2 个月内 新算法 1-2 个月内 新算法 1-3 周内

实战经验: