Prhub

#34863 [Docs] Add GB300 cells and benchmarks for Qwen3.8-27B

原始 PR 作者 zijiexia 合并时间 2026-08-14 23:42 文件变更 3 提交数 1 评论 0 代码增减 +227 / -6

执行摘要

Qwen3.8-27B 文档补齐 GB300 基准与 Spark 修复

PR #34860 打开后,源分支上又合入了两个变更,导致 cookbook 页面缺少 GB300 部署配置和 DGX Spark 的 prefill CUDA graph 修复。作者在 PR body 中明确说明:'Two changes landed on the source branch after that PR was opened, so they missed the cut'。本 PR 的目的就是补上这两个遗漏,确保 Qwen3.8-27B 文档覆盖 GB300 单卡场景。

值得快速浏览而非精读。关注三点:一是 GB300 high-throughput cell 的 MTP 参数组合(EAGLE + num-steps 3 + topk 1 + draft-tokens 4)作为该模型吞吐调优的默认起点;二是 benchmarks 文件头部注释对测量协议和二进制版本的锚定,这是可复现基准数据的良好工程实践;三是作者主动标注的两个遗留问题——后续接手文档维护时应优先补齐 mdx 的 benchmarks import,避免数据文件成为死代码。

讨论亮点

该 PR 没有任何 reviewer 评论,仅有 JustinTong0323 的空 APPROVED。真正有价值的讨论来自 PR 作者在 Notes for reviewers 中主动标记的两个遗留问题:

  1. benchmarks 导出未接入页面:Kimi-K3 与 Inkling 页面均通过 import { benchmarks } 并传递 <Deployment benchmarks={...} />,而 Qwen3.8-27B.mdx 缺少对应 import,导致 106 行实测数据当前不渲染。作者刻意保留贡献者的写法,‘rather than edit someone else's work in a port’,留待维护者决定。
  2. high-throughput 策略仅在 GB300 生效:其余四个平台(H200、RTX PRO 6000、RTX 5090、DGX Spark)只有 balanced cell,选择 High-Throughput 时经 _deployment.jsx 的 dimension-fallback 回落到 Balanced。作者评估为‘No broken panel, but the toggle is inert on 4 of 5 platforms’,未补齐其他平台的 cell。

实现拆解

  1. 扩展部署配置主文件 docs/src/snippets/configs/Qwen/qwen3.8-27b.jsxsupportedHardware 增加 gb300strategies 策略轴新增 high-throughputdockerImages 增加 gb300: lmsysorg/sglang:dev(该平台无专用 tag,直接指向滚动镜像);新增六个 GB300 单卡 cell(BF16 / FP8 / NVFP4 × Balanced / High-Throughput),其中 high-throughput 三个 cell 额外携带 EAGLE 投机参数(--speculative-algorithm EAGLE--speculative-num-steps 3--speculative-eagle-topk 1--speculative-num-draft-tokens 4)以启用 checkpoint 内建 MTP 头。
  2. 新增基准数据文件 docs/src/snippets/configs/Qwen/qwen3.8-27b-benchmarks.jsx(+106 行):六个数据行以与 cell 相同的 match 元组为键,记录单 batch 实测数据(bench_serving --flush-cache、ISL/OSL=1024、max_concurrency 1/16/64),并锚定二进制版本 lmsysorg/sglang:dev @ c4271c3fe;NVFP4 行附带 GSM8K 精度(fp8-KV 96.44% / bf16-KV 96.82%),FP8 / BF16 的精度保持 null
  3. 同步 cookbook 文本 docs/cookbook/autoregressive/Qwen/Qwen3.8-27B.mdx:在 DGX Spark 段落补充 --disable-prefill-cuda-graph 说明,与该平台三个 cell 的新 flag 保持一致。
  4. 验证配套:PR body 声明 node docs/scripts/check_cookbook_configs.mjsmint validatemint broken-links 均通过;无单元测试变更(纯文档站点改动)。
文件 模块 状态 重要度
docs/src/snippets/configs/Qwen/qwen3.8-27b.jsx 部署配置 modified 6.14
docs/src/snippets/configs/Qwen/qwen3.8-27b-benchmarks.jsx 基准数据 added 6.09
docs/cookbook/autoregressive/Qwen/Qwen3.8-27B.mdx 部署文档 modified 2.44

关键源码片段

docs/src/snippets/configs/Qwen/qwen3.8-27b.jsx configuration

页面配置主文件:新增 gb300 硬件支持、high-throughput 策略轴、gb300 镜像映射和六个单卡 cell,并为 DGX Spark 三个 cell 追加 --disable-prefill-cuda-graph;high-throughput cell 通过 EAGLE 参数启用 MTP 投机解码。

// 策略轴新增 high-throughput:仅在 GB300 上有对应 cell,
// 其余四个平台(H200 / RTX PRO 6000 / RTX 5090 / DGX Spark)只有 balanced,
// 选择 high-throughput 时引擎会通过 dimension-fallback 弹回 balanced(见 _deployment.jsx)。
strategies: [
  { id: "balanced", label: "Balanced" },
  { id: "high-throughput", label: "High-Throughput" },
],// GB300 没有专用镜像 tag,直接指向滚动镜像 lmsysorg/sglang:dev,
// 因此基准数据与部署配置存在版本漂移风险,数据锚定 commit c4271c3fe。
dockerImages: {
  "dgx-spark": "lmsysorg/sglang:qwen38-27b",
  gb300: "lmsysorg/sglang:dev",
},// 以 NVFP4 两个 cell 为例:high-throughput 通过 EAGLE + MTP 头
//(--speculative-num-steps 3 / --speculative-eagle-topk 1 /
// --speculative-num-draft-tokens 4)换取吞吐,balanced 则不启用投机。
{
  match: { hw: "gb300", variant: "default", quant: "nvfp4", strategy: "balanced", nodes: "single" },
  verified: true,
  flags: [
    "--trust-remote-code", "--model-path {{MODEL_NAME}}",
    "--mem-fraction-static 0.85", "--chunked-prefill-size 2048",
    "--reasoning-parser qwen3", "--tool-call-parser qwen3_coder",
    "--host {{HOST_IP}}", "--port {{PORT}}",
  ],
},
{
  match: { hw: "gb300", variant: "default", quant: "nvfp4", strategy: "high-throughput", nodes: "single" },
  verified: true,
  flags: [
    "--trust-remote-code", "--model-path {{MODEL_NAME}}",
    "--mem-fraction-static 0.85", "--chunked-prefill-size 2048",
    "--speculative-algorithm EAGLE", "--speculative-num-steps 3",
    "--speculative-eagle-topk 1", "--speculative-num-draft-tokens 4",
    "--reasoning-parser qwen3", "--tool-call-parser qwen3_coder",
    "--host {{HOST_IP}}", "--port {{PORT}}",
  ],
},
docs/src/snippets/configs/Qwen/qwen3.8-27b-benchmarks.jsx data-contract

新增的基准数据文件,以与 cell 相同的 match 元组为键记录 GB300 实测性能与精度,是六个 GB300 cell 的数据支撑;但当前未在 mdx 中 import 接线,数据不渲染。

// Qwen3.8-27B 在 GB300 上的按 cell 基准数据,keyed by 与 qwen3.8-27b.jsx
// 相同的 match 元组(hw / variant / quant / strategy / nodes)。
// 六个数据行均为单 batch 测量:sglang.bench_serving --flush-cache、random 数据集、
// ISL=1024 / OSL=1024、--random-range-ratio 1、request-rate inf、
// max_concurrency 1/16/64、n=64/64/256,全部跑在同一二进制
// lmsysorg/sglang:dev @ c4271c3fe 上,保证横向可比。
// 注意:该 commit 在 GB300 上 attention 解析为 triton,
// 而更新的 c7c03ec+ 解析为 trtllm_mha,数据会随版本漂移。
export const benchmarks = [
  {
    // NVFP4 balanced:KV 走 fp8_e4m3(checkpoint 声明的 kv_cache_quant_algo)
    match: { hw: "gb300", variant: "default", quant: "nvfp4", strategy: "balanced", nodes: "single" },
    sglang_version: "lmsysorg/sglang:dev @ c4271c3fe",
    speed: [
      { workload: { dataset: "random", isl: 1024, osl: 1024, max_concurrency: 1, num_prompts: 64 },
        ttft_ms: 79, tpot_ms: 6.4, tokens_per_sec_per_gpu: 155 },
      { workload: { dataset: "random", isl: 1024, osl: 1024, max_concurrency: 16, num_prompts: 64 },
        ttft_ms: 715, tpot_ms: 8.5, tokens_per_sec_per_gpu: 1742 },
      { workload: { dataset: "random", isl: 1024, osl: 1024, max_concurrency: 64, num_prompts: 256 },
        ttft_ms: 1216, tpot_ms: 13.6, tokens_per_sec_per_gpu: 4316 },
    ],
    // GSM8K 只在 NVFP4 checkpoint 上测过:fp8-KV 96.44%、bf16-KV 96.82%;
    // FP8 / BF16 的 GB300 精度尚未测量,对应行 accuracy 为 null。
    accuracy: { gsm8k_pct: 96.44 },
  },
];

评论区精华

benchmarks 数据未接入页面渲染 设计

无 reviewer 评论;PR 作者在 Notes for reviewers 中自述:Kimi-K3 与 Inkling 页面均通过 `import { benchmarks }` 并传递 `<Deployment benchmarks={...} />` 接线,而 Qwen3.8-27B.mdx 缺少该 import,106 行实测数据当前不会渲染。作者刻意保留贡献者的写法,'rather than edit someone else's work in a port',留待维护者决定是否在本 PR 内修复。

结论:未在本 PR 内修复即合并,接线工作留待后续 PR。 · 待处理

high-throughput 策略仅在 GB300 上生效 设计

作者自述:页面新增 high-throughput 策略轴,但只有 GB300 有对应 cell,其余 4 个平台(H200、RTX PRO 6000、RTX 5090、DGX Spark)选择该策略会经 _deployment.jsx 的 dimension-fallback 回落到 Balanced。作者评估为 'No broken panel, but the toggle is inert on 4 of 5 platforms'。

结论:作者判断无坏面板、可接受,未补齐其他平台的 high-throughput cells。 · 待处理

风险与影响

  1. 基准数据版本漂移:所有数字锚定 c4271c3fe 且不 pin --attention-backend,该 commit 在 GB300 上 attention 解析为 triton,而更新的 c7c03ec+ 解析为 trtllm_mha——用户用新版 sglang 复现会得到不同数值,需在页面明确数据时效。
  2. benchmarks 未接线qwen3.8-27b-benchmarks.jsx 的 106 行数据当前不会在 cookbook 页面渲染,属于功能完整性缺口;若后续在 mdx 中补 import,还需确认 _deployment.jsx 的 schema 完全匹配,否则可能渲染异常。
  3. 策略回退易误导用户:5 个平台中 4 个平台的 High-Throughput 切换是惰性的(静默回落 Balanced),用户可能误以为已启用高吞吐配置。
  4. 私有 checkpoint 不可复现:benchmarks 中引用了私有 checkpoint revision(RadixArk W4A4-0811 等),社区用户无法完整复现精度与性能数据。
  5. CI Extra 未通过:PR 描述中 PR Test (Extra) 状态为失败(x),合并前未确认失败原因是否与本次 docs 变更相关。

影响范围限于文档站点:目标用户是 GB300 / Blackwell 平台上的 Qwen3.8-27B 部署者,新增了 6 个可直接使用的单卡启动配置和实测性能参考(尤其 NVFP4 + MTP 高吞吐组合)。对运行时系统零影响,不涉及 sglang 服务端代码。对团队而言,该 PR 为 cookbook 建立了 benchmarks 数据文件模式,但两个自述遗留问题需要后续 PR 跟进(接线渲染、补齐其他平台 high-throughput cells),否则页面呈现不完整。

基准数据版本漂移 benchmarks 未接入渲染 策略回退易误导 CI Extra 未通过 私有 checkpoint 不可复现

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论