# PR #6637 完整报告

- 仓库：`verl-project/verl`
- 标题：[ci] test: add qwen3.5 2b ascend nightly ci
- 合并时间：2026-06-12 11:35
- 原文链接：http://prhub.com.cn/verl-project/verl/pull/6637

---

# 执行摘要

- 一句话：新增 Qwen3.5-2B Ascend nightly CI 测试
- 推荐动作：
 - 该 PR 主要面向 CI 维护者和 Ascend 平台使用者，建议其他开发者快速浏览了解新增的测试覆盖。
 - 值得关注的是测试脚本中 FSDP2 与 vLLM rollout 的配置组合，可作为类似模型测试的参考模板。
 - 注意 `LOG_DIR` 路径硬编码的问题，未来可考虑使用 `$HOME` 更通用。

# 功能与动机

根据 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 上的训练稳定性。

# 实现拆解

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`（模块 测试脚本；类别 test；类型 test-coverage）: 新增的测试脚本，定义整个训练流程的参数和启动方式，是本次 CI 测试的核心。
- `.github/workflows/nightly_ascend.yml`（模块 CI 工作流；类别 infra；类型 infrastructure）: CI 配置，新增 nightly job，使得该测试能在定时触发中运行。
- `docs/ascend_tutorial/contribution_guide/ascend_ci_guide_zh.rst`（模块 文档；类别 docs；类型 documentation）: 文档更新，补充模型路径，方便 CI 开发者配置。

关键符号：未识别


# 评论区精华

- **gemini-code-assist**在脚本第 28 行建议将 LOG_DIR 从 /root/.cache 改为 ${HOME}/.cache，以兼容非 root 用户。该建议未被采纳，脚本保持原样。
- **ChibiQuest**在 `.github/workflows/e2e_ascend.yml` 的修改中询问“name 为什么删除了？”，但该文件不在本 PR 变更集内，可能是评论关联错误，无后续结论。

- LOG_DIR 路径硬编码建议 (other): 未采纳，脚本保持原始路径。
- e2e_ascend.yml name 删除询问 (question): 无进一步讨论，可能误解。

# 风险与影响

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

# 关联脉络

- PR #6649 [ci] fix: several CI syntax errors: 同属 CI 基础设施修复与改进，修复了 CI 语法错误，与本 PR 的 CI 扩展相关。
- PR #6668 [ci, hardware] feat: add AMD ROCm (MI300) e2e_ppo_trainer workflow: 同样是在 CI 中添加新硬件平台测试，体现了多平台测试覆盖的扩展趋势。