Prhub

verl 周报:2026 第 33 周(08-10 至 08-16)

本周合入 33 个 PR,主线是 Megatron 训练路径的正确性与性能收敛、NPU/Ascend CI 稳定性修复,以及 LoRA 同步链路端到端打通;多个破坏性变更表明架构正加速统一。

仓库:verl-project/verl 周期:2026-08-10 至 2026-08-16 来源 PR:33 · 重点 PR:24 自动生成 · 生成于 2026-08-17 01:03

本周亮点

  • Megatron 是本周最高频主题(13 个 PR),热点文件集中在 transformer_impl.py 与 router_replay_utils.py;router replay 静默失效、动态 CP 调度、int16 路由索引等共同构成大规模 MoE 训练链路的密集修复。
  • NPU/Ascend CI 持续加固:nightly_ascend.yml 被修改 4 次,涉及 veomni 安装、CANN 9.1.0 升级、依赖版本固定与基线对比,昇腾链路稳定性明显加强。
  • LoRA 同步链路迎来关键突破:#7413 一次性修复 sglang 侧 7 处缺陷,#7327/#7376 解决 vLLM 权重名 .base_layer 解析,Megatron→vLLM/SGLang 的 LoRA 同步端到端首次跑通。
  • 破坏性变更集中落地:#6804 让 Continuous Token 成为唯一 tokenization 路径,#7374 移除 mindspeedllm 后端(约 1941 行),#7357 将 CI 迁移到 v1 separate_async,架构向统一路径收敛。
  • 分布式 checkpoint 性能显著提升:#7291 的 NCCL 多发送者广播将同节点权重同步提速约 3 倍,#7107 按实际长度裁剪广播桶进一步降低带宽浪费。
  • 算法正确性得到补强:#7300 修复 REINFORCE++ 在 observation span 处清零 running_return 导致的奖励丢失,#7027 让 reward 路径具备 float32 逐位可复现的确定性,但该能力目前仅 V0 trainer 支持。

风险观察

  • 核心路径 PR 普遍缺少测试覆盖(本周 6 次提及),尤其是 LoRA 同步、NCCL checkpoint 与动态 CP,建议尽快补充单测或 CI 集成。
  • NCCL checkpoint 的 multi_sender 实际默认开启,但 docstring 与 PR 描述仍写默认关闭,文档与实现不一致可能引发用户误用。
  • Qwen3.5 VL 未注册到 _TEXT_TO_VL_FAMILY,多模态 Continuous Token 仍存在模型族识别缺口,合并后未修复。
  • 动态 CP 与 DeepSeek-V4 CP 依赖较新的 Megatron-Core 特性,需锁定上游版本,避免回归。
  • 多项 BREAKING 变更(CT 路径、mindspeedllm 移除、CI 迁移)可能影响自定义工作流,建议在升级文档中显式标注迁移步骤。

完整周报

verl 2026 第 33 周周报(08-10 至 08-16)

执行摘要

本周 verl 共合入 33 个 PR,其中 24 个为重点 PR,整体呈现三条主线:一是 Megatron 训练路径的正确性与性能收敛,围绕 router replay、动态上下文并行(DCP)、int16 路由索引与 DeepSeek-V4 CP 布局等多点修复;二是 NPU/Ascend CI 的稳定性加固与基础环境升级,nightly_ascend.yml 等文件被反复修改;三是 LoRA 同步链路(SGLang/vLLM)端到端打通,连续多个 PR 修复权重名解析与适配器同步缺陷。与此同时,mindspeedllm 后端移除、Continuous Token 成为唯一 tokenization 路径等破坏性变更,表明架构正加速向统一和收敛的方向演进。

本周重点变化

Megatron 链路密集修复。 Qwen3.5 router replay 静默失效(#7340)源于进程级全局列表在复杂构建流程下寻址错误,修复后改为按实际模型对象树寻址;DeepSeek-V4 的 CP>1 路径(#7297)通过透传 cp_partition_mode 打通;mHC+MTP 训练崩溃(#7328)则定位到激活回收与多流张量转发的两处缺陷。这些 PR 共同补齐了关键模型的训练能力。

性能优化显著。 动态 CP 调度(#6555)以 thin adapter 复用 Megatron-Core 的 DefaultDynamicCPScheduler,在长尾序列分布下吞吐提升约 60%;NCCL checkpoint 多发送者广播(#7291)让同节点权重同步提速约 3 倍;路由索引升级到 int16(#7407)则兼顾了超过 255 专家的正确性与内存带宽。

LoRA 同步链路打通。 #7413 修复了 LoRA 从训练引擎同步到 SGLang 的 7 处链式缺陷,#7327 与 #7376 分别解决 vLLM 接收端的 .base_layer 解析与混合 LoRA 模型的权重名归一化,使该组合首次端到端跑通。

架构清理与破坏性变更。 #7374 删除 mindspeedllm 后端约 1941 行;#6804 将 Continuous Token 扩展为多模态默认路径并移除开关;#7357 将 CI 工作流迁移到 v1 separate_async。这些变更意味着旧路径不再维护,用户需要跟随迁移。

模块与主题趋势

Megatron 是绝对焦点,13 个 PR 带 megatron 标签,hot_files 中 verl/workers/engine/megatron/transformer_impl.py 被改 5 次、verl/utils/megatron/router_replay_utils.py 被改 4 次,说明引擎层与路由回放是当前核心攻坚点。NPU/Ascend 是第二大主题(10 个 npu、7 个 ci),团队在昇腾环境上投入大量精力修复依赖、镜像与 nightly 任务。权重同步/LoRA 则形成一个小集群,涉及 vllm、sglang、peft 等多个标签,体现了多后端一致性维护的复杂度。此外,文档、算法与 Ray 基础设置也有分散更新,但整体上工程化清理(版本 bump、CI 迁移、后端移除)占了相当比例。

风险观察

本周最大的风险是测试覆盖不足。“缺少测试覆盖”在风险统计中出现 6 次,多个核心路径 PR(如 LoRA 同步、NCCL checkpoint、动态 CP)没有新增单测,依赖端到端验证,回归风险较高。其次,多项 BREAKING 变更集中落地,用户自定义配置和工作流需要同步调整。int16 路由索引属于核心数据契约跨模块变更,且 NCCL 不支持 int16,依赖位视图绕行,后续需关注与其他模块的兼容。此外,多个特性依赖较新的 Megatron-Core 或 sglang 版本,版本锁定与升级策略需要明确。最后,NCCL checkpoint 的 multi_sender 实际默认开启但文档仍写默认关闭,属于文档与实现不一致的隐患。

重点 PR 速览

PR 标题摘要 重要性 核心要点
#6804 Multimodal Continuous Token 9.4 BREAKING:CT 成为唯一 tokenization 路径,新增多个 VL builder
#6555 动态 CP 调度 9.4 复用 Megatron-Core 调度器,长尾序列吞吐提升约 60%
#7407 int16 routed_experts 9.2 路由索引升级,支持 >255 专家,NCCL 位视图绕行
#7374 移除 mindspeedllm 后端 9.0 删除约 1941 行 legacy 代码,NPU Megatron 仍保留
#7027 reward 路径确定性 8.6 补齐全确定性训练,生成式 RM 按位可复现
#7327 vLLM 非合并 LoRA 解析 8.7 接收端按命名空间解析 .base_layer,覆盖视觉/共享专家场景
#7291 NCCL 多发送者广播 8.4 权重同步提速约 3 倍,用 Ray 节点 id 推断 NVLink 可达性
#7340 Router replay 静默失效 8.4 从“列表位置”改为“对象树”寻址,修复 Qwen3.5
#7413 SGLang LoRA e2e 修复 7.9 一次性修复 7 处链式缺陷,端到端首次跑通
#7300 REINFORCE++ 奖励修复 7.1 observation span 不再清零 running_return,与 GAE 行为对齐

这些 PR 之间存在明显关联:#7407 与 #7340 都落在 router replay 链路上,#7327/#7376/#7413 共同支撑 LoRA 同步,#7291/#7107 则是 checkpoint 性能组合。它们大多由少量维护者评审(wuxibin89 出现频率最高),讨论虽少但关键设计交锋质量较高。

后续建议

  1. 补测试:为 LoRA 同步、NCCL checkpoint 多发送者、动态 CP 等核心路径补充单元测试或 CI 集成,避免回归。
  2. 跟进遗留缺口:Qwen3.5 VL 的 family 注册缺失、multi_sender 文档不一致应尽快修掉。
  3. 版本锁定:将 Megatron-Core、MindSpeed、vLLM、sglang 等依赖版本集中到锁文件或常量,降低漂移风险。
  4. 迁移指南:针对 BREAKING 变更(CT 路径、mindspeedllm 移除、CI 迁移)撰写升级说明,帮助用户平滑过渡。
  5. 推广基线对比:NPU nightly 的基线对比模式可推广到 GPU nightly,提前发现性能回退。

参与讨论