Prhub

#36308 [AMD][CI] Limit HiCache MGSM eval concurrency on ROCm

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

执行摘要

限制 ROCm 上 HiCache MGSM 评估并发

ROCm 7.2.4 MI300 的 CI 任务 stage-b-test-1-gpu-small-amd-rocm720 (4) 中,TestHiCacheMLA.test_mgsm_en 重试后得分分别为 0.564 和 0.612,低于 0.8 的阈值。PR 说明指出,MGSM 英文包含 250 个示例,而 MGSMEnMixin 默认使用 1024 个客户端线程,导致整个评估并发提交,失败任务达到 250 个运行中请求。这是一个 HiCache 准确率集成测试而非最大并发压力测试,因此本 PR 旨在限制 AMD 测试负载,而不降低准确率要求。

值得快速浏览,作为针对特定硬件环境的测试参数调整示例。关注点:使用条件属性覆盖默认值,保持非 HIP 行为不变,最小化改动。无需深入精读。

讨论亮点

无 review 评论。审核人 HaiShaw 直接批准(APPROVED)。

实现拆解

  1. 修改测试类配置:在 test/registered/hicache/test_hicache_variants.pyTestHiCacheMLA 类中,新增条件属性定义:当 _is_hip 为真时,设置 mgsm_en_num_threads = 32;非 HIP 环境不定义该属性,从而继承 MGSMEnMixin 的默认值(1024)。
  2. 保持准确率逻辑不变:未修改 mgsm_en_score_threshold(仍为 0.8),也未调整其他测试逻辑,仅通过降低并发线程数来减少同时运行的请求数,从而避免因并发过高导致的准确率下降。
  3. 验证:在受影响的 ROCm 7.2.4 MI300 part 4 任务中验证通过,得分 0.872(阈值 0.8),最大 decode 批次从 250 降至 32,完整测试文件耗时 1961 秒,低于 2400 秒超时。
文件 模块 状态 重要度
test/registered/hicache/test_hicache_variants.py 测试配置 modified 3.99

关键源码片段

test/registered/hicache/test_hicache_variants.py test-coverage

唯一的变更文件,在 TestHiCacheMLA 类中为 HIP 环境添加 mgsm_en_num_threads=32,以限制并发线程数,解决 ROCm 测试准确率不达标问题。

class TestHiCacheMLA(HiCacheBaseServer, MMLUMixin, MGSMEnMixin):
    """HiCache with MLA model tests"""
​
    model_name = DEFAULT_MLA_MODEL_NAME_FOR_TEST
    hicache_args = [
        "--trust-remote-code",
        "--enable-hierarchical-cache",
    ] + (["--hicache-size", 200] if _is_hip else ["--hicache-ratio", 2])
    mmlu_score_threshold = 0.54
    mmlu_num_examples = 256
    mmlu_num_threads = 32
    mgsm_en_score_threshold = 0.8
    # 仅 HIP 环境限制 MGSM 评估的客户端线程数,降低并发压力,
    # 避免因并发过高导致准确率下降。非 HIP 环境继承默认值。
    if _is_hip:
        mgsm_en_num_threads = 32

评论区精华

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

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

风险与影响

风险较低。改动仅限测试文件,不涉及生产代码。主要风险是降低并发可能影响测试对高并发场景的覆盖,但该测试定位为准确率集成测试而非压力测试。此外,如果 ROCm 环境(如 MI300)的并发限制值 32 在其他模型或配置下不适用,可能导致测试通过但未覆盖真实负载,但影响有限。

影响范围限于 CI 测试:ROCm 上的 HiCache MLA 测试并发度降低,可能减少偶发失败,提高 CI 稳定性。对生产代码无影响。对团队而言,减少了 ROCm CI 的 flaky 失败,节省排查时间。

仅测试变更,风险低

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论