verl-rl-training 是围绕 verl(Volcano Engine Reinforcement Learning)的强化学习训练指南。verl 是字节跳动 Seed 团队推出的面向大语言模型的灵活、高效、可投入生产环境的 RL 训练库,实现 HybridFlow 框架(EuroSys 2025),支持在数学基准上达到 O1 级表现的模型训练。
适用场景:需要规模化生产级 RL 训练(资料称测试至 671B 参数);需要灵活切换后端(FSDP、Megatron-LM、vLLM、SGLang);需要 PPO、GRPO、RLOO、REINFORCE++、DAPO 等多种算法;需要带工具调用的多轮 rollout 智能体工作流;需要视觉语言模型 RL 训练。资料同时给出替代方案建议:需要 Megatron 原生训练可用 slime 或 miles;需要 PyTorch 原生抽象与 Monarch 可用 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、序列并行、专家并行、多轮工具。
安装方式:pip install verl[vllm](或 verl[sglang]);Docker 方式 docker pull verlai/verl:vllm011.latest(推荐生产使用);源码方式 git clone https://github.com/volcengine/verl.git 后 pip install -e .[vllm,math]。
使用方式:核心架构为 HybridFlow 编程模型,将控制流与计算分离——单进程控制器(Ray)编排 rollout → reward → train → sync,多进程 worker 包含 ActorRolloutRefWorker、CriticWorker(仅 PPO)与 RewardManager。GRPO 数学推理工作流包括:准备含 prompt 与 reward_model 列的 parquet 数据集、定义奖励函数、编写 YAML 配置(algorithm.adv_estimator=grpo 等)、用 python3 -m verl.trainer.main_ppo 启动,并通过 WandB/TensorBoard 监控奖励曲线。PPO 工作流改用 gae 优势估计并配置 critic 模型;大规模训练使用 Megatron 后端、mbridge 转换模型并用 Ray 组建多节点集群。
关键参数涵盖 rollout 采样数 n、temperature、top_p,学习率、PPO mini batch、clip_ratio,以及 KL 损失开关与系数、自适应 KL 目标等。
限制与常见问题:资料列出 OOM(可调小 log_prob micro batch、开启梯度检查点、FSDP2 CPU offloading)、训练不稳定(降低学习率、增大 KL 惩罚、梯度裁剪)、权重同步慢(FSDP2、异步权重更新)、vLLM 版本不匹配(建议 vllm>=0.8.5,<=0.12.0,避免 0.7.x)等排查建议。具体硬件需求、收费与效果数据暂未提供。