SGLang Main Branch Commit 总结

日期: 2026-04-09 (UTC+8)
Commit 总数: 41 个
代码变更: 206 个文件,+17272/-2562 行


一、重点关注:新模型支持

1.1 扩散模型 (Diffusion)

Commit Message 总结 PR 链接
[diffusion] feat: support FLUX.2-small-decoder (#22414) 为 FLUX.2-small-decoder 添加支持,更新兼容性矩阵和 VAE 配置 PR #22414

1.2 视觉语言模型 (VLM)

Commit Message 总结 PR 链接
[Feature] Support eagle3 for qwen3-vl (#22230) 为 Qwen3-VL 视觉语言模型添加 Eagle3 投机解码支持,仅修改 1 个文件 +24 行 PR #22230

1.3 语音识别模型 (ASR)

Commit Message 总结 PR 链接
[refactor] [asr] add transcription adapter for extensible ASR models support (#22181) 引入 transcription adapter 架构模式,为 Qwen3-ASR 和 Whisper 分别实现适配器,实现 ASR 模型的可扩展支持 PR #22181

1.4 MoE 模型扩展

Commit Message 总结 PR 链接
[sgl-kernel] support > 1024 experts in moe_align_block_size kernel (#21610) 重写 CUDA 内核以支持超过 1024 个 expert,对大规模 MoE 模型(如 Mixtral-8x22B)至关重要 PR #21610

1.5 模型基准测试

Commit Message 总结 PR 链接
[AMD] Add GLM-5.1-FP8 nightly accuracy and performance benchmarks for MI30x and MI35x (#22336) 为 AMD GPU (MI30x/MI35x) 添加 GLM-5.1-FP8 模型的精度和性能夜间 CI 基准测试 PR #22336
[HiSparse]: Add HiSpares-DSA Model's nightly CI (#22425) 为 HiSparse 的 DSA 稀疏模型添加 8-GPU 夜间 CI 测试 PR #22425
[CI] Add GLM-5.1 nightly tests and update Qwen3.5 model (#22399) 新增 GLM-5.1 FP8 模型的 8-GPU 夜间测试,同时更新 Qwen3.5 测试配置 PR #22399

1.6 NPU 平台支持

Commit Message 总结 PR 链接
[NPU]add Qwen3-32b and Qwen3-8b low latency md (#22429) 新增华为 Ascend NPU 平台 Qwen3-32B/8B 低延迟部署最佳实践文档(+296 行) PR #22429
fix issues for npu docs (#22307) 修正华为 Ascend NPU 平台文档中的 4 处错误/过时内容 PR #22307

二、重点关注:性能优化

2.1 MoE 性能优化

Commit Message 总结 PR 链接
feat: [1/2] [DeepEP] Fuse shared expert into MoE dispatch under EP (#20089) 将 shared expert 运算融合到 MoE dispatch 阶段,减少 Expert Parallelism 下的通信开销,同时新增 --enforce-shared-experts-fusion 参数 PR #20089
[AMD] Use aiter CK layernorm2d for LayerNorm to reduce NSA indexer kernel launches (#22424) 在 AMD 平台上用 aiter CK layernorm2d 替换原有实现,减少 NSA indexer 的 kernel launch 次数 PR #22424

2.2 投机解码 (Speculative Decoding) 优化

Commit Message 总结 PR 链接
[Speculative] Support penalty for spec v2 overlap scheduling (#22049) 为 speculative decoding v2 的 overlap scheduling 添加 penalty 机制,避免反复生成低质量推测 PR #22049
[Spec][Ngram] Misc enhance support for multiple SAMs (#22294) 增强 ngram speculative decoding 对多个 SAM(Speculative Acceptance Model)的支持,提高并发场景下的推测效率 PR #22294

2.3 启动速度优化

Commit Message 总结 PR 链接
Lazy import flash_attention_v4 to avoid loading flash_attn.cute at startup (#22306) 将 flash_attention_v4 的导入延迟到实际使用时,缩短 SGLang 启动时间 PR #22306

2.4 GPU 架构适配

Commit Message 总结 PR 链接
[GDN] Remove FlashInfer GDN decode + no_buffer guard and default to FlashInfer on SM100+ (#21861) 移除 FlashInfer GDN decode 的 no_buffer guard,在 SM100+ (Blackwell) GPU 上默认使用 FlashInfer PR #21861

三、重点关注:Bug Fix

Commit Message 总结 PR 链接
fix AttributeError: 'LazyValue' object has no attribute 'keys' in eplb_manager.py for qwen3 moe (#21822) 修复 Qwen3 MoE 模型在使用 expert parallel load balancing 时,LazyValue 对象缺少 keys 属性导致的 AttributeError PR #21822
[AMD] Fix multimodal diffusion test crash on ROCm by falling back to SDPA (#22335) 修复 AMD ROCm 平台上多模态扩散测试因 Flash Attention V3 不兼容而崩溃的问题,回退到 SDPA PR #22335
[diffusion] fix: fix cache dit refresh none mask (#22374) 修复 DiT 缓存刷新时 mask 为 None 的情况,并补充 220 行单元测试 PR #22374
[diffusion] fix: fix loading multiple ckpts with different precision for a same module (#22360) 修复加载多个不同精度 checkpoint 时同一模块的权重冲突问题 PR #22360
Fix hybrid_linear_attn_backend crash with ngram speculation (#20739) 修复 hybrid linear attention backend 在使用 ngram speculation 时的崩溃问题 PR #20739
Fix get_version_tag.py to handle dot-separated post versions (#22385) 修复版本号解析中对点分隔 post 版本(如 1.0.0.post1)的处理逻辑 PR #22385

四、重点关注:server_args.py 新增参数

参数名 类型 默认值 说明 关联 PR
--enforce-shared-experts-fusion bool (store_true) False 强制启用 shared experts fusion,即使在 DeepEP 下通常会被禁用的场景也会启用。与 --disable-shared-experts-fusion 互斥 PR #20089

server_args.py 其他重要变更

  • NSA 后端自动设置逻辑改进: 在 kv_cache_dtype == "fp8_e4m3" 且 GPU 架构 >= 10 (Blackwell) 时自动设置 nsa backend 为 “trtllm”,新增了对用户手动设置值的判断,避免覆盖用户配置
  • deepep_mode 帮助文本更新: 说明该参数现在也适用于 MoriEP MoE
  • encoder disaggregation 模型列表扩展: disagg_prefill 支持列表中新增 DeepseekV32ForCausalLMGlmMoeDsaForCausalLM;不支持列表中新增 KimiVLForConditionalGenerationKimiK25ForConditionalGeneration

五、重点关注:新增环境变量

环境变量 默认值 说明 关联 PR
SGLANG_MORI_PREALLOC_MAX_RECV_TOKENS 0 定义每个 rank 预分配的 token 数量上限,有效范围 1 到 world_size * SGLANG_MORI_NUM_MAX_DISPATCH_TOKENS_PER_RANK,默认 0 表示最大值。设置较小值可减少内存占用,但过小可能导致缓冲区溢出 PR #22329

新增调试环境变量

  • 对称调试模式: 新增环境变量用于启用对称调试模式,可以打印出未注册张量的通信操作堆栈跟踪,主要用于分布式调试(通过 pynccl_allocator.py 实现)

六、核心架构重构

6.1 MemoryPoolConfigurator 类层次引入

Commit Message 总结 PR 链接
[core] Extract pool sizing logic to pool_configurator.py (#22384) 将 pool sizing 逻辑从 model_runner_kv_cache_mixin.py 提取到新的 pool_configurator.py(纯重构) PR #22384
[core] Introduce MemoryPoolConfigurator class hierarchy (#22389) 引入 MemoryPoolConfigurator 类层次结构,将 KV cache 和 memory pool 的配置逻辑进行面向对象的重构 PR #22389
[Test] Add CPU unit tests for MemoryPoolConfigurator (#22420) 为 MemoryPoolConfigurator 新增 336 行 CPU 单元测试 PR #22420
[Doc] Clarify SWA HybridSWAPoolConfigurator comments on all-SWA vs hybrid semantics (#22443) 澄清 SWA PoolConfigurator 中”全 SWA”与”混合 SWA”语义的注释 PR #22443

6.2 Diffusion RL 训练基础设施

Commit Message 总结 PR 链接
[diffusion] rl: revamp rollout Log-Prob support with SDE/CPS for RL post-training (#21204) 为 diffusion 模型的 RL 后训练引入 rollout Log-Prob 支持,结合 SDE/CPS 方法,新增 scheduler_rl_mixin.py 等核心组件 PR #21204

6.3 Token Embedding Overrides 功能

Commit Message 总结 PR 链接
[Feature] Add token embedding overrides for sparse embedding replacement (#20960) 支持 token embedding override(稀疏嵌入替换),涵盖从 API 协议、服务层、调度器到模型执行器的完整链路 PR #20960

七、CI/CD 与基础设施

7.1 测试重组与优化

Commit Message 总结 PR 链接
[CICD] [prefill-only] Consolidate prefill-only model E2E tests (#22405) 将 prefill-only 模型的 E2E 测试重组到新的 test/registered/prefill_only/ 目录,净减少约 640 行代码 PR #22405
Move runai model loader test to nightly suite (#22418) 将 RunAI 模型加载器测试从 PR 测试移至夜间测试套件 PR #22418

7.2 CI 性能与可靠性

Commit Message 总结 PR 链接
[CI] Use UV to improve pip install speed (#22029) 在 NPU CI 工作流中引入 uv 替代 pip 来加速依赖安装 PR #22029
[CI] Fast-fail on lint check failure in check-stage-health (#22400) 在 check-stage-health GitHub Action 中增加快速失败机制,lint 检查失败时立即报错 PR #22400
[CI] Add pre-commit hook to validate test registry (#22308) 添加 pre-commit hook 自动检查测试文件是否正确注册到 CI registry PR #22308
[CI] Replace upload/download-artifact with job outputs in release-docker-runtime (#22388) 用 GitHub Actions job outputs 机制替代 upload/download-artifact,简化 workflow PR #22388
[CI] Increase stage-c-test-4-gpu-b200 partitions from 4 to 5 (#22395) 将 B200 4-GPU 测试分区数从 4 增加到 5,分散测试负载缩短 CI 总耗时 PR #22395

7.3 CI 权限管理

Commit Message 总结 PR 链接
Update ci permission (#22387) 更新 CI 权限配置 PR #22387
[CI] Add alexnails to CI_PERMISSIONS.json (#22391) 向 CI 权限列表添加用户 alexnails PR #22391

八、工具与 SKILL

8.1 Torch Profiler Analysis SKILL

Commit Message 总结 PR 链接
[SKILL] add torch profiler analysis workflow (#22353) 创建 sglang-torch-profiler-analysis SKILL,包含 3 个分析脚本和 7 个参考文档,共 5394 行 PR #22353
Upgrade sglang-torch-profiler-analysis SKILLS (#22440) 大规模重构和升级 Torch Profiler 分析 SKILL,重命名脚本、更新文档和分析逻辑 PR #22440

8.2 其他工具

Commit Message 总结 PR 链接
Add MLX profiling to bench_one_batch.py (#22159) 为 Apple MLX 后端的 bench_one_batch 基准测试添加 profiling 支持 PR #22159
Add symmetric debug mode to print stack trace of comm ops with unregistered tensors (#18569) 新增对称调试模式,可打印未注册张量的通信操作堆栈跟踪,用于分布式调试 PR #18569

九、依赖更新

Commit Message 总结 PR 链接
chore: bump flashinfer version to 0.6.7.post3 (#22382) 将 flashinfer 依赖版本升级到 0.6.7.post3,同步修改 Dockerfile、pyproject.toml 等 4 处版本号 PR #22382

十、总结与趋势

10.1 代码变更统计

类别 Commit 数量 核心影响
新模型支持 9 FLUX.2-small-decoder、Eagle3 for Qwen3-VL、ASR adapter、GLM-5.1 基准测试、HiSparse DSA、MoE >1024 experts
性能优化 6 DeepEP shared expert fusion、AMD layernorm2d、spec v2 penalty、ngram multi-SAM、lazy import flash_attn、GDN on SM100+
Bug Fix 6 Qwen3 MoE LazyValue、AMD diffusion crash、DiT cache mask、多精度 checkpoint、hybrid_linear_attn crash、version tag
架构重构 4 MemoryPoolConfigurator 类层次、transcription adapter 架构、token embedding overrides、diffusion RL Log-Prob
CI/CD 11 测试重组、uv 加速、pre-commit hook、权限管理、分区扩展
工具/SKILL 3 Torch Profiler SKILL、MLX profiling、对称调试模式
依赖/文档 2 flashinfer 版本升级、NPU 文档修复

10.2 关键趋势

  1. MoE 生态持续完善: DeepEP shared expert fusion 和 >1024 experts 内核支持表明 SGLang 在大规模 MoE 模型上的投入持续增加
  2. Diffusion 能力快速扩展: FLUX.2 支持、RL 训练基础设施、缓存修复等显示 diffusion 模型支持正在成为重点方向
  3. 多平台适配深入: AMD ROCm、华为 Ascend NPU、Apple MLX 等多平台的适配和优化工作稳步推进
  4. 投机解码持续迭代: Eagle3 for Qwen3-VL、spec v2 penalty、ngram multi-SAM 等表明 speculative decoding 仍是性能优化的核心方向
  5. 代码质量提升: MemoryPoolConfigurator 重构、transcription adapter 架构、测试重组等反映项目对代码质量的重视