POLARIS 背后的训练引擎 verl:HybridFlow 架构与 3D-HybridEngine 解析
2026/8/20 21:43:30 网站建设 项目流程

POLARIS 背后的训练引擎 verl:HybridFlow 架构与 3D-HybridEngine 解析

【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS

POLARIS 背后的训练引擎 verl:HybridFlow 架构与 3D-HybridEngine 解析

说到大模型推理能力的巅峰,你可能会想到那些动辄数百亿参数的商业模型。但开源项目 POLARIS 用事实证明了另一条路:仅基于 Qwen3-4B 这样的小模型,通过强化学习(RL)后训练,就能在 AIME25 数学基准上拿到 79.4 分,反超 Claude-4-Opus、Grok-3-Beta 等顶级商业系统。而这一切的背后,正是它的训练引擎verl——一个由字节跳动 Seed 团队发起、基于HybridFlow架构的大模型强化学习训练框架。本文将用通俗易懂的方式,为你拆解 verl 的 HybridFlow 架构设计与 3D-HybridEngine 核心原理。

什么是 verl:为强化学习而生的大模型训练库

verl(Volcano Engine Reinforcement Learning for LLMs)是 HybridFlow 论文的开源实现,该论文已入选系统领域顶级会议 EuroSys 2025。它解决的是一个非常现实的问题:大模型的 RL 训练远比普通预训练复杂得多——既要"训练"(更新模型参数),又要"推理"(生成采样数据),还要在两者之间反复切换。

传统框架把训练和推理硬绑在一起,切换成本高、资源浪费大。verl 则提出了两大杀手锏:

  • 灵活:用几行代码就能搭建 GRPO、PPO、DAPO、PRIME 等主流 RL 算法数据流
  • 高效:无缝接入 FSDP、Megatron-LM 训练后端,以及 vLLM、SGLang 推理引擎

在 POLARIS 项目中,verl 承担了全部 RL 训练任务,相关配置都封装在scripts/train/qwen3-4b/stage1.sh这样的训练脚本中,入口则是verl/trainer/main_ppo.py

HybridFlow 架构核心:控制流与计算流的解耦

要理解 HybridFlow,先要理解 RL 训练本质上是"两层数据流"问题:

  • 控制流:决定高层算子如何执行,比如"先采样、再算优势、最后更新模型",它表达了 RL 算法的核心逻辑
  • 计算流:神经网络本身的运算,如前向、反向传播、优化器更新

在大模型时代,计算流天然是多进程的(模型太大,必须拆分到多张 GPU)。HybridFlow 的关键设计是:控制流保持单进程运行,计算流则交给多进程的 Worker 去执行。两者通过 Ray 调度解耦。

这样做的好处立竿见影:

  1. 计算后端可替换——从 FSDP 切换到 Megatron,控制流代码一行都不用改
  2. 新算法实现简单——在单进程里写 PPO 主循环,就像写普通 Python 程序一样直观
  3. 资源摆放灵活——不同模型(Actor、Critic、Reward)可以自由映射到不同的 GPU 资源池

WorkerGroup 与混合控制器:RL 流水线如何运转

在 verl 中,每个 GPU 上运行一个 Worker,多个 Worker 组成 WorkerGroup,作为控制器与 GPU 之间的代理。以 PPO 为例,verl 定义了三个 WorkerGroup:

  • ActorRolloutRef:管理 Actor(策略模型)、Rollout(生成采样)和 Reference(参考策略),三者共置是为了用 NCCL 快速同步权重
  • Critic:管理价值模型
  • Reward:管理奖励模型或奖励函数

控制器通过装饰器注册的接口来调用 Worker,比如generate_sequencescompute_log_probupdate_actor等,数据的切分、分发、收集和拼接全部自动完成。这段逻辑的完整实现可以参考verl/workers/fsdp_workers.pyverl/workers/megatron_workers.py,而训练主循环则在verl/trainer/ppo/ray_trainer.py中。

3D-HybridEngine:训练与推理切换的加速器

RL 训练中最耗时的环节之一,是模型在"训练态"和"生成态"之间反复切换:训练时权重以 FSDP/Megatron 的分片格式分布,生成时又要重组为 vLLM 能用的张量并行格式。如果每次都全量搬移权重,通信开销惊人,GPU 显存也会出现大量冗余。

3D-HybridEngine正是为此而生,它实现了两个目标:

  • 消除内存冗余:通过按需重建和复用权重副本,避免在显存里同时维护多份模型
  • 显著降低通信开销:训练与生成阶段切换时,只传输必要的分片数据,而非全量权重

在实际运行中,Actor 和 Rollout 共置于同一批 GPU 上,由 ShardingManager(如verl/workers/sharding_manager/fsdp_vllm.py)以上下文管理器的方式完成权重重分片。这也是 POLARIS 能用 32 张 H800 在约 10 天内完成 4B 模型 RL 训练的关键原因之一(每步仅约 0.33 小时)。

POLARIS 实战成绩:小模型的逆袭

POLARIS 用 verl 交出的答卷极具说服力。下图展示了各模型在 AIME25 上的表现,POLARIS-4B-Preview(红色柱)以 79.4 分超越了众多超大模型:

注:上图为项目评测结果图,红色标注的是 Qwen3-4B(65.6 分)与训练后的 POLARIS-4B-Preview(79.4 分),提升幅度高达 13.8 分。

如果对这套训练配方的技术细节感兴趣,官方文档verl/docs/hybrid_flow.rst是深入理解 HybridFlow 编程模型的最佳入口。

总结:为什么 verl 值得关注

verl 的价值在于它把"RL 算法创新"和"底层工程实现"彻底解耦:算法研究者只需关注控制流逻辑,工程能力则由 3D-HybridEngine、FSDP/Megatron 适配、vLLM/SGLang 集成等模块托底。POLARIS 的成功已经证明,这条"小模型 + 强化学习 + 高效引擎"的路线完全可行。对于想复现或开展大模型 RL 研究的开发者来说,verl 无疑是最值得上手的开源基础设施之一。

【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询