Prhub

#6820 [env] chore: add verl release 0.8.0 docker for ascend

原始 PR 作者 yyyy2000 合并时间 2026-06-25 11:16 文件变更 7 提交数 11 评论 2 代码增减 +213 / -55

执行摘要

新增 Ascend CANN 9.0.0 的 verl v0.8.0 镜像配置

支持 verl v0.8.0 在 Ascend 上的发布与 CI 构建,需要对应版本的新 Docker 镜像。

常规发布支持 PR,无需精读。但可注意两点:1)版本号自动化检查防范人为错误;2)同步更新文档和 CI 是良好实践。

讨论亮点

Review 指出两个版本错配问题:

  • Dockerfile.ascend_9.0.0_a3_v0.8.0 中,克隆 verl 时使用了 release/v0.7.1 分支而非 v0.8.0(严重)。
  • 文档表格中新增行的 verl 版本列被错误标注为 release/v0.7.1
    以上问题在后续提交中已修复,最终获批准合并。

实现拆解

主要变更包括:

  1. 新增 Dockerfile:新建 Dockerfile.ascend_9.0.0_a2_v0.8.0Dockerfile.ascend_9.0.0_a3_v0.8.0,基于 CANN 9.0.0 镜像,安装 vLLM、vLLM-Ascend、MindSpeed、Megatron-LM、mbridge 及 verl v0.8.0。
  2. 更新 CI 工作流:修改 docker-build-ascend-a2.ymldocker-build-ascend-a3.yml,将构建目标从 v0.7.1 切换到 v0.8.0,包括触发路径、构建阶段名称和 digest 路径。
  3. 修复拼写错误:在 e2e_ppo_trainer_megatron_sglang_2_ascend.yml 中修正了 .yml 文件路径的拼写。
  4. 更新文档:在 dockerfile_build_guidance.rst 中添加新镜像条目并将最后更新日期延后。
  5. 提升依赖版本:在 requirements-npu.txt 中将 numpy 版本下限从 <2 提升至 >=2.0.0。
文件 模块 状态 重要度
docker/ascend/Dockerfile.ascend_9.0.0_a2_v0.8.0 部署脚本 added 5.49
docker/ascend/Dockerfile.ascend_9.0.0_a3_v0.8.0 部署脚本 added 5.49
.github/workflows/docker-build-ascend-a2.yml CI 配置 modified 4.58
.github/workflows/docker-build-ascend-a3.yml CI 配置 modified 4.58
docs/ascend_tutorial/get_start/dockerfile_build_guidance.rst 文档 modified 1.83
requirements-npu.txt 配置 modified 1.54
.github/workflows/e2e_ppo_trainer_megatron_sglang_2_ascend.yml CI 配置 modified 2.64

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

评论区精华

Dockerfile 和文档中版本号错误 正确性

Review 机器人在 a3 Dockerfile 中发现克隆分支仍为 v0.7.1,文档中版本列也误标为 v0.7.1。

结论:通过后续 commit 修复,最终批准合并。 · 已解决

风险与影响

主要风险:

  • 版本对齐:Dockerfile 或 CI 中若残留 v0.7.1 引用可能导致镜像版本错误(已修复但仍需警惕)。
  • 依赖固化:numpy >=2.0.0 可能与其他组件(如旧版 transformer)不兼容。
  • CI 路径过滤:工作流路径触发更新可能遗漏或触发不必要的构建。

对用户:提供可直接拉取的 verl v0.8.0 镜像,简化 Ascend 环境部署。
对系统:CI 将自动构建新镜像并推送到仓库。
对团队:需维护多版本 Dockerfile,版本一致性检查成为关键。

版本错配风险 依赖固化风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论