Prhub

#33809 [AMD] Move test_load_weights_from_remote_instance.py to extra CI

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

执行摘要

AMD 远程权重加载测试移至 extra CI,避免默认 CI 阻塞

PR body 明确指出:CI 缩减的测试会在 NCCL 与 TransferEngine 之间随机选择;在 AMD 上,当前 Mooncake TransferEngine 路径可能报告成功但目标权重保持为零,从而造成默认 CI 不稳定。作者选择将 AMD 注册移到 label 门控的 extra-a 套件,作为 #30035 的替代方案——#30035 是强制 AMD CI 走 NCCL,而本 PR 保留 TransferEngine 的 opt-in 覆盖,避免默认 CI 被 flaky 路径阻塞。

不值得精读,属于一行级别的 CI 注册调整。可借鉴的点在于:面对 flaky 硬件相关测试时,除了“强制换后端”(#30035)之外,还可以通过“默认套件降级 + extra CI 保留覆盖”的方式平衡稳定性与覆盖度。若后续 AMD TransferEngine 路径修复,应将该测试移回默认套件。

讨论亮点

该 PR 没有 Review 评论线程,审阅者 HaiShaw 直接批准(APPROVED)。核心权衡体现在 PR body 中:相较于 #30035 强制 AMD CI 改用 NCCL 的方案,本 PR 选择保留 TransferEngine 在 extra CI 的覆盖,在默认 CI 稳定性与后端覆盖之间取折中,是本次唯一的实质设计决策。

实现拆解

  1. 变更入口:修改测试文件 test/registered/model_loading/test_load_weights_from_remote_instance.py 中的 CI 注册调用。将 register_amd_ci(est_time=72, suite="stage-b-test-2-gpu-large-amd") 改为 register_amd_ci(est_time=72, stage="extra-a", runner_config="2-gpu-large-amd"),与 CUDA 侧 register_cuda_ci(est_time=145, stage="extra-a", runner_config="2-gpu-large") 的参数风格保持一致。
  2. 原因与影响:AMD 侧从默认 stage-b 套件切换到 label 门控的 extra-a 套件后,默认 AMD PR CI 不再运行该测试,避免 TransferEngine 路径的偶发失败阻塞常规提交;同时保留在 extra-a 套件中的覆盖,使该路径仍可被显式触发验证。
  3. 测试配套:作者已执行 git diff --checkpy_compile 和 CI 注册解析验证,确认 CUDA 映射到 extra-a-test-2-gpu-large、AMD 映射到 extra-a-test-2-gpu-large-amd。测试计划中“运行 PR Test Extra (AMD)”与“运行 ROCm 7.2 extra 套件”两项尚未勾选,属于待验证项。
文件 模块 状态 重要度
test/registered/model_loading/test_load_weights_from_remote_instance.py 远程加载 modified 3.46

关键源码片段

test/registered/model_loading/test_load_weights_from_remote_instance.py test-coverage

唯一的变更文件,通过修改 `register_amd_ci` 参数将 AMD 远程权重加载测试从默认 stage-b 套件移到 label 门控的 extra-a 2-GPU 套件,与 CUDA 注册对齐,是本 PR 的核心动作。

# 该文件是远程实例权重加载测试的 CI 注册入口。
# CUDA 侧早已注册在 label 门控的 extra-a 2-GPU 大套件;
# AMD 侧原来挂在默认 stage-b 套件,会在默认 PR CI 中运行,
# 本次统一对齐到 extra-a,使 flaky 的 TransferEngine 路径不再阻塞默认 CI。register_cuda_ci(est_time=145, stage="extra-a", runner_config="2-gpu-large")
register_amd_ci(est_time=72, stage="extra-a", runner_config="2-gpu-large-amd")

评论区精华

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

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

风险与影响

  1. 回归检测延迟:AMD 上 TransferEngine 权重加载可能“假成功”的问题不再被默认 CI 捕获,后续迭代若未显式跑 extra-a 套件,相关回归可能延迟发现。
  2. 套件映射依赖:改动依赖 extra-a-test-2-gpu-large-amd 这一 runner 配置真实存在且由 label 正确门控;若映射配置漂移,测试可能被静默跳过。
  3. 验证不完整:PR 作者在测试计划中未实际运行 AMD extra 套件,改动是否在真实 MI300 2-GPU 环境上通过仍存在不确定性。
  4. 产品代码零改动:本次仅调整测试注册,不涉及任何运行时逻辑,产品路径无直接回归风险。

对用户无直接影响。对系统而言,默认 AMD CI 的稳定性得到提升,减少因 TransferEngine 偶发失败导致的无效重跑;但 AMD 上远程权重加载的后端覆盖从默认降级为 opt-in,需要在 extra CI 中持续关注。对团队而言,这是一个 CI 编排策略调整,维护者需理解 suitestage/runner_config 两种注册方式的语义差异,并确保 extra-a 的 label 门控配置与 CUDA/AMD 两侧保持一致。

AMD 专用路径 默认 CI 覆盖移除 缺少 AMD 实测验证

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论