Ai! Jack!v2026.04.01-f12
← 홈GitHub 라이징

datawhalechina/zero-to-sglang

원문 보기
★ 50036 forksPython중국

AI 분석

•mini-sglang을 직접 만들며 배우는 LLM 추론 엔진 튜토리얼 → 구현부터 실제 SGLang 소스 분석까지 연결
•개념 설명에 그치지 않고 KV Cache·Continuous Batching·RadixAttention을 단계적으로 구현하는 구성이 강점
•Python·PyTorch 기초 필요, 전체 구현과 성능 검증에는 GPU 사용 권장

面向大模型开发者的 SGLang 系统化开源教程:从推理基础与环境搭建开始,逐步学习模型部署、结构化生成、服务开发和性能优化, 结合实战案例带你从 0 到 1 掌握 SGLang,构建高性能 LLM 推理应用

검증 정보

출처
github.com
피드
GitHub 라이징
수집/분석 기준
2026. 9. 8. 오전 9:00
원문 확인
원문 열기

본문

zero-to-sglang

📚 《从零手搓SGLang》

A hands-on tutorial on LLM inference: build a mini-sglang from scratch, then read the real SGLang source.

从推理的本质出发,手搓一个 mini-sglang,再吃透真实 SGLang 的源码

Datawhale × RadixArk


## 🎯 项目介绍

  大模型已经从「训练」卷到「推理」了。应用爆发之后,推理成本和延迟成了真正的瓶颈:同样一块卡,好的推理引擎能多扛好几倍的请求。但市面上讲推理引擎的教程不多,要么只讲概念不动手,要么直接让你啃 SGLang 源码,从哪儿下手都不知道。

  这门课想补上这个缺口。前半部分,我们从推理最核心的问题讲起:KV Cache 为什么要有、prefill 和 decode 差在哪、compute-bound 和 memory-bound 到底是什么意思。中间部分,带着你从零手搓一个 mini-sglang:前向、生成、KV Cache、HTTP 服务、Continuous Batching、Paged KV Cache、RadixAttention,一样一样加上去。后半部分,回到真实的 SGLang,讲清楚它那些前沿优化具体是怎么做的,最后教你怎么给 SGLang 提第一个像样的 PR。

  本项目由 Datawhale 和 RadixArk(SGLang 团队创立的公司)共同发起,值得信赖!SGLang 在推理框架领域技术扎实、迭代活跃,认可这个项目的话,欢迎去 [sglang官方仓库](https://github.com/sgl-project/sglang) 点个 ⭐。

## ✨ 你能学到什么

•📖 读懂推理:KV Cache、prefill/decode、compute-bound vs memory-bound,这些概念到底在说什么
•🏗️ 手搓引擎:从 0 到 1 写出一个 mini-sglang,每一步都落在代码上
•🛠️ 看懂真实引擎:RadixAttention、Paged KV Cache、Continuous Batching 这些 SGLang 核心是怎么实现的
•⚙️ 摸到前沿:量化、分层缓存、DP Attention / EP / PP、Prefill-Decode 分离
•🚀 参与开源:学会 profiling 和 trace 分析,走通 SGLang 的 PR 全流程

## 📋 前置要求

•Python 编程:熟练使用 Python,有基本的软件工程习惯
•深度学习基础:熟悉 PyTorch,了解神经网络的基本原理
•数学基础:线性代数、概率统计,知道矩阵运算和注意力机制的大致计算即可
•GPU 编程(可选):了解 CUDA 基础概念会更好,不懂也没关系,Part I 会从零补齐
•硬件(可选):Part I 不需要 GPU;Part II 大部分内容能在 CPU 上调试,完整的实现和性能测试建议用 GPU(云服务也行)

## 🔗 相关链接

•仓库地址:https://github.com/datawhalechina/zero-to-sglang
•SGLang 官方:https://github.com/sgl-project/sglang
•mini-sglang 参考实现:https://github.com/sgl-project/mini-sglang

## 📖 课程目录

状态图例:✅ 已完成 🔄 更新中 📝 待完善 🚧 筹备中 ⏸️ 暂缓

>

标注 粗体 的章节由 SGLang 官方成员编写。
章节关键内容状态
Part 0 — 开课之前
[0.1 Coding Ethics and Open-Source Spirit(编码伦理与开源精神)](course-material/ch/part0/Part0-编码伦理与开源精神.md)对自己代码负责、沟通时说人话、Profile 永远是第一步、开源精神✅
[0.2 Deploy Your First SGLang Server(部署你的第一个 SGLang 服务)](course-material/ch/part0/Part0-部署你的第一个SGLang服务.md)环境设置,在你自己的 GPU 上用 SGLang 跑起 Qwen3-0.6B✅
Part I — 基础概念(concepts only,无代码、无 GPU)
[1. Introduction to LLM](course-material/ch/part1/第1章_LLM入门.md)LLM 的定义与发展脉络、Transformer 架构、自回归生成、关键基础概念✅
[2. Introduction to inference](course-material/ch/part1/第2章_推理入门.md)训练 vs 推理、prefill/decode、compute-bound vs memory-bound、Roofline model✅
3. Introduction to GPUGPU 架构基础、LLM 推理在 GPU 上的执行流程、从硬件理解推理瓶颈🔄
[4. KV Cache: The Core Data Structure of Inference](course-material/ch/part1/第4章_推理的核心数据结构入门.md)从 Attention 推导 KV Cache、cache 生命周期、显存占用定量分析✅
[5. Introduction to Benchmark](course-material/ch/part1/第5章_Benchmark入门.md)TTFT / TPOT / ITL / Goodput 等核心指标、百分位与尾延迟、怎么设计/跑/读 benchmark🔄
Part II — 从零手搓 Mini SGL
1. mini-sglang:推理引擎长什么样推理引擎的总体架构、模块划分、本部分的 roadmap📝
2. Inside SGLang: The Path of a Request一个请求从进入到返回的完整生命周期🚧
3. Your First 200 Lines: Forward Pass and Generation手写前向传播与自回归生成循环🚧
4. KV Cache: From O(n²) to O(n)缓存实现与注意力计算优化🚧
5. Serving It: HTTP and Concurrent RequestsHTTP 服务化、并发请求处理🚧
6. Continuous Batching and the Scheduler连续批处理与调度器设计🚧
7. Paged KV Cache and Memory Management分页 KV Cache 与显存管理🚧
8. RadixAttention and Prefix CachingRadixAttention 与前缀缓存🚧
9. Multi-process & Tensor Parallelism多进程与张量并行🚧
10. Speculative Decoding投机解码🚧
Part III — 高级推理技术(深入真实 SGLang)
1. Attention Backends(FlashInfer / Triton / FA3 / FlashMLA)and CUDA Graph主流 Attention 后端对比与 CUDA Graph🚧
2. Quantization and Low-Precision Inference量化与低精度推理🚧
3. Hierarchical Caching分层缓存🚧
4. Scaling Out: DP Attention, EP, PP横向扩展:DP Attention / EP / PP🚧
5. Prefill-Decode DisaggregationPrefill-Decode 分离🚧
Part IV — 如何为 SGLang 做贡献(可选)
1. Deploying SGLang with the Cookbook使用 Cookbook 部署 SGLang🚧
2. Measuring It All: Profiling and Trace AnalysisProfiling 与 Trace 分析🚧
3. SGLang PR WorkflowSGLang PR 全流程🚧

## 🗓️ 编写进度

起始日期:2026 年 8 月 24 日(周一)。每章约一周,加粗章节由 SGLang 官方成员编写。

部分时间安排状态
Part 0 — 开课之前已完成✅
Part I — 基础概念8.24 ~ 9.06 编写,9.07 ~ 9.13 review🔄
Part II — 从零手搓 Mini SGL9.14 ~ 10.04 编写,10.05 ~ 10.10 review🚧
Part III — 高级推理技术10.10 ~ 11.15🚧
Part IV — 如何为 SGLang 做贡献11.16 ~ 12.6🚧

## 🚀 快速开始

# 克隆仓库
git clone https://github.com/datawhalechina/zero-to-sglang.git
cd zero-to-sglang
# 安装基础依赖(根据具体章节需求安装)

### 学习路径

1️⃣ 读 Part I,先把推理的整体认知建立起来(不需要 GPU)

2️⃣ 跟着 Part II,从 0 到 1 手搓一个 mini-sglang

3️⃣ 进 Part III,对照真实 SGLang 源码理解前沿优化

4️⃣ 完成 Part IV,走通 profiling、trace 分析和 PR 全流程

### 项目结构

zero-to-sglang/
├── course-material/         # 课程正文
│   ├── ch/                  # 中文(在线阅读 /ch/)
│   │   ├── part0/           # Part 0:开课之前
│   │   ├── part1/           # Part I:基础概念(更新中)
│   │   ├── part2/           # Part II:从零手搓 Mini SGL(规划中)

관련 아이템

datawhalechina/zero-to-sglang — Ai! Jack! — Ai! Jack!