开源SGLang Releases·2026年9月5日

SGLang v0.5.16发布:新增DSpark投机解码与 975B Inkling模型支持

SGLang v0.5.16合并 574 个PR,引入置信度驱动的DSpark投机解码算法、对 975B参数多模态MoE模型Inkling的支持,并默认启用UnifiedRadixTree。

AI解读:这次更新对正在运行SGLang推理服务的团队影响最大,尤其是DeepSeek、GLM以及长上下文或投机解码场景。新引入的DSpark算法让验证窗口长度跟随草稿本身的置信度动态变化,而不是固定长度,在B300上(TP8,bs=1)对DeepSeek-V4-Pro达到 383.7 tok/s,这比固定长度的投机解码更灵活,减少了验证浪费。注意,DSpark需要额外参数启用,并且只有配置正确才能生效,BladeDISC团队没有给出普及后的收益对比数据。另一方面,Inkling作为 975B参数、1M上下文的多模态MoE模型,在Blackwell上输入吞吐达 71.7k tok/s,意味着拥有这类模型的用户无需自行适配就能直接部署,但首次使用需要按cookbook验证。同时,多个破坏性变更要求升级后必须修改启动命令:旧参数如 `--enable-deepep-waterfill` 和 `--optimistic-prefill-retries` 被重命名且无兼容别名,QServe和FBGEMM FP8路径被删除,NVFP4 GEMM现在依赖FlashInfer。如果你的服务启用了这些旧功能,升级前必须核对参数和依赖,否则启动会直接失败。

SGLang发布v0.5.16,合并了来自 169 名贡献者的 574 个PR。新版本引入置信度驱动的DSpark投机解码算法,支持 975B参数多模态MoE模型Inkling,并将UnifiedRadixTree设为SWA、Mamba和DSA模型的默认实现。

DSpark以半自回归方式分块草稿,然后根据草稿本身的置信度决定每个验证窗口的大小,而非固定草稿长度。官方称在B300上以TP8(bs=1)运行DeepSeek-V4-Pro时达到 383.7 tok/s,接受长度约 5。启用参数为 `--speculative-algorithm DSPARK` 和 `SGLANG_RAGGED_VERIFY_MODE=compact`,可通过 `--speculative-dspark-block-size` 调节块大小。

Inkling是Thinking Machines的 975B参数多模态MoE模型,支持 100 万token上下文,混合滑动窗口、全注意力和Mamba2线性注意力,并配备NVFP4 MoE、可选视觉/音频塔和原生MTP。官方称在Blackwell上输入吞吐可达 71.7k tok/s,每用户解码 171.0 tok/s,已在Blackwell TP4/TP8、H200以及AMD MI350X/MI355X上验证。

新模型与架构支持

除Inkling外,本版本新增对LongCat 2.0 FP8(美团)、JetBrains Mellum v2、Pi0.5(OpenPI)的支持,并为LongLive 2.0添加扩散模型支持。MiniMax-M3的四部分代码已在本周期内完成落地,但官方cookbook仍指向开发镜像,尚不可端到端使用。

  • Inkling:975B多模态MoE,1M token上下文,支持NVFP4 MoE、选配视觉/音频塔和原生MTP(PR #31681)。
  • LongCat 2.0 FP8:美团发布的自动回归模型(PR #30275, #30320)。
  • JetBrains Mellum v2:自动回归模型,cookbook仍为WIP(PR #27375)。
  • Pi0.5:VLA模型(PR #30633)。
  • LongLive 2.0:扩散模型支持(PR #27639)。

投机解码与注意力后端改进

ReplaySSM Ring Spec-Verify(GDN)移除了每草稿的SSM快照。官方称在TP1上运行Qwen3.5-35B-A3B时,投机暂存内存从每GPU 11.5 GB降至 1.8 GB(缩小 6.4 倍),且准确率和吞吐保持持平。该功能默认关闭,需通过 `--enable-gdn-replayssm-spec` 启用,且仅适用于GDN加线性草稿链(`--speculative-eagle-topk` 为None或 1)的场景。

Blackwell(SM100)上的线性注意力新增首个正确的KDA MTP路径。其 `recurrent_kda` 解码内核在B=64 时运行时间为 29.6 微秒,而Triton为 36.8 微秒;完整解码路径在B=128 时与Triton持平,B=256 时快 1.35 倍,低于该规模则更慢。

  • GLM-5.2 DSA缓存层拆分:在prefill CP下按层分片KV和索引器缓存,每个rank只持有部分层。官方称在GLM-5.2-FP8(78 层,cp_size=4,8192 token)下,每rank KV内存从 0.77 GB降至 0.20 GB(约减少 74%),需同时启用 `--enable-prefill-cp --cp-strategy interleave`。

破坏性变更与升级注意

本版本移除了实验性的QServe(QoQ)W4A8和FBGEMM FP8量化路径,`--fp4-gemm-backend cutlass` 选项以及树内NVFP4 JIT内核也被删除,NVFP4 GEMM现在依赖FlashInfer。CUTLASS FP8 blockwise在SM90/SM100上被移除,SM120改为JIT方式。

多个启动参数被重命名且不提供旧别名:`--enable-deepep-waterfill` 改为 `--enable-waterfill`,`--optimistic-prefill-retries` 改为 `--optimistic-prefill-attempts`,`num_tokens_per_bs` 改名为 `num_tokens_per_req`。现有启动命令若不更新将因无法识别参数而失败。

UnifiedRadixTree现为SWA、Mamba和DSA模型的默认实现,这会改变这些架构上的行为。分块input-logprob处理默认开启以限制峰值内存;FA3稀疏mask内核默认关闭。SGLang-Diffusion的post-training rollout端点改为返回 `application/msgpack`,tensor以原始msgpack字节而非base64传输,消费端需与服务器同步升级。

  • 依赖版本:flashinfer 0.6.14、CuTe DSL 4.6.0、sgl-kernel 0.4.5、llguidance 1.7.6。
  • 已知问题:DP attention下开启breakable prefill CUDA graph时,温度-0 请求可能出现非确定性;flashinfer 0.6.15曾被合入后回退,本版固定 0.6.14;GB300 CI作业因runner可用性暂时禁用,GB300覆盖依赖cookbook手动端到端验证。

信息来源

SGLang Releases原始来源