Prhub

#29380 [Docs] Add NVFP4 quantization to GLM-5.2 cookbook

原始 PR 作者 zijiexia 合并时间 2026-06-26 15:40 文件变更 8 提交数 5 评论 2 代码增减 +112 / -12

执行摘要

为 GLM-5.2 部署文档添加 NVFP4 量化选项,限定 B300/GB300

NVIDIA Model Optimizer 提供了 NVFP4 精度的 GLM-5.2 checkpoint(nvidia/GLM-5.2-NVFP4),仅量化 MoE 专家线性层,精度接近 FP8 基线。需要将其集成到 GLM-5.2 部署文档中,让 Blackwell Ultra 用户能够一键部署。

值得阅读 _deployment.jsx 的镜像键解析变更,这是一个从简单键到复合键的演进,提高了灵活性。GLM-5.2 页面的 cell 设计(TP4、EAGLE 参数等)也可作为 Blackwell Ultra 部署的参考。

讨论亮点

本 PR 无审核评论,由 Fridge003 直接批准。

实现拆解

  1. 添加 NVFP4 量化选项:在 glm-5.2.jsxquantizations 数组中增加 { id: "nvfp4", label: "NVFP4" },并设置对应的模型名 nvidia/GLM-5.2-NVFP4
  2. 创建 deployment cells:为该量化新增四个已验证的部署单元(B300 low-latency、B300 balanced、GB300 low-latency、GB300 balanced),使用 TP4 和 --quantization modelopt_fp4,其中 low-latency 策略启用 EAGLE 推测解码。
  3. 修改 Docker 镜像解析引擎:在 _deployment.jsx 中将镜像选择逻辑从仅按 hw 查找改为优先按 hw|quant 再按 hw,使 NVFP4 能自动使用专用开发镜像 lmsysorg/sglang:dev-glm52-nvfp4
  4. 更新主文档页面和基准桩:在 GLM-5.2.mdx 中添加 NVFP4 模型介绍段落、模型表行和资源行,并在部署面板上方增加 Note 提示镜像自动切换行为;在 glm-5.2-benchmarks.jsx 中添加无数据的 NVFP4 benchmark 占位条目。
  5. 同步技能模板和参考文档:更新 .claude/skills/cookbook-add-model/templates/config.jsx.tmplauthoring-reference.md 中的 dockerImages 说明,引导后续作者使用 hw|quant 复合键。
文件 模块 状态 重要度
docs_new/src/snippets/configs/zai-org/glm-5.2.jsx 模型配置 modified 6.72
docs_new/src/snippets/_deployment.jsx 部署引擎 modified 6.07
docs_new/src/snippets/configs/zai-org/glm-5.2-benchmarks.jsx 基准数据 modified 4.56
docs_new/cookbook/autoregressive/GLM/GLM-5.2.mdx 文档页 modified 3.48
.claude/skills/cookbook-add-model/templates/config.jsx.tmpl 技能模板 modified 2.97

关键符号

image

关键源码片段

docs_new/src/snippets/configs/zai-org/glm-5.2.jsx core-logic

核心配置文件,添加 NVFP4 量化选项、模型名、per-quant Docker 镜像及四个已验证的 deployment cells

// 新增 NVFP4 量化选项、模型名、per-quant Docker 镜像及已验证 cell
export const config = {
  quantizations: [
    { id: "fp8", label: "FP8" },
    { id: "bf16", label: "BF16" },
    { id: "nvfp4", label: "NVFP4" }, // 新增 NVFP4 量化
  ],
  modelNames: {
    "default|fp8": "zai-org/GLM-5.2-FP8",
    "default|bf16": "zai-org/GLM-5.2",
    "default|nvfp4": "nvidia/GLM-5.2-NVFP4", // NVIDIA 官方 NVFP4 checkpoint
  },
  dockerImages: {
    h200: "lmsysorg/sglang:latest",
    b200: "lmsysorg/sglang:latest",
    gb300: "lmsysorg/sglang:latest",
    b300: "lmsysorg/sglang:latest",
    // NVFP4 需要包含 modelopt_fp4 支持的开发镜像(per-quant 覆盖)
    "b300|nvfp4": "lmsysorg/sglang:dev-glm52-nvfp4",
    "gb300|nvfp4": "lmsysorg/sglang:dev-glm52-nvfp4",
  },
  cells: [
    // 已验证的 NVFP4 B300 Low-Latency cell
    {
      match: { hw: "b300", variant: "default", quant: "nvfp4", strategy: "low-latency", nodes: "single" },
      verified: true,
      env: [],
      flags: [
        "--trust-remote-code",
        "--model-path {{MODEL_NAME}}",
        "--tp 4",
        "--quantization modelopt_fp4",
        "--speculative-algorithm EAGLE",
        "--speculative-num-steps 5",
        "--speculative-eagle-topk 1",
        "--speculative-num-draft-tokens 6",
        "--chunked-prefill-size 131072",
        "--mem-fraction-static 0.70",
        "--host {{HOST_IP}}",
        "--port {{PORT}}",
      ],
    },
    // 其余 NVFP4 cells 类似(B300 balanced、GB300 low-latency、GB300 balanced)
  ],
};
docs_new/src/snippets/_deployment.jsx core-logic

部署引擎核心,修改 Docker 镜像解析逻辑以支持 per-quant 键

// 在 renderCommand 函数中,docker 模式下的镜像选择逻辑变更
if (mode === "docker") {
  // 之前的逻辑:仅按 hw 取镜像
  // const image = (config.dockerImages && config.dockerImages[sel.hw]) || "lmsysorg/sglang:dev";  // 修改后:优先按 hw|quant 键,再按 hw,最后 fallback 到 :dev
  const di = config.dockerImages || {};
  const image = di[`${sel.hw}|${sel.quant}`] || di[sel.hw] || "lmsysorg/sglang:dev";  // ... 后续端口解析和命令生成不变
}

评论区精华

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

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

风险与影响

主要风险在于 _deployment.jsx 的镜像选择逻辑变更可能影响其他模型:新逻辑先尝试 hw|quant 键,再回退到 hw。若其他模型无意中使用了 hw|quant 格式的键名,可能导致意外匹配。但当前仅 GLM-5.2 定义了 b300|nvfp4 键,影响可控。此外,NVFP4 cells 虽标记为 verified,但 benchmark 数据仍为占位符,可能给用户错误预期。

对用户:GLM-5.2 用户可通过文档页面一键生成 NVFP4 部署命令,Docker 模式自动使用正确镜像。对系统:_deployment.jsx 的修改对所有 cookbook 页面生效,任何模型都能利用 per-quant 镜像重写能力。对团队:更新了 cookbook-add-model 技能文档,引导后续作者使用 hw|quant 复合键。

引擎镜像选择逻辑变更 NVFP4 benchmark 数据缺失

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论