Prhub

#26396 [AMD] [CI] Add GLM-5.1 MXFP4 TP2 accuracy gate

原始 PR 作者 Jacob0226 合并时间 2026-05-27 16:49 文件变更 1 提交数 3 评论 2 代码增减 +144 / -0

执行摘要

为 AMD MI355X 添加 GLM-5.1-MXFP4 TP=2 GSM8K 准确率门控测试

关联Issue #25742报告了GLM-5.1-MXFP4在AMD MI355X上TP=2时GSM8K准确率大幅下降(off: 0.32, EAGLE-MTP: 0.18),而TP=8仍保持正常。现有8-GPU覆盖未能捕获此回归,因此需要为TP=2添加特定的准确率门控测试,防止未来aiter或SGLang变更无声地重新引入该退化。

该PR结构清晰、用途明确,值得在AMD CI相关维护者中了解。其中 _raise_nofile_limit_get_model_path 是硬件测试中常见的实用工具,可复用于未来测试。建议关注其CI运行稳定性,并根据实际硬件资源调整 num_questionsparallel 等参数。

讨论亮点

无实质性讨论。仅作者提交后由 HaiShaw 快速批准(APPROVED),无任何review评论。

实现拆解

该PR仅新增一个测试文件,整体实现拆解如下:

  1. 注册CI套件:通过 register_amd_ci(est_time=3600, suite="stage-c-test-large-8-gpu-amd-mi35x") 将测试加入AMD大型GPU CI阶段。
  2. 定义模型路径和阈值:设置模型ID amd/GLM-5.1-MXFP4,提供本地回退路径,并设定准确率阈值≥0.92、无效率≤0.02。默认并行1200个请求。
  3. 启动服务器(setUpClass):在 setUpClass 中提升进程文件描述符软限制(避免 Too many open files),然后调用 popen_launch_server 启动SGLang服务,配置TP=2、DSA tilelang prefill/decode、FP8 KV Cache、GLM解析器以及其他必要参数。
  4. 运行GSM8K测试(test_gsm8k_accuracy):从环境变量获取问题数量和并行度,调用 sglang.test.few_shot_gsm8k.run_eval 执行5-shot GSM8K评估,收集准确率和无效率指标并断言满足阈值。同时在CI中输出Markdown摘要。
  5. 清理(tearDownClass):通过 kill_process_tree 终止服务器进程。
文件 模块 状态 重要度
test/registered/amd/accuracy/mi35x/test_glm51_mxfp4_tp2_gsm8k_mi35x.py CI 门控 added 7.27

关键符号

_raise_nofile_limit _get_model_path TestGLM51MXFP4TP2GSM8KMI35x.setUpClass TestGLM51MXFP4TP2GSM8KMI35x.tearDownClass TestGLM51MXFP4TP2GSM8KMI35x.test_gsm8k_accuracy

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

评论区精华

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

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

风险与影响

低风险:该PR仅添加测试文件,不修改任何运行时代码。风险主要来自外部依赖:

  • 测试依赖特定硬件(AMD MI355X/gfx950)和本地模型路径,若CI环境不匹配则可能跳过或失败。
  • est_time=3600 可能导致CI超时(实际约250秒,留有余量但仍有阻塞风险)。
  • 使用 kill_process_tree 如果进程异常可能留下孤儿进程,但已在 tearDownClass 中处理。

影响范围:仅限于AMD CI流程中的 stage-c-test-large-8-gpu-amd-mi35x 套件。每次PR提交(AMD相关)将额外运行约4分钟的GSM8K评估(实际测得249秒),增加了CI总耗时但保证了关键模型TP=2的精度回归检测。对用户和其他平台无影响。

硬件依赖 CI 耗时增加 环境路径敏感

关联 Issue

#25742 GLM-5.1-MXFP4 on AMD MI355X — massive GSM8K accuracy degradation on v0.5.12-rocm720-mi35x (off: 0.32, EAGLE-MTP: 0.18)

完整报告

参与讨论