Prhub

#25348 [UnifiedTree]: Add nightly hicache ci for dsa model

原始 PR 作者 hzh0425 合并时间 2026-05-15 16:54 文件变更 1 提交数 2 评论 6 代码增减 +132 / -0

执行摘要

为 GLM-5 模型添加 HiCache L3 夜间测试

HiCache 功能需要针对不同模型进行回归测试覆盖,尤其是 GLM-5 作为新支持模型,其 L3 文件后端场景此前缺少 nightly CI 保护。本 PR 主要解决该模型在 UnifiedRadixTree + HiCache 场景下的长期稳定性验证需求。

值得阅读以了解如何为指定模型添加 HiCache 夜间测试,尤其是 GSM8KTwoPassMixin 可复用于其他模型,以及 L3 文件后端的启动参数配置。

讨论亮点

本 PR 无实质 review 讨论。作者通过 /rerun-test 触发两次 CI,均在 8×H200 上通过,并截图显示准确率约 0.93,验证了测试有效性。

实现拆解

  1. 新增 GSM8KTwoPassMixin 类:在 test/registered/radix_cache/test_unified_radix_hicache_kl.py 中定义一个 mixin,封装 GSM8K 双通道测试逻辑,包含 _run_gsm8k(调用 few-shot 评测)、_flush_cache(POST 请求清空服务器缓存)和 test_gsm8k_two_passes(执行两轮推理并校验精度与差值)。
  2. 新增 TestGLM5HiCacheL3GSM8K 测试类:继承该 mixin 和 CustomTestCase,在 setUpClass 中以 8 卡 TP 启动 GLM-5.1-FP8 服务器,配置 --hicache-io-backend file 等 L3 参数,并创建临时缓存目录;tearDownClass 清理进程与目录。
  3. 注册 Nightly CI:通过 register_cuda_ci(suite="nightly-8-gpu-h200", nightly=True) 将测试纳入 8×H200 夜间套件。
  4. 配置调整:对已有的 Mamba 测试类增加 --max-mamba-cache-size 500 参数,保持配置一致性。
文件 模块 状态 重要度
test/registered/radix_cache/test_unified_radix_hicache_kl.py HiCache 测试 modified 6.94

关键符号

_run_gsm8k _flush_cache test_gsm8k_two_passes setUpClass tearDownClass

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

评论区精华

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

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

风险与影响

  1. 测试超时风险:GSM8K 双通道需要处理 200 题、每题最大 16k token,加上 8 GPU 启动,当前注册 900 秒可能紧张。
  2. 硬件依赖:仅能在 8×H200 环境执行,本地难以复现。
  3. 临时目录泄露:若测试异常终止,tempfile.mkdtemp 目录可能残留,但 tearDownClass 中已包含清理。

对用户无影响。对项目新增一个夜间 CI 用例,提升 GLM-5 + HiCache L3 回归覆盖。对团队提供可复用的 GSM8KTwoPassMixin 设计。

新增测试依赖硬件配置 测试超时风险 临时目录清理风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论