Prhub

#6273 [ci] feat: add gspo qwen3-30b in nightly npu ci

原始 PR 作者 yyyy2000 合并时间 2026-05-09 15:58 文件变更 3 提交数 13 评论 1 代码增减 +182 / -1

执行摘要

为 NPU nightly CI 添加 GSPO Qwen3-30B 测试脚本

为了在 nightly CI 中自动验证 GSPO 训练在 NPU 上的正确性,覆盖 Qwen3-30B MoE 模型的关键路径,防止核心功能回归。

建议开发者仔细阅读 gemini-code-assist 的评论,并在后续 PR 中补充 ref 的 override_transformer_config。本 PR 本身作为 CI 增强是合理的,但配置一致性值得跟进。

讨论亮点

gemini-code-assist[bot] 在代码审查中指出 ref 配置缺少 actor 中使用的 override_transformer_config(如 moe_router_dtype=fp32moe_permute_fusionapply_rope_fusion),对于 MoE 模型,这可能导致 actor 和 ref 的 log-prob 计算不一致,即使 KL 已禁用也不够健壮。此问题未被作者回应或修复,PR 仍被批准合并。

实现拆解

  1. 新增测试脚本 tests/special_npu/nightly_ci_ascend/run_gspo_qwen3_30b_megatron_npu.sh,定义了模型路径、训练参数、actor/ref/rollout 配置。其中 actor 启用了 override_transformer_config(如 moe_router_dtype=fp32moe_permute_fusionapply_rope_fusion 等),而 ref 配置缺少这些覆盖。
  2. nightly_ascend.yml 中添加 job nightlyCI_gspo-qwen3-30b-megatron-vllm_ascend,设置容器镜像、资源规格和运行步骤。
  3. e2e_ascend.yml 中将 vlm_rl_job 的 runner 规格从 linux-aarch64-a3-16 改为 linux-aarch64-a3-8,降低资源占用。
文件 模块 状态 重要度
tests/special_npu/nightly_ci_ascend/run_gspo_qwen3_30b_megatron_npu.sh 测试脚本 added 6.21
.github/workflows/nightly_ascend.yml CI 配置 modified 4.4
.github/workflows/e2e_ascend.yml CI 配置 modified 2.95

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

REF 配置缺少 override_transformer_config 设计

gemini-code-assist[bot] 指出 REF 配置缺少 actor 中使用的 override_transformer_config(如 moe_router_dtype=fp32、moe_permute_fusion、apply_rope_fusion),可能导致 actor 和 ref 的 log-prob 计算不一致。

结论:PR 虽已被批准合并,但该问题未在本次 PR 中修复,需后续跟进。 · unresolved

风险与影响

核心风险在于 ref 配置不完整:如果未来启用 KL 或需要精确的比值,将产生训练偏差。此外,新增加的 nightly job 会延长 CI 总时长,需要监控资源消耗。E2E CI 的 runner 规格缩减可能增加任务失败概率,需观察稳定性。

对用户无直接影响。对团队:需要关注 ref 配置一致性问题,建议后续修复。对系统:增加了 nightly CI 的覆盖范围,但可能增加维护成本。

配置一致性风险 资源占用增加

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论