# PR #7867 完整报告

- 仓库：`verl-project/verl`
- 标题：[ci] chore: Fix transformers version in Ascend docker images
- 合并时间：2026-09-15 11:54
- 原文链接：http://prhub.com.cn/verl-project/verl/pull/7867

---

# 执行摘要

- 一句话：Ascend 镜像将 transformers 固定为 5.10.4
- 推荐动作：不建议精读，属于常规依赖修复。值得留意的是固定版本的操作位置（bridge 安装之后、清理之前）以及注释习惯；更值得反思的是 PR 描述过于简短，缺少不兼容现象说明和验证方式，团队在后续依赖升级时应补充 issue 链接与冒烟验证步骤。

# 功能与动机

PR body 仅说明 "Fix transformers version `5.10.4` in Ascend docker images"，没有附带 issue 或详细背景。结合近期 7604（Ascend 栈升级 Megatron 0.18.0）与 7827（配置 Megatron 集成）等 PR 推断，本次是为消除 bridge 依赖解析带来的 transformers 版本漂移问题；但具体的兼容性故障现象未在本 PR 中说明。

# 实现拆解

变更入口为两个 Ascend 镜像的 Dockerfile：`docker/ascend/Dockerfile.ascend_9.1.0_a2` 与 `docker/ascend/Dockerfile.ascend_9.1.0_a3`。具体步骤如下：
1. 在 A2 镜像构建脚本中，定位到 `pip install -e Megatron-Bridge --no-build-isolation --no-deps` 步骤之后、`rm -rf /tmp/* /var/tmp/*` 清理步骤之前，追加一行 `pip install transformers==5.10.4`，并添加注释 “Fix transformers”。
2. 在 A3 镜像的 Dockerfile 中执行完全相同的追加，保持两个硬件平台的镜像依赖一致性。
3. 该位置选择有两个作用：放在 bridge 安装之后可确保最终镜像中的 transformers 被覆盖为固定版本；放在清理步骤之前则不需要新增额外的镜像层。
4. 无配套测试或配置变更，提交仅 1 个 commit，变更只影响镜像构建产物。潜在注意点是固定版本与 bridge 自身的依赖约束可能冲突，若 bridge 需要更高版本，pip 会直接替换已安装包。

关键文件：
- `docker/ascend/Dockerfile.ascend_9.1.0_a2`（模块 镜像构建；类别 infra；类型 infrastructure）: A2 镜像构建脚本中固定 transformers 版本，是本次变更的主阵地，直接决定镜像内依赖版本。
- `docker/ascend/Dockerfile.ascend_9.1.0_a3`（模块 镜像构建；类别 infra；类型 infrastructure）: 与 A2 完全相同的变更，覆盖 A3 硬件镜像，保证两个平台依赖一致。

关键符号：未识别

## 关键源码片段

### `docker/ascend/Dockerfile.ascend_9.1.0_a2`

A2 镜像构建脚本中固定 transformers 版本，是本次变更的主阵地，直接决定镜像内依赖版本。

```dockerfile
RUN export PIP_EXTRA_INDEX_URL=https://triton-ascend.osinfra.cn/pypi/simple/ && \
    pip install -e MindSpeed-Bridge --no-deps && \
    pip install -e Megatron-Bridge --no-build-isolation --no-deps && \
    # 在 bridge 安装完成后显式固定 transformers 版本
    # 目的：覆盖依赖解析出的其他版本，保证镜像内为 5.10.4
    pip install transformers==5.10.4 && \
    # 清理构建临时文件与 pip 缓存，减小镜像体积
    rm -rf /tmp/* /var/tmp/* && \
    pip cache purge

```

# 评论区精华

本 PR 没有任何 review 讨论或评论线程，唯一审核人 wucong25 直接给予 APPROVED 且未留下说明。变更决策完全由作者和合并者掌握，缺少公开的权衡记录。

- 暂无高价值评论线程

# 风险与影响

- 风险：风险点集中在固定版本与依赖约束的冲突上：`pip install transformers==5.10.4` 会直接替换环境中已存在的其他 transformers 版本，如果 MindSpeed-Bridge 或 Megatron-Bridge 后续依赖更高版本，镜像内可能出现运行期行为不一致。此外，该固定只落在 A2、A3 两个 Dockerfile 上，同依赖栈的其他 Ascend 镜像或安装脚本不会自动同步；PR 也未附带任何 CI 验证或镜像冒烟测试，无法确认新镜像能正常加载 Megatron-Bridge。
- 影响：影响范围集中在 Ascend A2、A3 镜像的构建产物，以及使用这两个镜像的 NPU CI 流水线和用户环境。影响程度低：不涉及 API、配置、训练逻辑，也没有 breaking change；但 transformers 版本差异可能影响 NPU 上 Megatron 训练的精度或性能，属于运行时隐蔽变量。
- 风险标记：依赖硬编码且无 lock 同步 , 无 CI 验证 , 仅覆盖 A2/A3 两个镜像 , PR 描述信息不足

# 关联脉络

- PR #7604 [megatron, ci] chore: upgrade Ascend stack to Megatron 0.18.0: 同一批 Ascend 镜像进行 Megatron 依赖栈升级，本 PR 是对升级后 transformers 版本的修正。
- PR #7827 [megatron, ci] fix: configure Megatron integration in Ascend images and tests: 同为 Ascend 镜像中的 Megatron 依赖与适配层调整，与本 PR 形成配套的依赖固定。