datawhalechina/zero-to-sglang
Official SGLang x Datawhale course on LLM inference: understand inference, build a mini-sglang from scratch, then read the real SGLang source and land your first PR. Available in English and Chinese.
zero‑to‑sglang – 构建 LLM 推理引擎的动手教程
简介 – 一个开源、双语(英文和中文)课程,带你了解现代 LLM 推理背后的理论知识与代码实现。课程从基础内容(KV 缓存、预填充 vs 解码、计算密集型 vs 内存密集型瓶颈)入手,然后引导你从零实现一个 mini‑sglang 推理引擎,最后展示真实的 SGLang 项目如何实现 RadixAttention、分页 KV 缓存、连续批处理、分层缓存、量化、分布式注意力等高级技巧。
适合人群 – 具备基本 Python 和 PyTorch 知识、想了解 LLM 如何高效服务的人。第一部分不需要 GPU;后续章节可以在 CPU 上运行,但性能实验建议使用 GPU。
核心学习目标
- 掌握核心推理概念(KV 缓存、预填充/解码、屋顶线模型)。
- 编写一个可用的迷你推理引擎(前向传播、生成、HTTP 服务、调度器)。
- 阅读并理解真实的 SGLang 源代码,包括前沿优化技术。
- 获得性能分析、链路追踪分析以及向活跃开源项目提交 PR 的实用技能。
课程结构
| 部分 | 内容 | 状态 |
|---|---|---|
| 0 – 准备 | 编码规范、首次部署 SGLang 服务器 | ✅ |
| I – 基础 | LLM 基础、推理理论、GPU 入门、KV 缓存、基准测试 | ✅ |
| II – 构建 mini‑sglang | 架构概述、请求流、前向传播、KV 缓存优化、HTTP 与并发、RadixAttention 等 | ✅(大部分章节) – 部分后续章节仍在进行中 |
| III – 高级技术 | 注意力后端、量化、分层缓存、DP/EP/PP 扩展、推测解码 | ✅ 仅分层缓存;其他进行中 |
| IV – 贡献 | 部署手册、性能分析、完整的 PR 流程 | 计划中 |
如何开始
# 克隆仓库
git clone https://github.com/datawhalechina/zero-to-sglang.git
cd zero-to-sglang
# 按照 `course-material/eng/`(英文版)或中文版中的章节指导进行操作
仓库包含 Markdown 课程文件、用于学习者贡献的 community/ 文件夹,以及在线版本的 VitePress 站点配置。
重要性 – 随着 LLM 规模越来越大,推理成本占主导地位。理解和构建高效的推理引擎是一项稀缺技能。本教程弥合了高级概念与生产级代码之间的差距,直接将学习者连接到真实的 SGLang 项目(由 RadixArk 维护),使其能够回馈社区。
许可协议 – 知识共享 署名‑非商业性使用‑相同方式共享 4.0。
相关
- 项目
- Dispatch
- Dispatch
- 项目
- 项目