Prhub

#6637 [ci] test: add qwen3.5 2b ascend nightly ci

原始 PR 作者 Zhang1Sheng 合并时间 2026-06-12 11:35 文件变更 3 提交数 1 评论 3 代码增减 +176 / -0

执行摘要

新增 Qwen3.5-2B Ascend nightly CI 测试

根据 PR body,目的是 'add qwen3.5 35b moe ascend nightly ci'。但实际实现针对 Qwen3.5-2B(模型 ID 为 Qwen/Qwen3.5-2B),可能是笔误。此次变更为补充 Ascend nightly CI 对 Qwen3.5-2B 模型的测试覆盖,确保该模型在 NPU 上的训练稳定性。

  • 该 PR 主要面向 CI 维护者和 Ascend 平台使用者,建议其他开发者快速浏览了解新增的测试覆盖。
  • 值得关注的是测试脚本中 FSDP2 与 vLLM rollout 的配置组合,可作为类似模型测试的参考模板。
  • 注意 LOG_DIR 路径硬编码的问题,未来可考虑使用 $HOME 更通用。
讨论亮点
  • gemini-code-assist 在脚本第 28 行建议将 LOG_DIR 从 /root/.cache 改为 ${HOME}/.cache,以兼容非 root 用户。该建议未被采纳,脚本保持原样。
  • ChibiQuest 在 .github/workflows/e2e_ascend.yml 的修改中询问“name为什么删除了?”,但该文件不在本 PR 变更集内,可能是评论关联错误,无后续结论。

实现拆解

  1. 新增测试脚本 tests/special_npu/nightly_ci_ascend/run_grpo_qwen3_5_2b_fsdp2_npu.sh:定义了环境变量默认值(模型 Qwen/Qwen3.5-2B、数据路径等),配置了 HCCL 和 Ray 的特定参数,并构造了 DATA、MODEL、ACTOR、REF、ROLLOUT、TRAINER 六个参数数组,最终调用 verl.trainer.main_ppo 启动 GRPO 训练。该脚本采用 FSDP2 策略,并开启了参数/优化器卸载以适配 Ascend NPU 内存限制。
  2. CI 工作流扩展 .github/workflows/nightly_ascend.yml:新增一个 job nightlyCI_grpo_qwen3_5_2b_fsdp2_vllm_ascend,运行于指定容器镜像,执行权重链接、数据预处理后,调用上述测试脚本。设定超时 180 分钟。
  3. 文档更新 docs/ascend_tutorial/contribution_guide/ascend_ci_guide_zh.rst:在模型路径表格中添加 Qwen3.5-2B 条目,便于 CI 开发者参考。
文件 模块 状态 重要度
tests/special_npu/nightly_ci_ascend/run_grpo_qwen3_5_2b_fsdp2_npu.sh 测试脚本 added 6.18
.github/workflows/nightly_ascend.yml CI 工作流 modified 4.44
docs/ascend_tutorial/contribution_guide/ascend_ci_guide_zh.rst 文档 modified 1.32

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

评论区精华

LOG_DIR 路径硬编码建议 other

gemini-code-assist 建议将 LOG_DIR 从 /root/.cache 改为 ${HOME}/.cache,避免非 root 用户权限问题。

结论:未采纳,脚本保持原始路径。 · unresolved

e2e_ascend.yml name 删除询问 question

ChibiQuest 询问为什么删除了 e2e_ascend.yml 中的 name,但该文件不在本次变更集内,可能是评论关联错误。

结论:无进一步讨论,可能误解。 · 待处理

风险与影响

  • 硬编码路径:脚本第28行 LOG_DIR=/root/.cache 在非 root 用户环境下可能导致权限错误。当前 CI 容器以 root 运行,风险较低。
  • CI 资源占用:新增 job 超时 180 分钟,可能影响 CI 队列周转。
  • 回归风险:不涉及核心代码变更,回归风险极低。
  • 用户:无直接感知。
  • 系统:每天执行一次 Qwen3.5-2B FSDP2 GRPO 训练,及时发现 Ascend NPU 兼容性问题。
  • 团队:需维护该测试脚本,确保依赖版本匹配。
硬编码路径 CI 环境依赖

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论