SGLang 每日 Commit 总结

日期: 2026-04-12 (UTC+8)
总提交数: 22
时间范围: 2026-04-12 00:00 ~ 24:00 (UTC+8)

概述

昨日的 22 个 commit 主要集中在以下几个领域:Diffusion 模型支持增强(LTX2.3 两阶段、ModelOpt 量化)、性能优化(AMD GLM-5、Whisper 批量编码、Tokenizer 流式优化)、Bug 修复、LoRA MoE Marlin 后端支持、Unified Radix Cache 和 Breakable CUDA Graph 新特性、以及 CI 基础设施改进。


新模型/新功能

重点内容

  • LTX2.3 两阶段支持: 为 Diffusion 模型 LTX2.3 添加了两阶段推理支持
  • ModelOpt 量化 FLUX: 启用了 ModelOpt 量化后的 FLUX 模型部署
  • Unified Radix Cache: 新增统一的 Radix 缓存架构,支持 Full、SWA、Mamba、Tree 等多种缓存组件
  • Breakable CUDA Graph: 新增可中断的 CUDA Graph 执行机制
  • LoRA MoE Marlin 后端: 解耦了 LoRA MoE 后端,新增 Marlin 支持

详细提交

Commit Message 总结 PR 链接
[diffusion] model: support LTX2.3 two stage (#22182) 为 LTX2.3 模型添加两阶段推理支持,优化 denoising 和 latent preparation 流程 PR #22182
[diffusion] quant: enable modelopt quantized FLUX deployment (#20082) 启用 ModelOpt FP8 量化支持,使 FLUX 模型可以以量化形式部署,新增 modelopt_fp8.py 量化层 PR #20082
[lora][moe] Decoupled LoRA MoE backend with Marlin support (#21858) 解耦 LoRA MoE 后端架构,新增 Marlin 后端支持,优化 compressed-tensors 量化方案,提升 LoRA+MoE 组合场景性能 PR #21858
VLM: support passing --mm-process-config for all models (#18467) 使所有 VLM 模型支持通过 –mm-process-config 参数自定义多模态处理配置,新增验证逻辑和测试 PR #18467

性能优化

重点内容

  • AMD GLM-5 优化: 针对 AMD 平台的 GLM-5 模型进行 NSA 后端性能优化
  • Whisper 批量编码: 实现 Whisper 模型的批量 encoder forward,提升并发 prefill 请求的吞吐量
  • Tokenizer 流式优化: 消除非增量流式场景下的 O(n²) 拷贝问题
  • AMD AllReduce + RMSNorm 融合: 简化融合 allreduce + RMSNorm 操作,移除 hidden_dim 白名单限制

详细提交

Commit Message 总结 PR 链接
[Not-Merge][AMD] GLM-5 performance optimization (#21166) 优化 AMD 平台 GLM-5 模型的 NSA 后端性能,移除不必要的 nsa_indexer 依赖 PR #21166
[AMD][No-Merge] Simplify fused allreduce + RMSNorm and remove hidden_dim allowlist (#21986) 简化 AMD 平台融合 allreduce + RMSNorm 实现,移除 hidden_dim 白名单限制,使更多模型尺寸受益 PR #21986
[Whisper] Batch encoder forward for concurrent prefill requests (#22361) 实现 Whisper 模型 encoder 的批量 forward,优化并发 prefill 请求的处理效率 PR #22361
[tokenizer] eliminate O(n²) copy in non-incremental streaming (#22567) 消除 tokenizer_manager 中非增量流式场景下的 O(n²) 拷贝问题,提升长文本流式输出性能 PR #22567

Bug 修复

重点内容

  • Streaming Session 双重计数: 修复流式会话 busy check 的双重计数问题
  • SWA 输入长度限制: 修复 Sliding Window Attention 的输入长度限制问题
  • Model Config 删除: 修复 model_config 删除逻辑的 bug
  • Prefill TPS 日志: 修复 prefill TPS 指标日志的准确性问题
  • RL 权重更新: 修复 mxfp8 flashinfer_cutlass gemm 后端的权重更新问题

详细提交

Commit Message 总结 PR 链接
Fix streaming session busy check double-counting; add compat CI tests (#22213) 修复 session_aware_cache 中流式会话 busy check 的双重计数 bug,添加兼容性 CI 测试 PR #22213
Fix swa input length limitation (#22597) 修复 SWA(Sliding Window Attention)场景下输入长度限制的问题,涉及 schedule_policy 和 model_runner PR #22597
[Bugfix] fix model_config deletion (#22281) 修复 http_server 和 scheduler 中 model_config 删除逻辑的 bug PR #22281
fix prefill tps log accuracy (#22497) 修复 scheduler_metrics_mixin 中 prefill TPS 日志计算的准确性问题 PR #22497
[RL] Fix weight update for mxfp8 flashinfer_cutlass gemm backend (#22484) 修复 RL 场景下 mxfp8 flashinfer_cutlass gemm 后端的权重更新逻辑 PR #22484
[Test] Fix flaky test_function_call_specific by adding strict=True (#22624) 修复 function calling 测试的 flaky 问题,添加 strict=True 参数 PR #22624

server_args.py 新增参数

重点内容

  • –quantization unquant: 新增 unquant 选项,允许用户显式选择不使用量化

详细提交

Commit Message 总结 PR 链接
[server] Add --quantization unquant to explicitly opt out of quantization (#21863) 在 QUANTIZATION_CHOICES 中新增 unquant 选项,用户可显式禁用量化;新增 _quantization_explicitly_unset 标志防止自动量化检测覆盖用户意图 PR #21863

参数说明:

  • --quantization unquant: 当用户希望明确禁用任何自动检测的量化时使用,适用于某些模型自带量化配置但用户希望以非量化方式运行的场景

新增环境变量

重点内容

  • SGLANG_ENABLE_UNIFIED_RADIX_TREE: 控制是否启用统一的 Radix 树缓存架构

详细提交

Commit Message 总结 PR 链接
Add unified radix cache infrastructure (隐含在多个 commit 中) 新增 SGLANG_ENABLE_UNIFIED_RADIX_TREE 环境变量(默认 False),用于控制是否启用新的统一 Radix 缓存架构;该架构支持 Full、SWA、Mamba、Tree 四种缓存组件 [PR 待确认]

环境变量说明:

  • SGLANG_ENABLE_UNIFIED_RADIX_TREE: 布尔值,默认 False,启用后将使用新的统一 Radix 缓存系统替代现有缓存架构

其他重要改动

DSA (DeepSeek Attention) 优化

Commit Message 总结 PR 链接
[DSA] Hopper FP8 FlashMLA KV padding (#22372) 优化 Hopper 架构 FP8 FlashMLA 的 KV padding 策略,将 nsa_prefill_backend 默认从 flashmla_auto 改为 flashmla_kv PR #22372

SWA 内存检查增强

Commit Message 总结 PR 链接
Add SWA support for runtime busy memory check (#21499) 在 scheduler 运行时内存检查中添加对 SWA(Sliding Window Attention)的支持 PR #21499

CI/基础设施改进

详细提交

Commit Message 总结 PR 链接
[diffusion] CI: dynamic load-balanced partitioning for diffusion CI (#15528) 为 Diffusion CI 实现动态负载均衡分区,新增 compute_diffusion_partitions.py、diffusion_case_parser.py、verify_diffusion_coverage.py 等工具 PR #15528
[CI] Update B200 est_times to prevent timeouts on slower machine (#22609) 更新 B200 测试的预估时间,防止在较慢的机器上超时 PR #22609
ci: use local NVIDIA wheels to avoid re-downloading ~2GB every CI run (#22602) 使用本地缓存的 NVIDIA wheels,避免每次 CI 运行重复下载约 2GB 文件 PR #22602
[CI] Remove Slack bot from CI failure monitor (#21581) 从 CI 失败监控中移除 Slack 通知机器人 PR #21581
[CI] Little renaming of gb200 CI workflow (#22608) 将 GB200 CI 工作流从 nightly-perf-regression-gb200.yml 重命名为 nightly-72-gpu-gb200.yml PR #22608

总结

昨日 SGLang main 分支共有 22 个 commit,主要进展包括:

  1. Diffusion 模型: LTX2.3 两阶段支持和 ModelOpt 量化 FLUX 部署
  2. 性能优化: AMD GLM-5 优化、Whisper 批量编码、Tokenizer 流式 O(n²) 修复、AMD AllReduce 融合优化
  3. 新特性: Unified Radix Cache 架构、Breakable CUDA Graph、LoRA MoE Marlin 后端
  4. Bug 修复: 6 个关键 bug 修复,涵盖 streaming session、SWA、model_config、TPS 日志、RL 权重更新等
  5. 参数/环境变量: 新增 --quantization unquant 参数和 SGLANG_ENABLE_UNIFIED_RADIX_TREE 环境变量
  6. CI 改进: Diffusion CI 动态负载均衡、NVIDIA wheels 缓存优化、B200 超时调整