Prhub

#36570 [CI] Lower the AWQ Marlin MMLU threshold to 0.80

原始 PR 作者 hnyls2002 合并时间 2026-08-27 05:43 文件变更 1 提交数 1 评论 2 代码增减 +1 / -1

执行摘要

降低 AWQ Marlin MMLU 测试阈值至 0.80

PR 描述指出:该评测在多次运行中分数波动范围为 0.816-0.840,而阈值设为 0.83,导致只要少数 MMLU 题目翻转测试就会失败。因此需要降低阈值来减少 CI 的不稳定性。

该 PR 价值较低,但值得关注其背后的测试稳定性问题。建议在后续工作中考虑对评测结果进行多次采样取均值,或使用置信区间来判断是否真正回归,而非单纯依赖单次阈值。

讨论亮点

该 PR 没有 review 评论或讨论。作者通过 /rerun-test test_awq.py 触发了一次 CI 重跑,结果显示通过,但阈值调整本身未引发进一步技术讨论。

实现拆解

变更仅涉及测试文件 test/registered/quant/test_awq.py 中的一行断言:将 test_mmlu 方法中的阈值从 0.83 调整为 0.80。具体实现如下:

  1. 定位到 TestAWQMarlinBfloat16 类的 test_mmlu 方法,该方法通过 run_eval 运行 MMLU 评测并取得 metrics["score"]
  2. self.assertGreater(metrics["score"], 0.83) 改为 self.assertGreater(metrics["score"], 0.80)
  3. 该调整仅针对测试验证逻辑,不涉及任何生产代码、配置或依赖变化。
文件 模块 状态 重要度
test/registered/quant/test_awq.py 量化测试 modified 3.25

关键符号

test_mmlu

关键源码片段

test/registered/quant/test_awq.py test-coverage

调整了 AWQ Marlin MMLU 测试的通过阈值,是本次唯一变更文件。

# test/registered/quant/test_awq.py
# 调整 MMLU 评测通过阈值,从 0.83 降至 0.80,以容忍评测结果波动。
class TestAWQMarlinBfloat16(CustomTestCase):
    # ... setUpClass 和 tearDownClass 略
​
    def test_mmlu(self):
        args = SimpleNamespace(
            base_url=self.base_url,
            model=self.model,
            eval_name="mmlu",
            num_examples=256,
            num_threads=32,
        )
​
        metrics = run_eval(args)
        # 原阈值为 0.83,实测波动 0.816-0.840,降低至 0.80 以减少 CI 不稳定。
        self.assertGreater(metrics["score"], 0.80)

评论区精华

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

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

风险与影响

降低阈值可能掩盖实际的精度回归。当前设定的 0.80 与观测到的波动下限 0.816 之间留有较大余量,但若未来模型或量化实现出现性能下降,测试可能无法及时捕捉。建议配套一个更严格的相对阈值或监控机制,但该变更本身风险较低。

影响范围仅限于 AWQ Marlin 量化模型的 MMLU 测试项。对用户、系统无直接影响,主要改善 CI 稳定性,减少因评测随机性导致的失败。对团队而言,测试更稳定,但可能降低对精度回归的敏感性。

测试阈值降低可能掩盖回归

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论