Prhub

#6429 [megatron] fix: set use_mbridge to True for some npu scripts

原始 PR 作者 zjchenn 合并时间 2026-05-21 15:54 文件变更 2 提交数 1 评论 0 代码增减 +4 / -4

执行摘要

修复 NPU 脚本中 use_mbridge 参数为 True

PR#4530 添加了对 use_mbridge 标志的校验,要求必须为 True。现有 NPU 脚本中该标志设置为 False 会导致校验失败,因此需要修正以保持兼容。

该 PR 本质上是跟随上游校验的合规性修复,无技术深度,但值得注意:新增的 flash attention 和重计算配置可能对性能有积极影响,可作为 NPU 脚本的默认优化模板。

讨论亮点

无 review 讨论。仅 Gemini Code Assist 自动生成无实质反馈的评论,并由 wucong25 直接批准。

实现拆解

  1. 修改 actor 和 ref 配置中的 use_mbridge 值:将 actor_rollout_ref.actor.megatron.use_mbridge=Falseactor_rollout_ref.ref.megatron.use_mbridge=False 均改为 True
  2. 新增两项 transformer 优化配置:override_transformer_config.use_flash_attn=True(启用 flash attention)和 override_transformer_config.recompute_method=uniform(设置统一重计算策略)。
  3. 涉及两个文件:run_qwen3_235b_256k_megatron.shrun_qwen3_30b_a3b_megatron.sh,改动均为配置键调整,无核心逻辑变更。
文件 模块 状态 重要度
examples/ascend_extras/grpo_trainer/run_qwen3_235b_256k_megatron.sh 训练脚本 modified 2.49
examples/ascend_extras/grpo_trainer/run_qwen3_30b_a3b_megatron.sh 训练脚本 modified 2.49

关键源码片段

examples/ascend_extras/grpo_trainer/run_qwen3_235b_256k_megatron.sh configuration

Qwen3 235B 模型的 GRPO 训练脚本,修复了 actor 和 ref 的 use_mbridge 配置,并新增了 flash attention 和重计算优化参数。

# ... 其他配置 ...
actor_rollout_ref.actor.megatron.use_dist_checkpointing=True
# 修复:必须为 True 以通过 PR#4530 的校验
actor_rollout_ref.actor.megatron.use_mbridge=True
actor_rollout_ref.actor.megatron.dist_checkpointing_path=${MCORE_MODEL_PATH}
# 新增优化:启用 flash attention 和统一重计算
actor_rollout_ref.actor.megatron.override_transformer_config.use_flash_attn=True
actor_rollout_ref.actor.megatron.override_transformer_config.recompute_method=uniform
​
# ... ref 配置同理 ...
actor_rollout_ref.ref.megatron.use_mbridge=True
# 新增 ref 端优化配置
actor_rollout_ref.ref.megatron.override_transformer_config.use_flash_attn=True
examples/ascend_extras/grpo_trainer/run_qwen3_30b_a3b_megatron.sh configuration

Qwen3 30B A3B 模型的训练脚本,变更内容与 235B 脚本完全一致。

# ... 其他配置 ...
actor_rollout_ref.actor.megatron.dist_checkpointing_path=${MCORE_MODEL_PATH}
actor_rollout_ref.actor.megatron.use_dist_checkpointing=True
# 修复:启用 mbridge 以符合新校验
actor_rollout_ref.actor.megatron.use_mbridge=True
# 新增优化:flash attention 和重计算方法
actor_rollout_ref.actor.megatron.override_transformer_config.use_flash_attn=True
actor_rollout_ref.actor.megatron.override_transformer_config.recompute_method=uniform
​
# ... ref 配置 ...
actor_rollout_ref.ref.megatron.use_mbridge=True
# ref 端也需要 flash attention 优化
actor_rollout_ref.ref.megatron.override_transformer_config.use_flash_attn=True

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低:仅修改 shell 脚本中的配置参数,不会影响 Python 核心逻辑。但需确认 NPU 环境确实支持 use_mbridge=True,以及新增的 flash attention 和重计算配置不会与现有环境冲突。

影响范围限于两个 Ascend NPU GRPO 训练脚本,使它们能在 use_mbridge 校验通过的情况下正常运行。对系统的其他模块(如 trainer、rollout 等)无影响。

仅配置变更 无测试覆盖 依赖上游校验

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论