verl
字节跳动(Volcengine)开源的大模型 RL 后训练框架——不是模型,也不是单个算法,而是一套把大模型强化学习训练跑起来的工程基础设施。
是什么
verl(Volcano Engine Reinforcement Learning for LLMs)是一个面向 LLM post-training 的 flexible、efficient、production-ready 的 RL 训练框架,也是 HybridFlow 论文的开源实现。它的核心定位是:
verl 之于 LLM RL 训练 ≈ PyTorch 之于深度学习
提供模块化的训练管线,让研究者/工程师能方便地跑通分布式 RL 后训练,而不用从头搭建 rollout → reward → update 的复杂工程链路。
它解决什么问题
LLM 的 RL 训练涉及多个环节的高效协调:
- Rollout:学生模型对 prompt 生成回答(需要推理优化)
- Reward:reward model 或规则打分
- Update:PPO / GRPO / REINFORCE++ 等算法更新模型参数
- 分布式调度:多 GPU / 多机训练 + 推理切换
- 工程配套:checkpoint、日志、实验追踪、显存优化
verl 将这些流程工程化、模块化,通过 hybrid programming model 支持复杂的 post-training dataflow。
关键特性
支持的算法
verl 覆盖主流 LLM 后训练算法和 recipe:
- RL 算法:PPO、GRPO、GSPO、ReMax、REINFORCE++、RLOO、PRIME、DAPO、DrGRPO
- 蒸馏方法:OPD(On-Policy Distillation)
- 其他:SFT、函数式 reward / verifiable reward、VLM / multimodal RL、多轮 tool calling
训练与推理后端
| 角色 | 支持后端 |
|---|---|
| 训练后端 | PyTorch FSDP、Megatron-LM |
| Rollout 推理 | SGLang、vLLM、TGI |
这种”训练-推理分离”的架构允许各自独立优化。
典型训练流程
以数学推理训练为例:
- 模型对数学题生成多个答案(rollout via vLLM/SGLang)
- 用规则判断答案对错,得到 reward
- 用 GRPO / PPO 更新模型(训练 via FSDP/Megatron-LM)
- 多轮迭代后,模型推理能力提升
与其他框架的关系
verl 放在 LLM RL 训练框架 这一类中,与 TRL(HuggingFace)、OpenRLHF 等项目对比:
| 框架 | 定位 | 规模 | 特点 |
|---|---|---|---|
| verl | 大规模分布式 RL | 7B–数百B | FSDP+Megatron-LM+混合后端,工业级 |
| TRL | 易用的 RL 训练 | ≤70B | HuggingFace 生态集成好,上手快 |
| OpenRLHF | 开箱即用 RLHF | 中等规模 | Ray 分布式,支持 PPO/DPO |
verl 更偏向大规模、高性能、工程化场景。
OPD 与 verl 的关系
OPD : verl ≈ 算法 : 训练系统
- OPD 是一种蒸馏算法(学生自采样 + 教师逐 token 打分)
- verl 是能实现和运行 OPD 的训练框架
- 同理:GRPO : verl ≈ 算法 : 训练系统;PPO : verl ≈ 算法 : 训练系统
相关
- On-Policy Distillation(在策略蒸馏) — verl 支持的 OPD 算法
- PPO(近端策略优化) — RLHF 核心算法,verl 支持
- GRPO(组相对策略优化) — 去 Critic 的 PPO 变体,verl 支持
- Policy Gradient(策略梯度) — RL 的核心数学基础
- RLHF(人类反馈强化学习) — verl 常被用于跑 RLHF 流程
- Knowledge Distillation(知识蒸馏) — OPD 所属的蒸馏大类
- Wiki 目录