Prhub

#28661 Add Laguna-M.1 cookbook

原始 PR 作者 Jiminator 合并时间 2026-06-18 23:23 文件变更 6 提交数 1 评论 1 代码增减 +619 / -2

执行摘要

为 Laguna-M.1 添加配置驱动 cookbook 页面

来自 PR body:'Adds the config-driven SGLang Cookbook page for poolside/Laguna-M.1 under docs_new/.' 目的是为社区提供官方部署指南,降低模型使用门槛,同时展示 SGLang 的配置驱动 cookbook 体系。

值得精读,尤其是配置驱动 cookbook 的实现模式(JSX 分离配置、MDX 承载内容),以及如何组织可验证的基准测试数据。对希望贡献类似文档的开发者有参考价值。

讨论亮点

机器人评审 gemini-code-assist[bot] 在 laguna-m1.jsx 的 playground 配置中发现 dpAttn 字段的 values 数组包含 null,但 labels 中使用了 "auto" 作为键,导致查找 labels[null] 实际映射为 labels["null"] 而显示异常。建议将键改为 "null" 以正确映射。该评论未获回复,PR 最终由 ispobock 批准合并,是否采纳存疑。

实现拆解

  1. 新增核心配置文件: 创建 laguna-m1.jsx,定义模型标识、硬件支持列表、量化选项、部署策略、节点类型、模型名称映射、占位符变量、curl 示例、基准命令和默认精度格式。该文件作为配置引擎的输入,驱动部署命令生成器。
  2. 新增基准测试数据: 创建 laguna-m1-benchmarks.jsx,为每个已验证的硬件-量化组合提供具体的性能数据(TTFT、TPOT、吞吐量)和精度分数(GSM8K、AIME25),并标注验证状态。未测量项留作 pending,杜绝虚构数字。
  3. 新增主文档页面: 创建 Laguna-M.1.mdx,包含模型介绍、安装指南(Python/Docker 双标签)、通过导入配置和基准组件渲染的 Deployment 面板、Playground 实验区以及详细的推理和工具调用示例。
  4. 更新导航配置: 修改 docs_new/docs.json,在 Poolside 分组中添加新页面路径,确保页面在侧边栏和搜索引擎中出现。
  5. 调整入口链接: 将 intro.mdx 中的 Poolside 卡片 href 从旧模型 Laguna-XS.2 改为新模型 Laguna-M.1,同时从 Laguna-XS.2.mdx 的 frontmatter 中移除 tag: NEW,将新标签转移至新页面。
文件 模块 状态 重要度
docs_new/src/snippets/configs/poolside/laguna-m1.jsx 配置引擎 added 7.58
docs_new/src/snippets/configs/poolside/laguna-m1-benchmarks.jsx 配置引擎 added 7.01
docs_new/cookbook/autoregressive/Poolside/Laguna-M.1.mdx 用户文档 added 6.01
docs_new/docs.json 导航配置 modified 2.6
docs_new/cookbook/autoregressive/intro.mdx 用户文档 modified 2.52
docs_new/cookbook/autoregressive/Poolside/Laguna-XS.2.mdx 用户文档 modified 2.28

关键源码片段

docs_new/src/snippets/configs/poolside/laguna-m1-benchmarks.jsx core-logic

基准测试数据文件,提供了每个已验证组合的性能指标和精度数值,是用户评估部署的关键参考。

// laguna-m1-benchmarks.jsx — 每个已验证 cell 的基准数据
// 所有数字均为实测值,未测量项为 pending 桩("pending")export const benchmarks = [
  // ===== H200 — BF16 =====
  {
    // 匹配条件(需与 laguna-m1.jsx 中的 cell 键完全一致)
    match: { hw: "h200", variant: "default", quant: "bf16", strategy: "balanced", nodes: "single" },
    verified: true, // 已验证
    sglang_version: "main @ 3f668733 (#28400 + #28604)", // 版本要求
    speed: [
      // 并发 1:低延迟场景
      { workload: { dataset: "random", isl: 4096, osl: 1024, max_concurrency: 1 },
        ttft_ms: 81.9, // 首 Token 时延中位数 (ms)
        tpot_ms: 8.91, // 单 Token 时延中位数 (ms)
        tokens_per_sec_per_gpu: 13.7 }, // 每 GPU 吞吐量 (tokens/s)
      // 并发 128:高吞吐场景
      { workload: { dataset: "random", isl: 4096, osl: 1024, max_concurrency: 128 },
        ttft_ms: 200.1,
        tpot_ms: 52.1,
        tokens_per_sec_per_gpu: 283 },
    ],
    accuracy: {
      gsm8k_pct: 93.02, // GSM8K 准确率 (%)
      aime25_pct: 53.33, // AIME25 准确率 (overall,受 32k 截断限制,stop-only ~0.80)
    },
  },
  // ... 更多组合(H200 FP8、B200 BF16/NVFP4 等)
  {
    match: { hw: "b200", variant: "default", quant: "bf16", strategy: "balanced", nodes: "single" },
    verified: true,
    sglang_version: "PR #28400 + #28604",
    speed: [
      { workload: { dataset: "random", isl: 4096, osl: 1024, max_concurrency: 1 },
        ttft_ms: 108, tpot_ms: 9.0, tokens_per_sec_per_gpu: 13.6 },
      { workload: { dataset: "random", isl: 4096, osl: 1024, max_concurrency: 128 },
        ttft_ms: 170, tpot_ms: 43.3, tokens_per_sec_per_gpu: 331 },
    ],
    accuracy: { gsm8k_pct: 91.88, aime25_pct: 66.88 },
  },
  // 未验证的组合仅保留 match,界面显示 pending
  { match: { hw: "b300", variant: "default", quant: "bf16", strategy: "balanced", nodes: "single" } },
];

评论区精华

dpAttn playground 标签键名不匹配 设计

机器人评审指出在 laguna-m1.jsx 的 playground 配置中,dpAttn 的 labels 使用 "auto" 键,但 values 中是 null,导致查找 labels[null] 实际映射为 labels["null"] 而显示异常。建议将键改为 "null"。

结论:未确认是否修改,PR 在评论后直接合并,可能忽略或未采纳。 · unresolved

风险与影响

文档本身无执行风险,但存在以下隐患:

  • 依赖外部 PR 变更: 页面锁定了必要 PR(#28400、#28604、#28649)的构建 commit,若后续这些 PR 被回退或修改,文档版本约束可能失效,导致用户使用其他版本时遇到问题。
  • Docker 镜像版本固定: 指向特定 nightly 镜像 dev-cu13-618-nightly,长期可能过时,需随版本更新同步跟进。
  • 部分基准数据未验证: B300/GB200/GB300 组合标注为 unverified,用户参考时需注意。

对用户的影响:提供了从零部署 Laguna-M.1 的完整指南,包括命令生成和验证数字,大幅降低调研成本。对系统无直接影响。对团队的影响:扩展了 cookbook 覆盖模型范围,维护成本较低。

依赖多个核心 PR Docker 镜像版本锁定 基准数据未经第三方验证

关联 Issue

#28649 Pass quant_config to attention gate projection

完整报告

参与讨论