Prhub

veRL 2026年第19周周报(05/04-05/10)

本周工具模块大规模重构(移除 MCP、新增 function_tool、清理废弃代码),奖励模块统一配置并支持多输出异步评分,rollout 引擎新增 TRTLLM 异步 RL 和 SGLang PD 分解,Megatron 修复关键并行 bug,CI 与 NPU 支持持续增强。

仓库:verl-project/verl 周期:2026-05-04 至 2026-05-10 来源 PR:34 · 重点 PR:24 自动生成 · 生成于 2026-05-11 01:02

本周亮点

  • 工具模块经历大规模重构:PR #6302 移除课程采样器和动态数据集(BREAKING),PR #6300 将工具初始化集中化并废弃 MCP,PR #6189 引入 @function_tool 装饰器,工具注册从 YAML+ 基类走向函数式,降低用户介入成本。
  • 奖励模块统一配置与扩展接口:PR #6265 统一 RewardModelConfig 字段(inference→rollout)并修复 world_size 计算;PR #6228 支持多输出轨迹异步评分,允许自定义 reward manager 处理多步;PR #6242 提取分数组装为类方法,方便子类覆写。
  • Rollout 引擎推进异步化和异构部署:PR #5631 为 TRTLLM 实现完整异步 RL(含 abort/resume、KV cache 清理、profile);PR #6117 引入 SGLang Prefill-Decode 分解部署,支持非对称 TP 布局;PR #6056 在完全异步框架中集成多教师在线策略蒸馏(OPD)。
  • Megatron 关键并行修复:PR #6267 修复上下文并行(CP)中 position_ids 计算错误(可能导致越界);PR #6206 修正 CP+TP 混合时序列对齐公式并适配新版 MTP Loss API,直接影响大规模训练稳定性。
  • NPU 支持增强:新增 GSPO Qwen3-30B NPU nightly CI(#6273);修复内存可视化在 NPU 下的兼容性(#6216, #6248);修复多节点 SGLang profile 在非主节点上的崩溃(#6217)。
  • CI 效率优化与依赖管理:精简 TRTLLM CI(#6275)、移除 fastmcp 依赖(#6249)、升级 aarch64 vLLM 至 0.18.0(#6222)、锁定 mbridge 版本(#6262),基础设施保持活跃迭代。
  • 风险集中点观察:本周 8 个 PR 标记缺少测试覆盖,核心路径修复缺乏回归验证;配置兼容性断裂(#6302 BREAKING + #6300 MCP 移除)需用户适配;reward world_size 计算反复(#6226→#6258→#6265)暴露模块间依赖脆弱性。

风险观察

  • 测试覆盖不足:≥8 个 PR(尤其 #6267、#6206、#6228)缺失单元或集成测试,涉及 Megatron 并行核心路径,回归风险较高。
  • 配置兼容性断裂:#6302 BREAKING 移除课程采样器、动态数据集等,依赖这些组件的配置需要迁移;#6300 移除 MCP 协议,使用 MCP 工具的用户必须停用。
  • reward world_size 计算反复:从 #6226 修复到 #6258 回滚再到 #6265 配置统一,暴露出 RewardModelConfig 字段缺失问题,类似连锁反应可能重现。
  • TRTLLM Docker 构建风险:#6230 引入的 cupy-cuda12x==14.0.1 和 ray[default]==2.54.1 版本在 PyPI 上可能不存在,若构建失败将阻塞 CI 和用户部署。
  • 多 output teacher logprobs 缺失:#6228 标记为 TODO,若使用 KL 惩罚的多输出蒸馏场景将无法正确计算,需跟进实现。

完整周报

执行摘要

本周(05/04-05/10)共合入34个PR,工具、奖励、rollout和Megatron四大模块均有重要改动。工具模块经历了大规模重构(移除废弃组件、引入函数式注册、集中化初始化);奖励模块统一配置并支持多输出异步评分;Rollout引擎新增TRTLLM异步RL、SGLang Prefill-Decode分解和在线策略蒸馏;Megatron修复了CP position_ids和CP+TP对齐等关键bug。CI与NPU支持持续增强,但测试覆盖不足和配置兼容性仍是主要风险点。

本周重点变化

  1. 工具系统大规模重构:PR #6302 移除课程采样器、动态数据集及多个废弃工具(BREAKING),PR #6300 将工具初始化移至AgentLoopWorker并废弃MCP,PR #6189 引入@function_tool装饰器,支持Python函数自动注册。工具架构从分散走向统一,降低了用户使用门槛。

  2. 奖励模块统一与扩展:PR #6265 统一RewardModelConfig字段(inference→rollout),修复world_size计算;PR #6228 支持多输出轨迹异步评分,扩展自定义reward manager接口;PR #6242 提取分数组装为类方法,方便覆写。奖励模块的可维护性和灵活性显著提升。

  3. Rollout引擎异步化与多样化:PR #5631 为TRTLLM实现完整异步RL(含abort/resume);PR #6117 引入SGLang Prefill-Decode分解部署;PR #6056 集成多教师在线策略蒸馏。Rollout层在异步和异构部署上迈出关键步伐。

  4. Megatron核心并行修复:PR #6267 修复CP场景position_ids计算错误;PR #6206 修正CP+TP序列对齐公式并适配新MTP API。这些修复直接影响大规模训练的数值正确性。

  5. CI与NPU持续改进:新增GSPO Qwen3-30B NPU nightly CI(#6273);修复内存可视化NPU兼容性(#6216, #6248);精简TRTLLM CI(#6275)。基础设施保持活跃迭代。

模块与主题趋势

  • 工具模块:正经历从混乱到有序的重构。移除MCP和旧工具减少了维护负担,function_tool降低了用户注册新工具的复杂度。但BREAKING变更需要下游适配,MCP移除影响相关用户。
  • 奖励模块:围绕配置统一、多输出支持和接口扩展。配置字段不一致导致world_size计算反复(#6226→#6258→#6265),提醒模块间配置依赖需细粒度管理。
  • Rollout:异步、分解、蒸馏是三大关键词。TRTLLM异步RL为大模型部署提供更灵活的中断/恢复能力,SGLang PD分解支持更优化的GPU布局,OPD扩展知识蒸馏场景。但TRTLLM Docker构建存在版本依赖风险。
  • Megatron:并行机制的精准修复是重点。position_ids和对齐公式的修复直接影响训练稳定性,但缺少测试覆盖,需加强回归。
  • CI/Infra:效率优化(任务合并、依赖精简)和硬件兼容(NPU, aarch64)双线推进。多处依赖升级和移除,需警惕对现有流水线的影响。

风险观察

  1. 测试覆盖不足:8个PR明确标记缺少测试覆盖,尤其#6267和#6206涉及核心路径,回归风险高。
  2. 配置兼容性断裂:#6302的BREAKING变更和#6300的MCP移除可能影响用户现有配置和工具使用。
  3. reward world_size计算反复:世界大小计算从#6226修复到#6258回滚再到#6265解决,暴露了配置字段缺失的问题,类似连锁反应可能重现。
  4. TRTLLM Docker构建风险:#6230中cupy和ray版本可能存在,若构建失败将阻塞CI和用户部署。
  5. 多output teacher logprobs缺失:#6228标记为TODO,影响使用KL惩罚的多输出蒸馏场景,需跟进实现。

重点 PR 速览

  • #6302 [BREAKING]:移除废弃工具、课程采样器和动态数据集,进行大方清理。
  • #6300:工具初始化集中化,移除MCP支持,统一工具注册表。
  • #6189:新增@function_tool装饰器,支持Python函数自动注册为工具。
  • #6265:统一RewardModelConfig字段,修复reward world_size计算。
  • #6228:支持多输出轨迹异步评分,扩展自定义reward manager。
  • #5631:TRTLLM异步RL完整实现(abort/resume、KV cache清理、profile)。
  • #6117:SGLang Prefill-Decode分解,非对称TP布局。
  • #6056:在线策略蒸馏集成多教师,完全异步框架扩展。
  • #6267:修复Megatron CP position_ids计算错误。
  • #6206:修复CP+TP对齐并适配新MTP API。
  • #6273:新增GSPO Qwen3-30B NPU nightly CI。
  • #6248:内存快照采集后自动清除历史,提升调试效率。
  • #6258:回滚reward world_size计算(临时,待#6265修复)。
  • #6230:修复TRTLLM Docker和CI,但依赖版本存疑。

后续建议

  • 对测试覆盖不足的核心修复(如#6267、#6206)尽快补充集成测试。
  • 在release notes中说明#6302和#6300的BREAKING变更,提供迁移指南。
  • 验证TRTLLM Docker构建,确保cupy和ray版本有效,或调整变通方案。
  • 推进#6228遗留的teacher logprobs实现,完善多输出训练能力。
  • 继续保持工具和奖励模块的文档更新(如#6287、#6272),改善新用户体验。

参与讨论