Prhub

#52007 [CI Bug] Fix ci qwen3.5

原始 PR 作者 yewentao256 合并时间 2026-08-13 01:22 文件变更 2 提交数 1 评论 8 代码增减 +2 / -2

执行摘要

下调 Qwen3.5 eval 的 max-num-seqs 修复 CI 回归

PR body 明确说明这是 #51908 的 forward fix,目标修复 Buildkite CI #83443 失败。推测 #51908 新增的 Qwen3.5-397B-A17B-NVFP4 gsm8k eval 配置在 CI 环境上因批大小设置过大而失败,因此通过下调 --max-num-seqs 在不动模型逻辑的前提下稳定评测流程。

此 PR 属于低价值配置修复,无需精读;值得留意的点:修 CI 时优先选择机制最简单、影响面最小的参数(降 --max-num-seqs 而非加 batched token 上限),以及将其他配置的修复拆分到后续 PR 以缩小 review 范围。

讨论亮点

核心交锋是修复手段的选择:作者初版尝试在 MTP 配置追加 --max-num-batched-tokens 8192,ZJY0516 建议直接降低 --max-num-seqs("I think decrease max-num-seqs will be better"),作者采纳并落地;jeejeelee 提醒检查其他测试是否同样受影响("Could you check other testing as well?"),作者回应其余测试由 #52009 覆盖。mgoin 最终 approve。

实现拆解

  1. 定位回归源:#51908 引入 Qwen3.5-397B-A17B-NVFP4-DEP2 两个 gsm8k eval 配置后,Buildkite CI #83443 失败;本 PR 作为 forward fix 在测试配置层调整参数,避免改动模型代码。
  2. 初步尝试:在 Qwen3.5-397B-A17B-NVFP4-DEP2-MTP.yamlserver_args 中追加 --max-num-batched-tokens 8192 限制单次前向的 token 总量(来自 review diff 记录)。
  3. review 转向:ZJY0516 建议直接降低 --max-num-seqs 更直接;作者采纳,最终提交将 MTP 配置的 --max-num-seqs 由 384 降为 256,非 MTP 配置由 512 降为 256。
  4. 改动范围收敛:两个 YAML 各仅 1 行变化,无源码、无断言、无依赖变更;jeejeelee 提出的其他测试检查由 #52009 承接。
  5. 验证与合入:提交 a434d69 触发 Buildkite CI #83575,review 通过后合入 main;配置改动只影响 gsm8k eval 的并发上限。
文件 模块 状态 重要度
tests/evals/gsm8k/configs/Qwen3.5-397B-A17B-NVFP4-DEP2-MTP.yaml 评测配置 modified 3.25
tests/evals/gsm8k/configs/Qwen3.5-397B-A17B-NVFP4-DEP2.yaml 评测配置 modified 3.25

关键源码片段

tests/evals/gsm8k/configs/Qwen3.5-397B-A17B-NVFP4-DEP2-MTP.yaml test-coverage

MTP 版本的 gsm8k eval 配置,是 CI 回归修复的主要对象;--max-num-seqs 由 384 降为 256,并曾在 review 中尝试追加 --max-num-batched-tokens 8192 后被否决。

# Qwen3.5-397B-A17B-NVFP4-DEP2-MTP 的 gsm8k 评测配置
# 修复 CI 回归:将 --max-num-seqs 从 384 下调到 256,
# 避免 batch 过大时显存压力导致 Buildkite CI 失败
# (forward fix for PR#51908,详见 PR#52007)
model_name: "nvidia/Qwen3.5-397B-A17B-NVFP4"
accuracy_threshold: 0.88
tolerance: 0.03
num_questions: 1319
num_fewshot: 5
max_tokens: 12000
server_args: >-
  --max-model-len 16384
  --data-parallel-size 2
  --enable-expert-parallel
  --max-num-seqs 256
  --spec-method mtp
  --spec-tokens 3
tests/evals/gsm8k/configs/Qwen3.5-397B-A17B-NVFP4-DEP2.yaml test-coverage

非 MTP 版本的 gsm8k eval 配置,--max-num-seqs 由 512 降为 256,与 MTP 配置保持一致的收敛策略。

# Qwen3.5-397B-A17B-NVFP4-DEP2(非 MTP)的 gsm8k 评测配置
# CI 回归修复:--max-num-seqs 由 512 下调至 256
model_name: "nvidia/Qwen3.5-397B-A17B-NVFP4"
accuracy_threshold: 0.88
tolerance: 0.03
num_questions: 1319
num_fewshot: 5
server_args: >-
  --max-model-len 4096
  --data-parallel-size 2
  --enable-expert-parallel
  --max-num-seqs 256

评论区精华

检查其他 gsm8k eval 测试是否同样受影响 测试

jeejeelee 在 MTP 配置文件 diff 上提问 "Could you check other testing as well?",担心只修这一个配置不够。

结论:作者回复其他测试由 #52009 覆盖,未在本 PR 内扩散改动范围。 · 已解决

修复手段:降 max-num-seqs 还是限制 batched tokens 设计

作者第一版尝试追加 --max-num-batched-tokens 8192;ZJY0516 评论 "I think decrease max-num-seqs will be better",认为直接降低并发序列数更简单直接。

结论:作者采纳该建议,最终提交将两个配置的 --max-num-seqs 分别从 384/512 降到 256。 · 已解决

风险与影响

风险极低。改动局限于两个 gsm8k eval 配置的 server_args,不涉及运行时代码。潜在影响:降低 --max-num-seqs 会压缩评测时的活跃序列并发,可能轻微降低 eval 吞吐,但 accuracy_threshold/tolerance 不变,正确性判定不受影响。需要确认 256 是否在所有 CI 硬件环境稳定;其他同类配置的收敛验证依赖 #52009。

对用户与运行时无影响。对团队的意义主要是恢复 Qwen3.5 eval 的 CI 门禁,并为大模型 eval 配置提供了通过降低并发序列数规避资源压力的先例;后续 #52009 继续扩大覆盖范围。

低风险配置调整 依赖 #52009 验证其他测试 eval 并发度下调

关联 Issue

#19 Use FP32 for log probabilities

完整报告

参与讨论