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 支持列表中新增 DeepseekV32ForCausalLM、GlmMoeDsaForCausalLM;不支持列表中新增 KimiVLForConditionalGeneration、KimiK25ForConditionalGeneration
五、重点关注:新增环境变量
| 环境变量 |
默认值 |
说明 |
关联 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 关键趋势
- MoE 生态持续完善: DeepEP shared expert fusion 和 >1024 experts 内核支持表明 SGLang 在大规模 MoE 模型上的投入持续增加
- Diffusion 能力快速扩展: FLUX.2 支持、RL 训练基础设施、缓存修复等显示 diffusion 模型支持正在成为重点方向
- 多平台适配深入: AMD ROCm、华为 Ascend NPU、Apple MLX 等多平台的适配和优化工作稳步推进
- 投机解码持续迭代: Eagle3 for Qwen3-VL、spec v2 penalty、ngram multi-SAM 等表明 speculative decoding 仍是性能优化的核心方向
- 代码质量提升: MemoryPoolConfigurator 重构、transcription adapter 架构、测试重组等反映项目对代码质量的重视