# PR #6876 完整报告

- 仓库：`verl-project/verl`
- 标题：[ci] chore: add Ascend multinode nightly CI
- 合并时间：2026-06-29 14:27
- 原文链接：http://prhub.com.cn/verl-project/verl/pull/6876

---

# 执行摘要

- 一句话：添加 Ascend 多节点 nightly CI
- 推荐动作：值得关注的是 RayJob 提交模式的设计，可复用类似场景。但脚本和配置细节较贴合内部 CI 环境，外部参考价值有限。

# 功能与动机

PR body 指出："Add an Ascend A3 multinode nightly CI workflow for Qwen3-30B GSPO Megatron coverage. This PR replaces the older Ascend multinode E2E workflow/script with a nightly RayJob-based workflow"。目的是通过 nightly 调度持续验证 Ascend 多节点训练路径，提升 CI 覆盖稳定性。

# 实现拆解

1. **新增 nightly 工作流**：在 `.github/workflows/nightly_ascend_multinode.yml` 中定义按日调度（cron 0 17 * * *）的 RayJob 提交任务，包含代码打包、worker 环境准备（`setup_worker`）和脚本执行（`run_cmd`）。
2. **新增多节点训练脚本**：在 `tests/special_npu/nightly_ci_ascend/run_gspo_qwen3_30b_megatron_npu_multinode.sh` 中配置 Qwen3-30B MoE 模型的 GSPO 训练参数，包括数据路径、Megatron 并行策略（TP/PP/EP）、vLLM rollout 参数等。
3. **删除旧工作流**：移除 `.github/workflows/e2e_ascend_multinode.yml`，该工作流基于旧镜像和触发条件。
4. **删除旧训练脚本**：移除 `tests/special_npu/run_qwen3_06b_ppo_multinode.sh`，该脚本使用 FSDP 和 PPO，已不再维护。
配套变更：无核心代码修改，仅 CI 配置和测试脚本变更。

关键文件：
- `.github/workflows/nightly_ascend_multinode.yml`（模块 CI 工作流；类别 infra；类型 infrastructure；符号 setup_worker, run_cmd）: 核心工作流，定义 nightly 调度、RayJob 提交和 worker 初始化逻辑
- `tests/special_npu/nightly_ci_ascend/run_gspo_qwen3_30b_megatron_npu_multinode.sh`（模块 多节点测试；类别 test；类型 test-coverage）: 新增的多节点训练脚本，配置 GSPO 算法和 Megatron 并行参数
- `.github/workflows/e2e_ascend_multinode.yml`（模块 CI 工作流；类别 infra；类型 deletion）: 被替换的旧工作流，已不再需要
- `tests/special_npu/run_qwen3_06b_ppo_multinode.sh`（模块 多节点测试；类别 test；类型 deletion）: 被替换的旧多节点脚本，使用小模型和 PPO 算法

关键符号：setup_worker, run_cmd


# 评论区精华

gemini-code-assist[bot] 建议在新 shell 脚本中添加 `set -xeuo pipefail` 以确保管道错误被捕获。该建议未被采纳，PR 已由维护者直接合并，视为非阻塞意见。

- Shell 脚本健壮性建议 (correctness): 建议未被采纳，PR 由维护者直接合并，视为非阻塞意见。

# 风险与影响

- 风险：工作流依赖内部 RayJob 提交器（SUBMITTER_URL），若服务不可用则 nightly 失败。新脚本仅在 CI 环境中验证，未经本地测试。无代码逻辑变更，不影响训练正确性。
- 影响：影响范围限于 Ascend 多节点测试：旧工作流被移除，新的 nightly 工作流将每日运行一次。团队需要通过 nightly 报告监控执行状态。对用户无影响。
- 风险标记：依赖外部 RayJob 提交器 , 未经本地测试

# 关联脉络

- PR #6711 [ci] chore: solve dapo error and add three baselines for npu nightly ci: 添加了单节点 Ascend nightly CI，本 PR 扩展至多节点覆盖。
- PR #6820 [env] chore: add verl release 0.8.0 docker for ascend: 为本 PR 所需的 Ascend A3 镜像提供基础 Docker 配置。