Prhub

#21931 [CI] Migrate mgsm_en eval to gsm8k to remove openaipublic dependency

原始 PR 作者 dougyster 合并时间 2026-04-08 07:29 文件变更 7 提交数 7 评论 1 代码增减 +82 / -77

执行摘要

迁移 CI 测试数据集从 MGSM-EN 到 GSM8K,移除外部依赖并调整阈值。

PR body中指出,多个CI测试运行时从https://openaipublic.blob.core.windows.net/下载数据集,这是一个由OpenAI托管的外部Azure blob,导致CI依赖脆弱——如果端点慢、限速或不可用,测试会因无关原因失败。MGSM-EN数据集下载12个TSV文件且无缓存,而GSM8K使用download_and_cache_file缓存到/tmp/test.jsonl,首次获取后离线运行,旨在消除CI不稳定因素。

建议CI维护者、测试工程师和关注模型准确性的开发者精读,重点关注阈值校准策略和依赖管理决策;对一般工程师,了解变更背景即可,无需深入代码细节,但可参考如何优化CI稳定性。

讨论亮点

review中仅有一个bot评论,由gemini-code-assist[bot]发表,确认变更内容无误,表示'没有反馈可提供',表明变更被简单接受,没有实质性讨论、争议或未解决疑虑。

实现拆解

实现分为两部分:一是将8个测试文件中的eval_name="mgsm_en"统一替换为eval_name="gsm8k",涉及分布式、量化、AMD准确性和调度器测试;二是基于GSM8K(5-shot/CoT)基准重新校准阈值,将所有阈值设置为基准值的95%以考虑硬件差异,并修正了如Mistral-7B、Llama-3.1-70B等模型的错误阈值;同时调整测试参数,如移除硬编码num_examples以使用默认值。

文件 模块 状态 重要度
test/registered/amd/accuracy/mi30x/test_gsm8k_eval_amd.py testing modified 5.0
test/registered/eval/test_text_models_gsm8k_eval.py testing modified 5.0
test/registered/quant/test_quantization.py testing modified 4.0
test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py testing modified 4.0

关键符号

test_gsm8k test_gsm8k_all_models test_1_gsm8k_has_prefill_delayer test_2_gsm8k_no_prefill_delayer

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

评论区精华

变更确认 other

reviewer gemini-code-assist[bot] 评论确认变更内容无误,无进一步反馈。

结论:变更被接受,无需修改。 · 已解决

风险与影响

风险包括:阈值调整基于GSM8K基准,但校准可能不准确,导致测试假阳性(过于宽松,遗漏回归)或假阴性(过于严格,误报失败);GSM8K数据集虽然缓存,但GitHub可用性也可能影响CI稳定性;迁移后测试覆盖范围是否与MGSM-EN一致存在不确定性,可能遗漏某些模型行为或边缘案例。具体文件如test/registered/amd/accuracy/mi30x/test_gsm8k_eval_amd.py中的阈值变化需谨慎验证。

对终端用户无直接影响,主要影响CI流程和团队开发体验;系统层面,移除外部依赖提高CI稳定性、可重复性和离线能力,减少因网络问题导致的失败;团队层面,开发者将受益于更可靠的测试套件,加速代码合并流程,但需适应新阈值可能带来的测试结果变化。

阈值校准风险 外部依赖移除 测试覆盖一致性

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论