执行摘要
- 一句话:裁剪 Qwen3.5 FP8 GB300 性能批次,缩短夜间 CI 耗时
- 推荐动作:值得快速浏览,不需要精读。如果团队在维护 Blackwell/GB300 性能回归,可以借鉴按变体裁剪 batch size、抽取公共 accuracy_params、循环内捕获 AssertionError 并聚合并最终统一抛出的模式;但本 PR 本身只是测试编排小改动,且真实环境验证未通过,合入前应确认重跑失败的具体原因。
功能与动机
PR body 明确说明动机是 Reduce redundant performance coverage and runtime in the Qwen3.5 FP8 GB300 nightly test。原先两个变体共用整套 batch size,会重复覆盖低区分度的性能场景,GB300 4 卡夜间环境资源昂贵,测试耗时影响整个夜间回归队列,因此按变体语义裁剪 batch size 集。
实现拆解
- 新增 PERFORMANCE_BATCH_SIZES 常量字典,指明 TP4+MTP 只跑 [1, 4],TP4+DP4+DPA+MTP 只跑 [16]。
- 将 AccuracyTestParams 提取到循环外复用,精度参数(mmmu_pro_vision、baseline_accuracy=0.76、max_tokens=32768、temperature=0.7 等)原样保留,并在注释中强调这些参数是
ns eval --benchmarks=mmmu-pro:1 隐式基线,不要随意“简化”,防止回归标准漂移。
- 将原先一次 run_combined_tests 同时跑两个变体改为 for 循环逐个变体执行,test_name 追加变体名以区分结果,并为每个变体传入各自的 batch_sizes。
- 循环内捕获 AssertionError 并把失败信息追加到 failures 列表,循环结束后统一抛出聚合错误,保证第一个变体失败不会中断后续变体的执行和数据收集。
- 未新增其他配置或部署改动;作者只做了 pre-commit 和隔离编排检查,端到端测试依赖 4 GPU GB300 夜间环境,后续通过 /rerun-test 重跑仍失败(Run #31847173570),真实环境验证尚未闭环。
关键文件:
test/registered/gb300/test_qwen35_fp8.py(模块 夜间测试;类别 test;类型 test-coverage;符号 PERFORMANCE_BATCH_SIZES, test_qwen35_fp8): 唯一的变更文件,是 Qwen3.5-397B-A17B-FP8 在 4x GB300 NVL4 上的夜间性能与精度回归测试。本次改动决定哪些性能批次被裁剪、两个变体如何拆分执行、失败如何聚合,直接影响夜间 CI 耗时与性能覆盖。
关键符号:test_qwen35_fp8
评论区精华
该 PR 没有任何 Review 评论(review_comments_count=0)。唯一的外部反馈来自 Issue 评论区:作者发起 /rerun-test test/registered/gb300/test_qwen35_fp8.py,github-actions[bot] 回复在 4-gpu-gb300 运行器上 1 个测试仍 ❌ 失败(Run #31847173570)。作者也在 PR body 中承认 Full end-to-end test not run locally because it requires the 4-GPU GB300 nightly environment。也就是说裁剪逻辑本身没有引发技术争论,但真实环境验证未通过是主要缺口。
- 裁剪后 GB300 重跑仍失败 (testing): 未解决:真实 GB300 环境下测试仍失败,PR 内未定位失败原因;合入前应确认是否为环境或基线问题。
风险与影响
- 风险:
- 性能覆盖缩减:TP4+DP4+DPA+MTP 变体只剩 batch 16 一个性能数据点,若该配置在低 batch 下存在性能退化将无法被发现;不过这正是裁剪目的,属于可接受的权衡。
- 失败聚合逻辑只捕获 AssertionError,若变体执行中发生其他异常(如启动超时、OOM、进程崩溃)会直接中断循环,后续变体不会继续执行。
- test/registered/gb300/test_qwen35_fp8.py 仍注册为 est_time=7200 的 nightly 任务,裁剪后实际耗时可能远小于估算,register_cuda_ci 的调度 slot 未随之调整。
- 合入前该测试在真实 GB300 环境重跑仍失败,说明端到端有效性未被证明,存在合入后夜间回归继续红的风险。
- 无产品代码改动,因此对运行时没有风险。
- 影响:影响仅限 GB300 nightly 测试队列:裁剪后 Qwen3.5 FP8 的性能数据点减少(batch 2/8/32 等不再产出),若下游基准表依赖这些数据会受影响;夜间队列整体耗时下降,释放 4 卡 GB300 资源;对最终用户无 Runtime 影响;对团队而言,该 PR 展示了如何在测试编排层按变体差异化配置性能批次、拆分执行与聚合失败的写法。
- 风险标记:真实环境验证缺失, 性能覆盖缩减, 失败聚合仅捕获 AssertionError, 夜间队列调度时长未校准
关联脉络
- PR #34863 [Docs] Add GB300 cells and benchmarks for Qwen3.8-27B: 同样围绕 GB300 性能基准维护,说明团队在持续补充和调整 Blackwell/GB300 平台的性能数据与测试覆盖。
- PR #34019 [SM12x] Default the fused MHC post+pre path on: 在 SM12x/Blackwell 平台默认开启性能优化路径,会改变 GB300 上模型性能基准的实际行为,可能影响此类夜间性能测试基线的可比性。
参与讨论