sglang
高性能LLM推理框架,RadixAttention加速KV Cache复用,日均处理万亿token
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
高性能LLM推理框架,RadixAttention加速KV Cache复用,日均处理万亿token
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:SGLang 项目 Logo
想象一下:你是一家 AI 创业公司的技术负责人,刚刚训练好了一个 700 亿参数的大模型,准备对外提供 API 服务。但当你把模型部署到服务器上时,发现吞吐量只有每秒十几个 Token,首批响应延迟高达十几秒——用户抱怨体验太差,服务器 GPU 利用率却还不到 30%。
这正是 SGLang 要解决的核心问题。在 LLM 推理服务领域,有一个被业界称为「GPU 利用率之谜」的现象:模型的参数量越大,推理时的 GPU 利用率反而越低,大量计算资源被浪费在等待、自适应批量调度(Continuous Batching)和 KV Cache 管理上。SGLang 通过一套从调度层到算子层垂直整合的技术栈,将这一效率问题从根源上打通。
训练 LLM 时,输入输出长度固定,GPU 可以持续进行矩阵乘法。但推理(Serving)完全不同:每个用户的请求长度和生成长度都不一样,有长有短。当一个长请求占用 GPU 时,短请求只能排队等待——这就是所谓的「气泡问题」,它会导致 GPU 大部分时间处于空闲状态。
vLLM 在 2023 年通过 PagedAttention 解决了 KV Cache 的内存碎片化问题,让吞吐量大幅提升。但 SGLang 团队发现,vLLM 在调度层面仍有大量可以优化的地方——尤其是在多轮对话、多路复用(多 LoRA 适配)等复杂场景下,调度器的开销会成为新的瓶颈。
SGLang 最核心的创新是 RadixAttention。在传统的 LLM 推理系统中,每个请求的 KV Cache 在生成结束后就会被丢弃。而 SGLang 引入了一个 Radix Cache(前缀缓存树),将所有请求的上下文前缀持久化存储,并支持高效的前缀复用。
打个比方:想象一个图书馆,读者每次来都要重新抄写同一本书的前几章才能开始阅读。RadixAttention 就像是给图书馆装了一个复印机——常用的前缀内容被复印保存,后续读者可以直接复用,大幅减少重复计算。在多轮对话、Few-shot 推理、Agent 工具调用等场景中,这一优化的效果尤为显著。
SGLang 的技术栈覆盖推理服务的全链路:
调度层:Zero-overhead CPU Scheduler 让调度器本身几乎不消耗 CPU 开销。结合 Continuous Batching(持续批处理)和 Chunked Prefill(分块预填充),可以在保证低延迟的同时最大化 GPU 吞吐量。
Prefill-Decode 分离:将预填充(计算密集型)和解码(访存密集型)阶段分配到不同的 GPU 资源池,避免两种不同负载互相干扰。DeepSeek 系列模型实测中,MLA 注意力机制提速 7 倍。
投机解码(Speculative Decoding):用小模型快速生成候选 token,再用大模型验证,可以实现 2-3 倍的解码加速,同时保持输出质量。
量化支持:原生支持 FP4/FP8/INT4/AWQ/GPTQ 等多种量化方式,在精度损失可接受的前提下大幅降低显存占用。
多 LoRA 批处理:多个不同的 LoRA 适配器可以同时加载在同一批处理中推理,资源利用率远高于逐一加载。
SGLang 对模型的支持范围非常广泛,不仅覆盖主流开源语言模型,还支持多模态和专用模型:
支持 NVIDIA 全系列 GPU(从 H100 到最新的 GB200 NVL72,实测 25 倍加速),同时还支持 AMD MI355/MI300、Intel Xeon CPU、Google TPU、华为 Ascend NPU 等多种硬件平台。
SGLang 提供了完整的 Docker 容器化方案:主 Dockerfile 基于 CUDA 13.0 + cuDNN + Ubuntu 24.04 的多阶段构建镜像(lmsysorg/sglang:latest),包含预编译的 FlashInfer CUDA kernel 和 DeepGemm 矩阵乘法优化。
通过 docker compose.yaml,用户可以在本地一键启动 SGLang 推理服务,挂载 HuggingFace 模型缓存,即开即用。同时提供了 Kubernetes StatefulSet + Service 配置,支持分布式多节点生产部署。
虽然没有 Web UI 界面(这是一个纯 API 服务框架),但它兼容 OpenAI API 规范,现有应用可以零代码迁移。
SGLang 在 2024-2025 年迅速从推理框架扩展到 RL(强化学习)训练后端。多个知名 RL 训练框架——AReaL、Miles、slime、Tunix、verl——都选择 SGLang 作为 rollout(经验回放)后端。这说明 SGLang 的架构不仅适合推理,也适合在 RL 训练循环中被高频调用。
SGLang 因此获得了 a16z Open Source AI Grant(2025年第三批)的认可,成为被顶级 VC 支持的开源基础设施项目。
根据项目披露,SGLang 目前在全球超过 40 万块 NVIDIA GPU 上运行,日均处理超过万亿量级的 token。这一规模的实际部署验证了框架的生产可靠性。
从竞争格局看,SGLang 与 vLLM、TensorRT-LLM 处于同一赛道,但侧重点不同:vLLM 侧重通用性和易用性,TensorRT-LLM 侧重极致性能但依赖 NVIDIA 闭源优化库,而 SGLang 在保持开源开放的同时,在 DeepSeek 等国产模型和前沿 RL 训练场景上有独特优势。
xAI、AMD、NVIDIA、Intel、Google Cloud、Microsoft Azure、AWS 等头部企业,以及 Cursor、LinkedIn 等知名 AI 应用公司都在使用或测试 SGLang。学术界方面,MIT、Stanford、Berkeley、清华等顶级高校也在用其作为研究基础设施。
适合人群:有 GPU 服务器资源、需要部署开源 LLM 并提供 API 服务的企业和开发者。
上手门槛:中等偏高。需要在有 NVIDIA GPU 的 Linux 环境下运行,熟悉 Docker 和基本的模型推理概念。如果只是调用 API,建议直接使用托管服务。
快速上手(需 Docker + GPU):
docker run --gpus all \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
lmsysorg/sglang:latest \
python -m sglang.launch_server \
--model-path meta-llama/Llama-3.1-8B-Instruct
API 端点兼容 OpenAI,可直接用 curl 或 OpenAI SDK 发起请求。
文档地址:https://docs.sglang.io/
托管方:LMSYS(UC Berkeley 孵化的非营利组织,同样知名的项目还有 Chatbot Arena)