[ PROMPT_NODE_22890 ]
verl-rl-training
[ SKILL_DOCUMENTATION ]
# verl: 用于大模型的火山引擎强化学习库
verl 是一个灵活、高效且生产就绪的大语言模型强化学习训练库,由字节跳动 Seed 团队开发。它实现了 HybridFlow 框架 (EuroSys 2025),并支撑了如豆包-1.5-pro 等在数学基准测试中达到 O1 级别性能的模型。
## 何时使用 verl
**当您需要以下功能时选择 verl:**
- 大规模生产就绪的强化学习训练 (已测试高达 671B 参数)
- 灵活切换后端 (FSDP ↔ Megatron-LM ↔ vLLM ↔ SGLang)
- 支持多种强化学习算法 (PPO, GRPO, RLOO, REINFORCE++, DAPO)
- 带有工具调用的多轮 Rollout,用于智能体工作流
- 多模态大模型强化学习训练
**在以下情况考虑替代方案:**
- 需要 Megatron 原生训练 → 使用 **slime** 或 **miles**
- 需要带有 Monarch 的 PyTorch 原生抽象 → 使用 **torchforge**
- 仅需简单的 SFT/DPO → 使用 **TRL** 或 **Axolotl**
## 核心特性
- **训练后端**: FSDP, FSDP2, Megatron-LM
- **Rollout 引擎**: vLLM, SGLang, HuggingFace Transformers
- **算法**: PPO, GRPO, DAPO, RLOO, ReMax, REINFORCE++, SPIN, SPPO
- **模型**: Qwen-3, Llama-3.1, DeepSeek, Gemma-2 (0.5B 到 671B)
- **高级功能**: LoRA RL, 序列并行, 专家并行, 多轮工具调用
## 安装
bash
# 选项 1: pip 安装
pip install verl[vllm] # 或 verl[sglang] 用于 SGLang 后端
# 选项 2: Docker (生产环境推荐)
docker pull verlai/verl:vllm011.latest
# 选项 3: 从源码安装
git clone https://github.com/volcengine/verl.git
cd verl && pip install -e .[vllm,math]
## 快速开始: GRPO 训练
bash
python3 -m verl.trainer.main_ppo
algorithm.adv_estimator=grpo
data.train_files=~/data/gsm8k/train.parquet
actor_rollout_ref.model.path=Qwen/Qwen2.5-7B
actor_rollout_ref.rollout.n=8
actor_rollout_ref.actor.use_kl_loss=True
trainer.n_gpus_per_node=8
## 核心架构
verl 使用 **HybridFlow** 编程模型,将控制流与计算分离:
┌─────────────────────────────────────────────────────────┐
│ 单进程控制器 (Ray) │
│ - 编排: rollout → reward → train → sync │
└─────────────────────┬───────────────────────────────────┘
│
┌─────────────────────▼───────────────────────────────────┐
│ 多进程工作节点 │
│ ├── ActorRolloutRefWorker (策略 + 生成) │
│ ├── CriticWorker (价值估计