Prhub

#21534 [AMD] Add GLM-4.7-FP8 accuracy CI test for MI35x

原始 PR 作者 Jacob0226 合并时间 2026-03-28 15:28 文件变更 2 提交数 1 评论 9 代码增减 +96 / -0

执行摘要

为 AMD MI35x 添加 GLM-4.7-FP8 GSM8K 精度测试的 CI 任务。

PR 标题和 body 指出,目的是添加 GLM-4.7-FP8 模型在 MI35x 上的夜间 GSM8K 精度测试,以验证模型在该硬件上的准确性。

建议对 AMD 测试套件或模型精度验证感兴趣的工程师精读此 PR,关注测试配置、CI 集成方式以及 review 中的设计讨论。

讨论亮点

在 review 中,gemini-code-assist[bot] 指出了三个问题:

1) 重复设置 tensor parallelism 参数,可能导致启动错误;
2) 硬编码 Hugging Face 缓存路径,降低测试可移植性;
3) 测试文件间代码重复,建议抽象。作者 Jacob0226 修复了重复参数问题,但为硬编码路径辩护称是 CI 环境特定需求,并认为代码重复在当前是合理的,因为 run_combined_tests 已封装核心逻辑。

实现拆解

实现分为两部分:首先,在 test/registered/amd/accuracy/mi35x/ 目录下新增 test_glm47_fp8_eval_mi35x.py 文件,定义使用 GSM8K 数据集和特定参数的精度测试。其次,修改 .github/workflows/nightly-test-amd-rocm720.yml 文件,添加新的 CI 任务 nightly-8-gpu-mi35x-glm47-fp8-rocm720,配置在 MI35x 硬件上运行此测试。

文件 模块 状态 重要度
.github/workflows/nightly-test-amd-rocm720.yml CI workflow modified 3.0
test/registered/amd/accuracy/mi35x/test_glm47_fp8_eval_mi35x.py test suite added 4.0

关键符号

TestGLM47FP8EvalMI35x.test_glm_47_fp8

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

评论区精华

重复 tensor parallelism 参数设置 正确性

reviewer gemini-code-assist[bot] 指出 base_args 和 ModelLaunchSettings 中重复设置 tp,可能导致重复参数错误。

结论:作者 Jacob0226 修复了此问题,移除了 base_args 中的 --tp=8。 · 已解决

硬编码 Hugging Face 缓存路径 设计

reviewer gemini-code-assist[bot] 批评硬编码路径 /data2/models/huggingface 降低了测试可移植性。

结论:作者 Jacob0226 回复称这是为 CI 环境特定设置,无需更改。 · unresolved

测试代码重复 设计

reviewer gemini-code-assist[bot] 建议抽象共享逻辑以减少 MI30x 和 MI35x 测试文件的重复。

结论:作者 Jacob0226 认为当前代码简洁,run_combined_tests 已封装核心,暂不抽象。 · unresolved

风险与影响

主要风险包括:

1) 重复的 --tp 参数可能引起模型启动异常或错误;
2) 硬编码路径使得测试依赖特定环境,在其他机器或目录变更时易失败;
3) 代码重复增加了维护成本,未来类似测试需手动同步更改。

对系统:增加了 CI 流水线的执行时间和资源消耗,但提升了测试覆盖率。对用户:确保 GLM-4.7-FP8 模型在 AMD MI35x 上的精度可靠性。对团队:强化了 AMD 硬件测试能力,有助于早期发现潜在问题。

重复参数设置 硬编码路径 代码重复

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论