Prhub

#25932 [AMD] Fix AMD stage-a-test-small-1-gpu

原始 PR 作者 yctseng0211 合并时间 2026-05-21 11:51 文件变更 1 提交数 3 评论 3 代码增减 +6 / -3

执行摘要

校准 AMD EAGLE3 测试阈值并延长采样窗口

AMD stage-a CI 在 TestBasicSanityEagle3.test_fwd_occupancy 上持续失败。观察到 AMD EAGLE3 样本的中位占用量约为 86.26,低于 CUDA 校准的 97.0 阈值,且重试时由于采样数量不足导致 NaN 样本过多。需要按 AMD 实际表现校准阈值并延长采样窗口,确保 CI 回归检测有效。

建议合入。该 PR 针对 AMD CI 回归问题提供了合理且最小侵入的校准方案,在保留测试覆盖率的同时适应平台差异。值得关注的决策:is_in_amd_ci() 条件分支适配策略,可作为跨平台 CI 测试参数化的参考模式。

讨论亮点

无 review 讨论。审核者 bingxchehnyls2002 均直接批准,未留下评论。

实现拆解

  1. test/registered/core/test_basic_sanity_eagle3.py 中新增 is_in_amd_ci() 导入附加工具函数。
  2. 将静态阈值 97.0 改为条件赋值:AMD CI 环境使用 80.0,否则保持 97.0
  3. 新增 fwd_occupancy_max_new_tokens 属性,AMD CI 设为 4096(其他平台 2048),通过增加生成 token 数量收集更多有效样本减少 NaN 波动。
文件 模块 状态 重要度
test/registered/core/test_basic_sanity_eagle3.py 测试 modified 4.62

关键源码片段

test/registered/core/test_basic_sanity_eagle3.py test-coverage

核心测试文件,修改了 EAGLE3 前向占用量测试的阈值和采样窗口大小,是此次变更的唯一文件。

# test/registered/core/test_basic_sanity_eagle3.py (head)class TestBasicSanityEagle3(
    BasicAPIContractMixin,
    BasicDecodeCorrectnessMixin,
    BasicSchedulerStressMixin,
    FwdOccupancyMixin,
    HellaswagMixin,
    CustomTestCase,
):
    served_model_name = DEFAULT_TARGET_MODEL_EAGLE3
    # CUDA 5090 + Llama-3.1-8B measured ~99 median in CI. AMD EAGLE3
    # currently sustains lower single-batch occupancy and needs a longer
    # measurement window to avoid too few non-NaN samples.
    fwd_occupancy_threshold = 80.0 if is_in_amd_ci() else 97.0
    fwd_occupancy_max_new_tokens = 4096 if is_in_amd_ci() else 2048

评论区精华

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

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

风险与影响

低风险。变更仅影响测试类 TestBasicSanityEagle3 的两个配置属性,不涉及任何运行时逻辑或其他模块。AMD 阈值 80.0 基于实际 CI runner 观察值设定,若后端性能提升可能需要后续重新校准。

影响范围限定于 AMD 平台 EAGLE3 功能的 stage-a-test-1-gpu-small-amd CI 任务。修复后该测试不再跳过,保持对 EAGLE3 前向占用量的回归检测。CUDA 和其他平台行为完全不变。

仅测试变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论