Prhub

#7492 [ci] fix: revert megatron version on ascend ci

原始 PR 作者 lxb007981 合并时间 2026-08-20 20:30 文件变更 1 提交数 1 评论 0 代码增减 +0 / -16

执行摘要

回退 Ascend CI 工作流中 Megatron 依赖版本,修复测试失败。

根据 PR body 中明确陈述:“Revert megatron version. Only affect ascend ci.”,变更的直接动机是回退 Megatron 版本。结合仓库近期历史中多个 Ascend CI 相关修复(如 PR#7584 和 PR#7558 清理过时的 enable_chunked_prefill=False 配置)判断,此次回退是为解决特定 Megatron 版本在 Ascend NPU 环境下的兼容性问题或测试失败,确保 CI 流程的可靠性。

这是一个低风险、高必要性的基础设施维护 PR,值得快速合入以恢复 CI 稳定性。审查者应确认回退后的依赖版本(镜像内版本)确实是已知稳定的版本。长期来看,团队应关注 Megatron 在 Ascend NPU 上的兼容性测试策略,考虑建立更健壮的依赖管理或定期同步验证机制。

讨论亮点

PR 的 review 过程简单直接,无讨论线程。评审人 wucong25 直接批准(APPROVED)且未留下评论,表明此变更意图清晰、风险可控,被视为必要的维护性修复。

实现拆解

  1. 变更入口:修改 GitHub Actions 工作流文件 .github/workflows/e2e_ppo_trainer_megatron_sglang_ascend.yml
  2. 核心逻辑调整:在 test_fsgtest_e2e 两个 job 中,移除了名为 “Configure related dependencies” 的步骤。该步骤原本会克隆 NVIDIA/Megatron-LM 和 ascend/MindSpeed 的 core_r0.18.0 版本到容器内特定路径 (/Megatron-LM, /MindSpeed) 并设置 PYTHONPATH。此操作的移除意味着测试将使用工作流容器或后续 pip 安装步骤中已包含的 Megatron 和 MindSpeed 版本。
  3. 配套与影响:本次变更未修改任何源代码或测试用例,仅调整了 CI 基础设施配置。因此,无直接的源码逻辑影响,其影响完全限于 Ascend 平台端到端测试的执行环境和依赖版本。
文件 模块 状态 重要度
.github/workflows/e2e_ppo_trainer_megatron_sglang_ascend.yml 持续集成 modified 3.92

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

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

  1. 测试覆盖风险:回退版本意味着后续对 Megatron core_r0.18.0 新特性或修复的测试将不会在 Ascend CI 中运行。如果该版本包含了针对其他平台(如 GPU)的重要修复,可能无法在 Ascend 上得到验证。
  2. 依赖一致性风险:当前变更是让 Ascend CI 使用“镜像内预装”或“pip 间接安装”的 Megatron 版本,需确保该版本与项目其他部分的兼容性(例如 verl/megatron 适配层)。版本不一致可能导致隐蔽的兼容性问题。
  3. 回退的可持续性:这是一次临时性回退。根本原因(新版本与 Ascend 环境不兼容)可能尚未解决,未来升级 Megatron 版本时仍会遇到相同问题,需要持续跟进。
  1. 用户影响:无直接影响。用户无需更改任何代码或配置。
  2. 系统影响:仅影响 Ascend 平台的自动化测试流程,使其恢复到可工作的状态。确保提交到主分支的代码至少在当前稳定的依赖配置下通过 Ascend E2E 测试。
  3. 团队影响:恢复了 Ascend CI 的可靠性,减少了维护者因 CI 失败而进行排查和修复的负担。但同时,团队需意识到 Ascend 环境与上游 Megatron 版本的兼容性需要专门维护。
测试环境版本回退 依赖兼容性未根治

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论