Prhub

verl-project/verl · 标签视图

标签列表

聚合结果

megatron 相关 PR

2026-09-16
缺陷修复 重要性 8.36 洞察度 7.00

detach model_output 修复多引擎逐 micro-batch 显存泄漏

值得精读。建议关注四点: 1. 根因定位方法:`_record_memory_history` 栈归因锁定 `p2p_communication.py::create_tensor_recv_prev`,并用 `forward_only`(0.76 MiB/micro-batch)与 PP=1(0.31 MiB/micro-batch)两组对照实验把“图保留”机制钉死,是排查训练显存泄漏的范本。 2. `detach_tree` 设计:惰性 detach(已 detached 张量原样返回)避免逐 key 创建 `TensorImpl`;递归支持 dict / list / tuple,从而覆盖 jagged nested tensors 这类新型输出结构。 3. 回归测试设计:CPU-only 下用最小 checkpoint 模型 + weakref 复现“图被钉住”机制,再配合 AST 静态检查 4 个引擎调用点,绕开“必须 PP>=2 才可复现”与“无法在 CI 断言绝对显存”的双重困境。 4. 工程陷阱提醒:“detach 位置错误导致梯度静默归零且 loss 曲线正常”说明此类内存修复必须用梯度可达性断言(`requires_grad` 契约)双保险,而不能只靠数值曲线。

2026-09-14
缺陷修复 重要性 9.18 洞察度 7.00

R2 回放模型作用域化并显式启用,修复 Megatron 回归

值得精读。重点学习三点:(1) opt-in + model-scoped 的双重机制如何从根上避免 #7106 的回归——这是"修复被回退后重做"的教科书案例;(2) 分布式集体通信中空 stage 用 0-layer 占位参与的设计,`pp_gather` 的防御性校验也值得借鉴;(3) 多模态 HF config 树遍历中"只走 text 分支、隔离兄弟配置"的约束,对 Qwen3-Omni 类模型接入有直接价值。此外,SamitHuang 的三条 review 展示了如何把"静默错误"审出来并推动作者用测试固化。

缺陷修复 重要性 2.95 洞察度 3.00

修复 GLM-5.2 Ascend 示例脚本:关闭 checkpoint 严格校验并更新依赖 refs

值得快速浏览,但无需精读。该 PR 是典型的 recipe 维护类变更,核心价值在于两点:一是学会在示例脚本中通过 `checkpoint.strict=False` 处理权重冗余/缺失场景;二是注意依赖 ref 与镜像栈的版本对齐。可作为 Ascend 示例脚本维护的参考。

2026-09-11
缺陷修复 重要性 6.61 洞察度 6.00

对齐 VLM THD 序列长度,修复 Megatron SP 崩溃

建议精读,尤其是正在维护 Megatron VLM / 序列并行 / 上下文并行前向路径的工程师。值得关注的三个设计点:一是「SP scatter 要求 S 能被 tp_size 整除」这一硬约束通过 padding 在模型入口处满足,而不是在 scatter 处打补丁;二是 CP>1 时对齐粒度取 `tp_size * cp_size * 2` 的推导(zigzag 切分保证单 rank 局部长度仍可被 tp_size 整除);三是把对齐逻辑收敛到 `build_vlm_attn_mask_thd`、让 fused 路径复用,避免两套实现继续分叉。同时应把 Copilot 的测试建议当作待办跟进:补一个覆盖 B=1、4026 这类奇数长度的 CPU 单测,断言输出 S 可被 `tp_size`(CP>1 时为 `tp_size * cp_size * 2`)整除,并在 CP 分支校验每个 rank 拿到完整切片。

2026-09-10
基础设施 重要性 3.57 洞察度 3.00

Ascend 镜像与 NPU 单测默认加载 megatron_adaptor 并修正依赖 tag

建议中低强度精读:改动只有 11 行,但位于「镜像构建 → patch → CI」的关键路径上,维护 Ascend 镜像、NPU CI 与 Megatron 后端的同学花 5 分钟读完即可。最值得关注的设计决策有两处:一是 `VERL_USE_EXTERNAL_MODULES` 是否应无条件写进镜像 ENV,还是让下游启动脚本显式开启;二是 Megatron-LM/MindSpeed 的 tag 引用是否应集中维护,避免 Dockerfile 与安装脚本各写一份、日后再次漂移。

2026-09-09
功能 重要性 5.53 洞察度 3.00

新增 GLM-5.2 模型在 Ascend NPU 上的 32 节点 GRPO 训练示例脚本。

该 PR 是一个有价值但无需精读代码的示例脚本提交。**值得精读的程度较低**,因为变更仅为一个 Shell 脚本,不涉及核心逻辑。**但值得关注的设计决策和配置**包括: 1. 如何为 GLM-5.2 这类 MoE 模型在 32 节点规模下配置专家并行(EP=64)和推理并行(INFER_EP=64)。 2. 针对 Ascend NPU 优化的 Megatron 配置细节,如 `use_fused_rmsnorm=True`,`experimental_attention_variant="dsa"`。 3. GRPO 算法的具体参数设置(如 `clip_ratio_low=0.2`, `clip_ratio_high=0.28`),这反映了该训练配方的具体调优思路。

2026-09-04
基础设施 重要性 4.60 洞察度 3.00

升级 Ascend A2/A3 镜像至 Megatron 0.18.0 并切换依赖栈。

这是一个重要的基础设施升级 PR,虽然不涉及核心算法或训练逻辑的改动,但它改变了 Ascend 平台上所有训练任务的底层依赖栈和运行时配置。对于使用 Ascend 的开发者或运维人员,此 PR 值得精读,以理解版本升级的具体内容和配置切换点,从而安全地完成环境迁移。对于不使用 Ascend 的读者,可以略过。

2026-08-25
重构 重要性 5.77 洞察度 3.00

移除失效 grad_offload 配置,属 Breaking 清理

值得快速阅读(约 15 分钟),重点关注两点:一是 `verl/workers/config/engine.py` 如何通过 dataclass + 生成配置联动维护配置契约,二是本 PR 与 #7536/#7466 形成的“清理死配置键”模式。如果有外部 Megatron 脚本或自定义配置,需要检查是否引用 `grad_offload` 并完成迁移。实现本身较机械,不需要深读。