
我们很高兴推出Mini-SGLang,这是一个轻量级却高性能的Large Language Models (LLMs)推理框架。它源于SGLang项目,旨在揭开现代服务系统的复杂面纱。尽管代码库紧凑,它仍保留了定义最先进性能的核心特性,包括Radix Attention用于高效KV缓存复用、Chunked Prefill控制内存占用、Overlap Scheduling降低CPU开销,以及Tensor Parallelism实现可扩展分布式服务。Mini-SGLang提供OpenAI兼容API,并开箱即用支持Llama-3和Qwen-3等模型,既是可靠的推理引擎,也是研究者和开发者的透明参考实现。
源代码地址:https://github.com/sgl-project/mini-sglang。
动机:为什么推出Mini-SGLang?
尽管SGLang在推理性能和功能上达到了最先进水平,但其代码库已膨胀至近30万行Python代码。为了降低学习和研究门槛,我们开发了Mini-SGLang,聚焦两大目标:提供学习资源和加速研究原型开发。
教育用途
Mini-SGLang拥有仅5k行Python代码的干净模块化代码库,让初学者更容易理解现代LLM服务引擎的核心组件。
尽管简洁,它支持在线和离线推理,并实现了关键现代优化,包括Tensor Parallelism、Overlap Scheduling、Chunked Prefill、Radix Cache和JIT CUDA kernels,成为全面的学习资源。
快速研究原型
许多ML和系统研究者难以将优化集成到现有框架。一方面,在SGLang等复杂框架中注入新逻辑风险高,易破坏隐式不变量导致隐蔽bug;另一方面,从零构建推理引擎繁琐,需要大量基础设施(如前端服务器、分词、NCCL通信)才能匹配基线性能。
Mini-SGLang取得平衡。它起初是我们验证新系统想法的原型,无需数周处理大规模代码或重实现基础设施,即可快速上手。它开箱即用高性能、易检查扩展优化,同时处理基础设施重任。额外提供OpenAI兼容基准工具,便于端到端性能分析与SGLang、vLLM和TensorRT-LLM比较。内核开发者可利用细粒度NVTX注解,助力调试和性能剖析。
核心特性
Mini-SGLang与SGLang共享高层系统架构,包括前端API服务器、分词服务器和每个GPU的后端调度器。

Overlap Scheduling
LLM推理不止GPU计算,CPU负责批调度、内存管理和令牌处理等大量工作。未优化时,CPU开销会导致GPU空闲,影响整体性能。
Mini-SGLang实现overlap scheduling机制,与SGLang类似,在GPU处理当前批次时,CPU预备下一批请求,从而隐藏CPU开销。下图Nsight-Systems剖析显示,GPU利用率始终饱和,无空闲,提升吞吐量。详见前文博客。


禁用overlap scheduling进行消融实验:设置环境变量MINISGL_DISABLE_OVERLAP_SCHEDULING=1。
高性能内核
Mini-SGLang集成最先进注意力内核,确保顶级性能。在NVIDIA Hopper架构上,prefill使用FlashAttention-3,decode使用FlashInfer。
借鉴FlashInfer和SGLang,Mini-SGLang集成JIT编译内核提升运行时性能。我们采用TVM FFI进行Python绑定,比默认PyTorch接口更快,因其轻量设计。
交互Shell模式
为便捷交互测试,Mini-SGLang内置简单Shell模式,用户可直接命令行与LLM对话,无需额外客户端。

性能基准测试
我们进行了全面实验,覆盖离线吞吐量和在线服务延迟。
离线推理吞吐量
在单张NVIDIA H200 GPU上,与Nano-vLLM比较。遵循Nano-vLLM方法,使用Qwen3-0.6B和Qwen3-14B模型评估扩展性(限于Nano-vLLM支持)。
吞吐量(tokens/s)如下:

Mini-SGLang在两模型上均超越Nano-vLLM,得益于overlap scheduling隐藏CPU开销。
可复现:离线脚本此处。
在线服务延迟
使用Qwen trace真实负载,重放1000请求至4张H200 GPU上4路Tensor Parallelism的Qwen3-32B。测量吞吐量、P90 TTFT和TBT。

Mini-SGLang性能与SGLang几乎相同,证明轻量设计不牺牲吞吐或延迟。
可复现:启动命令:
# Mini-SGLang
python -m minisgl --model "Qwen/Qwen3-32B" --tp 4 --cache naive
# SGLang
python3 -m sglang.launch_server --model "Qwen/Qwen3-32B" --tp 4 \
--disable-radix --port 1919 --decode-attention flashinfer
在线脚本此处。
结论
Mini-SGLang成功将最先进推理引擎精炼为紧凑易懂代码库。保留overlap scheduling和高性能注意力内核等关键优化,实现出色性能,同时作为教育工具和灵活研究平台。
欢迎探索源代码,运行基准,体验高性能LLM推理的新易用性。
致谢
- 感谢SGLang团队和社区支持,尤其是Liangsheng Yin、Lianmin Zheng等人。
- 感谢MisakaVan在测试、文档、代码改进的突出贡献,以及Yi Pan的初始PyTorch C++ NCCL通信器实现。
- 感谢SJTU的Wenxin Zheng,作为2025夏季实验课助教,支持课程组织和学生指导。
- 我们从SGLang、FlashInfer、vLLM和Nano-vLLM系统设计中获益良多,共同铸就Mini-SGLang的简洁稳健。