Prhub

#21625 [CI] [FlashInfer v0.6.7] Use offline quantized checkpoint for MXFP8 Gemm tests

原始 PR 作者 zianglih 合并时间 2026-03-30 13:47 文件变更 1 提交数 3 评论 6 代码增减 +3 / -4

执行摘要

改用离线量化检查点提升 MXFP8 Gemm CI 测试稳定性。

PR body中说明:'MXFP8 Gemm CI is unstable after FlashInfer v0.6.7 update',并通过基准测试对比显示在线量化路径导致精度下降(例如,从0.84降至0.76),而离线量化保持稳定(约0.84)。目的是解决CI测试的不可靠性,确保量化功能验证更可靠。

建议快速审查并合并,以解决CI不稳定性问题。值得关注的设计决策:使用离线量化检查点避免在线量化路径的不稳定性,这是一种实用解决方案,但未来应考虑优化在线量化以提高通用性。同时,关注Triton测试的性能优化进展。

讨论亮点

review中,gemini-code-assist[bot]指出PR描述中引用的链接 'https://github.com/sgl-project/sglang/pull/19835' 可能存在typo,建议检查以确保文档清晰。在Issue评论中,作者 @zianglih 确认#19835已合并,但Triton测试因PCG捕获时间过长(5-7分钟)被再次禁用,讨论焦点转向性能优化而非功能修复。结论是测试被暂时禁用,待性能优化后恢复。

实现拆解

主要修改了测试文件 test/registered/quant/test_fp8_blockwise_gemm.py

  1. 将全局变量 BF16_MODEL_PATH 重命名为 MXFP8_MODEL_PATH,并更新模型路径为离线量化版本 'zianglih/Qwen3-4B-Instruct-2507-MXFP8'。
  2. MXFP8GemmBase.setUpClass 方法中,移除 --quantization mxfp8 参数,因为现在使用预量化的检查点,无需在线量化。
  3. 临时禁用 TestMXFP8GemmTriton 测试类,添加 @unittest.skip 装饰器,注释中说明由于PCG捕获时间过长,待后续修复。
文件 模块 状态 重要度
test/registered/quant/test_fp8_blockwise_gemm.py 测试 / 量化 modified 5.0

关键符号

MXFP8GemmBase.setUpClass

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

评论区精华

PR 链接 typo 检查 正确性

gemini-code-assist[bot] 指出 PR 描述中链接到 PR #19835 可能不正确,建议验证以确保文档清晰。

结论:Issue 评论确认 #19835 已合并,链接正确,但讨论未明确回应 typo 问题。 · 已解决

Triton 测试 PCG 捕获时间过长 性能

在 Issue 评论中,作者 @zianglih 提到 Triton 测试在 PR #19835 后功能正常,但 PCG 捕获时间过长(5-7 分钟),因此重新禁用测试,讨论转向性能优化需求。

结论:测试被暂时禁用,等待后续性能优化后恢复。 · pending

风险与影响

风险较低:变更仅限于测试配置,使用离线检查点可能引入模型版本依赖,但路径指定为特定版本,风险可控。主要风险是Triton测试被禁用,可能掩盖未来回归问题,但作者说明是由于性能原因临时措施。此外,变更涉及量化测试,需确保离线检查点与在线量化行为一致。

直接影响CI测试套件:提高MXFP8 Gemm测试的稳定性和准确性,确保量化功能验证更可靠,减少误报失败,加速CI周期。间接影响开发流程,提升开发者信心。对用户无直接影响,因为这是内部测试变更。Triton测试的禁用暂时减少了测试覆盖范围,但作者计划后续优化后恢复。

测试覆盖临时减少 模型路径依赖

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论