SGLang推理引擎--高效的开源部署方案

发布于:2025-09-05 ⋅ 阅读:(18) ⋅ 点赞:(0)

总结自ModelScope开发者大会-SGLang推理引擎–高效的开源部署方案

开源项目地址:https://github.com/sgl-project/sglang

什么是 SGLang?
SGLang 是面向 大语言模型(LLM)与多模态模型 的推理引擎。它负责把模型高效部署在 GPU 上,并向上层(中间层/前端)提供标准化 API 进行推理调用。
在开源推理引擎里,SGLang 的性能处于领先水平;同时我们复现了 DeepSeek 公布的吞吐指标,并在多家合作中实现了大规模稳定部署。

发展历程与特性概览

  • 早期版本(2023 → 2024 初):实现 前缀 KV cache 共享,显著优化多轮对话场景。
  • v0.2:在 Llama-3 上的实测性能优于同类方案(如 vLLM、TensorRT-LLM)。
  • v0.3 / v0.4:加入多项核心优化:
    • DeepSeek MLA(Multi-Head Latent Attention)相关的内核与调度优化(首次支持与加速)。
    • Zero-overhead batch scheduling(零额外开销的批调度)
    • Cache-aware Data Parallel(DP)
    • Router/调度 优化
    • XGrammar 深度集成的 Constrained Decoding(约束解码)
  • 2024 年中:首个完全开源、同时支持 大规模专家并行(MoE/EP)Prefill/Decode 分离(PD 分离) 的推理引擎;吞吐可达传统纯数据切分方案的多倍提升,并显著降低推理成本。

核心优化技术

  1. Speculative Decoding(猜测式解码)
    以小模型或外部检索先生成候选 token,大模型做 rejection sampling 验证;在 EAGLE/EAGLE2/EAGLE3 与 MTP(Multi-Token Prediction) 下,可获得 约 1.6–2.4× 加速(随 batch size 变化)。
  2. Constrained Decoding(约束解码)
    需要输出结构化格式(如 JSON)时,配合 XGrammarGPU/CPU overlap,在采样阶段屏蔽不合法 token,仅在合法集合内采样,实现几乎零开销的格式约束。
  3. PD 分离(Prefill / Decode Separation)
    prefilldecode 运行在不同实例:
    • 改善 streaming 输出 的连贯性,避免 decode 被长上下文 prefill 打断。
    • 缓解 DP attention group 的不平衡问题。
    • 解决与 EP(Expert Parallel) 模式共存时的调度/通信冲突。
  4. 大规模专家并行(MoE / EP)
    • Dense 层DP(Data Parallel),简化通信与扩展;
    • MoE 层按专家跨 GPU 分布,每次只激活少量专家,提升可扩展性;
    • 通过 two-batch overlap(计算-通信重叠) 优化,把通信内核与计算内核的 launch 顺序编排好,减少气泡;
    • 在图级调度中插入“标记算子”定义 stage 边界,交错推进,实现稳定的 overlap。

PD 分离的架构与时序(简述)

  • 入口(Entry Point/LB) 在请求到达时一次性选择一对 Prefill 实例Decode 实例(绑定为固定的 PD pair)。
  • Handshake 交换元数据 → 在 Decode 侧预留 KV cache 显存(加锁占位) → Prefill forward → KV cache 传输 → Decode forward → 流式返回给入口。
  • 这样 路由逻辑与计算逻辑解耦,streaming 体验稳定,延迟更可控。

负载均衡与专家调度(EPLB)

  • MoE 下专家选择会出现热点专家,SGLang 提供 EPLB(Expert Parallel Load Balancer):周期性评估负载并调整专家副本/权重分布;必要时做 peer-to-peer 权重同步,使请求在专家间更均衡。

性能表现(概览)

  • 在新一代 GPU(如 H100)上,SGLang 的 prefill 吞吐可提升至多数倍decode 吞吐可达 5–6×(对比传统 TP-only 方案,具体取决于模型、batch 与并行度设置)。
  • 通过减少单卡模型与 KV cache 占用、增大有效 batch size,进一步提升 throughput 与资源效率。

社区与生态

  • 我们在旧金山成立了 非营利基金会,核心开发者多为兼职(学生/在职工程师)。
  • SGLang 已在海内外多家团队中落地,形成了活跃的开源生态;欢迎大家参与贡献、提需求、提 PR,一起把开源推理栈做强。

总结
SGLang 通过 系统级优化 + 分布式并行 + 约束/猜测式解码,在开源推理引擎中实现了高吞吐、低延迟与强扩展能力。期待与更多开发者合作共建。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到