Prhub

#36660 cookbook: fix GLM-5.3-Flash speculative flag, size Hopper memory, record GSM8K

原始 PR 作者 zijiexia 合并时间 2026-08-27 17:19 文件变更 3 提交数 1 评论 1 代码增减 +92 / -26

执行摘要

修正 GLM-5.3-Flash 文档 flag 并补录 GSM8K 数据

commit message 指出 low-latency 配方传入的 --speculative-algorithm NEXTN 会被 SpeculativeAlgorithm.from_string 拒绝,枚举成员已折叠进 EAGLE,旧写法会让用户直接复制文档命令启动失败;同时 Hopper 需要调整静态显存占比。PR body 补充了各平台 8x H100/H200/B200/B300 的完整 GSM8K 评测结果(全量 1,319 题),用于支撑推荐配置的 verified 标记,并明确 HiCache + L3(Mooncake)与 GB200 / GB300 lane 未测量、保持 unverified。

建议精读。作为『文档参数与代码枚举同步』的典型样例,NEXTN 已被 EAGLE 取代但文档曾滞后,导致配方不可启动;条件式 verificationStatus 表达已验证组合范围的方式值得在 cookbook 其他页面推广。合并后建议排查仓库内是否还有其他页面残留 NEXTN,并关注 H100 0.70 显存占比对长上下文用户的实际影响。

讨论亮点

本 PR 没有实质性的 review 讨论:唯一审批来自 wisclmy0611,状态为 APPROVED 且未留文字评论;PR 评论区仅有 Mintlify bot 的预览部署通知。技术决策(NEXTN 折叠为 EAGLE、H100 下调 mem-fraction-static)均以 commit message 形式记录,未展开讨论。

实现拆解

  1. 修正 MTP 启动参数:将 docs/cookbook/autoregressive/GLM/GLM-5.3-Flash.mdx 第 88 行说明、第 168 行示例命令,以及 docs/src/snippets/configs/zai-org/glm-5.3-flash.jsx 中 gb300/h100/h200/b200/b300 各 low-latency 单元格的 --speculative-algorithm NEXTN 全部改为 EAGLE,避免 from_string 拒绝导致的部署失败。
  2. 调整 Hopper 显存占比:h100 low-latency 单元格的 --mem-fraction-static0.75 下调到 0.70,h200 low-latency 单元格显式补上 0.75,以匹配不同 Hopper 显存预算、降低 OOM 风险。
  3. 更新验证状态:h100/h200/b200/b300 单元格从 verified: false / isRecommendedSelectionin-progress 判定改为 verified: true,并用条件式 verificationStatus 精确表达已验证组合,例如 high-throughput 单元格接受 HiCache off 与 L2(["off", "l2"]),low-latency 单元格要求 mmTransport === "auto"hicache === "off"
  4. 补录 GSM8K 基准数据:docs/src/snippets/configs/zai-org/glm-5.3-flash-benchmarks.jsx 将 h100/h200/b200/b300 的八个空 match 条目扩展为带 sglang_version(f040cc72e6)、accuracy.gsm8k_pctnotes 的数据条目,记录复现命令 sgl-eval run gsm8k --base-url http://localhost:30000/v1 --num-threads 32 --max-tokens 32768,并注明这是非 thinking 模式、仅精度、与 GB300 行不直接可比。
  5. 配套与 CI:无新增测试;文档构建由 Mintlify Preview 验证(bot 评论),PR Test 通过、PR Test (Extra) 失败,失败原因未在本次材料中给出,无法判断与文档改动是否相关。
文件 模块 状态 重要度
docs/src/snippets/configs/zai-org/glm-5.3-flash.jsx 配置片段 modified 6.28
docs/src/snippets/configs/zai-org/glm-5.3-flash-benchmarks.jsx 配置片段 modified 5.96
docs/cookbook/autoregressive/GLM/GLM-5.3-Flash.mdx 菜谱文档 modified 2.72

关键源码片段

docs/src/snippets/configs/zai-org/glm-5.3-flash.jsx configuration

核心配置单元:修正所有 low-latency 单元格的 speculative flag(NEXTN -> EAGLE),调整 H100/H200 的 mem-fraction-static,并将验证状态从 in-progress 升级为带条件的 verified。

// H100 Low Latency 单元格:调整显存占比、修正 speculative flag 并明确验证范围
{
  match: { hw: "h100", strategy: "low-latency" },
  nnodes: 1,
  verified: true,
  // 仅当多模态传输走 auto 且 HiCache 关闭时,该组合才算已验证
  verificationStatus: (s) =>
    s.mmTransport === "auto" && s.hicache === "off"
      ? "verified"
      : "unverified",
  env: [],
  flags: [
    "--model-path {{MODEL_NAME}}",
    "--tp-size 8",
    "--ep-size 8",
    "--mem-fraction-static 0.70", // 由 0.75 下调,避免 H100 96GB 显存预算下的 OOM 风险
    "--dsa-prefill-backend tilelang",
    "--dsa-decode-backend tilelang",
    "--kv-cache-dtype bfloat16",
    "--moe-runner-backend deep_gemm",
    "--disable-shared-experts-fusion",
    // 原 NEXTN 会被 SpeculativeAlgorithm.from_string 拒绝,MTP 目前统一由 EAGLE 承载
    "--speculative-algorithm EAGLE",
    "--speculative-num-steps 5",
    "--speculative-eagle-topk 1",
    "--speculative-num-draft-tokens 6",
    "--speculative-adaptive",
    "--reasoning-parser glm45",
    "--tool-call-parser glm47",
    "--host {{HOST_IP}}",
    "--port {{PORT}}",
  ],
},
docs/src/snippets/configs/zai-org/glm-5.3-flash-benchmarks.jsx configuration

基准数据表:为 h100/h200/b200/b300 八个空格 match 条目补录完整 GSM8K 精度数据、sglang_version 和复现说明,是 PR body 中评测结果的落地载体。

// 新增的 GSM8K 精度条目:记录复现命令、测量次数与口径限制
{
  match: { hw: "h100", strategy: "high-throughput" },
  sglang_version: "f040cc72e6",
  // 推荐 selection 的精度,4 个 selection 测量范围 97.27 - 97.50%
  accuracy: { gsm8k_pct: 97.50 },
  notes:
    "Full GSM8K (all 1,319 problems) on 8x H100 (TP8/EP8) with zai-org/GLM-5.3-Flash at f040cc72e6: 97.50% for the recommended selection; 97.27-97.50% across all 4 measured selections. Run with `sgl-eval run gsm8k --base-url http://localhost:30000/v1 --num-threads 32 --max-tokens 32768`; gsm8k's registered default leaves thinking off, so these are non-thinking numbers and are not directly comparable to the GB300 rows above. Accuracy only, no speed measurement.",
},

评论区精华

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

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

风险与影响

1) 参数残留风险:仓库内其他模型 cookbook 页面可能仍有 --speculative-algorithm NEXTN 写法,本 PR 只覆盖 GLM-5.3-Flash,需要全仓库排查;
2) 显存配置影响:H100 的 mem-fraction-static 从 0.75 降到 0.70 会减少 KV 缓存可用空间,对长上下文或高并发用户可能有吞吐影响,旧文档复制 0.75 到 H100 可能 OOM;
3) 基准口径差异:新记录的 GSM8K 数据是非 thinking、accuracy-only,且版本锁定在 f040cc72e6,与 GB300 行(含 thinking 数据)不直接可比,读者跨行对比可能误读;
4) verified 语义边界:34 个已验证组合不含 HiCache L3(Mooncake)与 GB200 / GB300 lane,用户若在这些组合上部署不能视为已验证。

受影响对象是照着 cookbook 部署 GLM-5.3-Flash 的用户:修正后的命令可直接复制运行,避免 NEXTN 启动报错;H100/H200 显存占比调整降低部署失败概率;新增的 GSM8K 精度数据为 H100/H200/B200/B300 各策略选择提供了量化参考。对 SGLang 团队而言,cookbook 的验证状态从 in-progress 升级为 verified,数据覆盖从仅 GB300 扩展到四种 NVIDIA 平台,提升了文档可信度。影响范围仅限文档,无运行时行为变更,影响程度中低。

文档参数残留风险 基准口径差异 验证范围有限 显存占比影响部署

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论