Prhub

#21791 Increase hicache eval to 200 examples

原始 PR 作者 hnyls2002 合并时间 2026-04-01 07:58 文件变更 1 提交数 1 评论 4 代码增减 +2 / -2

执行摘要

将 hicache 一致性测试的样本数从 50 增加到 200,以降低 flaky 分数差异。

PR body 指出,原有 50 个样本时,每个样本贡献 0.02 的分数权重,导致 flaky 分数差异超过 0.03 的阈值。将样本数增加到 200 后,本地验证的差异降至 0.01,低于阈值,从而提高测试的稳定性和可靠性。

该 PR 变更简单,无需精读。但可以关注参数调整的合理性,如样本数和并行度的选择,以及它们对测试稳定性和性能的平衡。

讨论亮点

Review 评论为空,Issue 评论中仅有作者使用 /rerun-test 命令进行测试重运行,但未涉及技术讨论或争议,因此没有核心讨论可供提炼。

实现拆解

实现方案仅修改了文件 test/registered/hicache/test_hicache_storage_file_backend.py 中的 run_eval_accuracy_test 函数参数。关键改动包括:将 num_questions 从 50 改为 200,以增加评估样本数;将 parallel 从 10 改为 64,可能提升测试并行度。所有变更集中在测试配置调整,未涉及核心逻辑修改。

文件 模块 状态 重要度
test/registered/hicache/test_hicache_storage_file_backend.py hicache testing modified 4.0

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

关键符号

run_eval_accuracy_test

评论区精华

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

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

风险与影响

技术风险较低。增加样本数可能延长测试执行时间,但并行度增加可能部分抵消此影响;未修改生产代码,因此无回归、性能、安全或兼容性风险。主要风险是测试资源使用增加,但不影响系统核心功能。

对用户无直接影响,因为这是内部测试改进。对系统,提高测试的一致性和可靠性,减少 CI 中的 flaky 失败。对团队,降低维护成本,提升测试信心。影响范围局限在 hicache 测试模块,影响程度较小。

测试时间增加 并行度变更未充分验证

关联 Issue

未识别关联 Issue

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

完整报告

执行摘要

本 PR 通过将 hicache 一致性测试的 GSM8K 样本数从 50 增加到 200,并调整并行数从 10 到 64,解决了测试中 flaky 分数差异超过阈值的问题。这是一个小范围测试改进,旨在提升 CI 稳定性和团队效率,风险较低。

功能与动机

此变更的主要动机是修复测试的 flakiness,避免因样本数不足导致的一致性得分波动。在 PR body 中,作者指出:

With 50 examples each sample is worth 0.02, causing flaky score diffs > 0.03 threshold. With 200 examples, locally verified diff = 0.01 < 0.03.
通过增加样本数,每个样本的权重降低,从而减少随机差异,确保测试结果更稳定可靠。

实现拆解

实现方案集中在文件 test/registered/hicache/test_hicache_storage_file_backend.pyrun_eval_accuracy_test 函数中。关键改动如下:

  • num_questions 从 50 改为 200:增加评估样本数,降低每个样本的分数权重。
  • parallel 从 10 改为 64:提高测试并行度,可能加快执行速度。
    代码示例:
    def run_eval_accuracy_test(test_instance, accuracy_threshold: float = 0.03):
        args_initial = SimpleNamespace(
            num_shots=5,
            data_path=None,
            num_questions=200, # 原为 50
            max_new_tokens=512,
            parallel=64, # 原为 10
            host=f"http://{test_instance.base_host}",
            port=int(test_instance.base_port),
        )
    

    所有变更仅调整测试参数,未触及核心业务逻辑,属于配置优化。

评论区精华

Review 中无实质性讨论,Issue 评论中作者使用 /rerun-test 命令进行测试重运行,但未触发技术交流。这表明变更简单直接,团队共识度高,无需深入辩论。

风险与影响

  • 风险分析:增加样本数可能延长测试时间,但并行度提高可部分缓解;并行数增加可能导致资源使用上升,需在 CI 环境中验证。无其他技术风险,因未修改生产代码。
  • 影响分析:对用户无影响;对系统,测试更稳定,减少 CI flaky 失败;对团队,降低维护开销,提升测试信心。影响范围小,仅限 hicache 测试模块。

关联脉络

从历史 PR 分析中,关联 PR 如 #21745 和 #21751 都涉及测试稳定性改进,显示团队在持续优化 CI 流程以减少 flaky 问题。此 PR 是这一趋势的一部分,体现了对测试可靠性的重视。未来可关注类似调整是否在其他测试模块中推广。

参与讨论