技巧精选78°

从零手搓 SGLang 的开源课程

[开源推荐] 从零手搓 SGLang Datawhale 和 RadixArk(SGLang)联合发起的开源课程:先建立 LLM 推理的概念体系,再从零手搓一个 mini-sglang,最后对照真实...

精选理由

Datawhale 和 RadixArk 联合发起的开源课程,教你从零手搓 mini-sglang,最后能对照真实 SGLang 源码提 PR,适合想深入了解 LLM 推理引擎的人。

Datawhale 和 RadixArk 联合发起的开源课程,先建立 LLM 推理的概念体系,再从零手搓一个 mini-sglang,最后对照真实 SGLang 源码吃透前沿优化,直至走通给 SGLang 提 PR 的全流程。课程包含编码伦理、部署服务、LLM 推理概念、手搓 mini-sglang 和前沿优化等部分,由 SGLang 官方成员编写,旨在将学习者转化为 SGLang 的贡献者。

原文 · shao__meng

[开源推荐] 从零手搓 SGLang Datawhale 和 RadixArk(SGLang)联合发起的开源课程:先建立 LLM 推理的概念体系,再从零手搓一个 mini-sglang,最后对照真实...

[开源推荐] 从零手搓 SGLang Datawhale 和 RadixArk(SGLang)联合发起的开源课程:先建立 LLM 推理的概念体系,再从零手搓一个 mini-sglang,最后对照真实 SGLang 源码吃透前沿优化,直至走通给 SGLang 提 PR 的全流程。 github.com/datawhalechina… # 课程结构:四个 Part 的设计逻辑 Part 0 - 编码伦理与开源精神;部署第一个 SGLang 服务 先立规矩再讲技术,这个安排很罕见也很有态度 Part I - LLM/推理/GPU/KV Cache/Benchmark 五章概念 零代码零 GPU 门槛,建立 prefill vs decode、compute-bound vs memory-bound、Roofline model 的认知底座 Part II - 十章手搓 mini-sglang 课程核心,「正确性 → 效率 → 服务化 → 调度 → 内存管理 → 扩展」的递进顺序 Part III - Attention 后端、量化、分层缓存、DP Attention/EP/PP、PD 分离 进入真实 SGLang 源码,摸前沿优化 Part IV - Cookbook 部署、Profiling 与 Trace、PR 工作流 最终目标是把学习者转化为 SGLang 的贡献者 # 项目亮点 1. 进阶部分(Part III 的 Attention Backends、量化、分层缓存、PD 分离,以及 Part IV 的 Profiling 与 PR 工作流)由 SGLang 官方成员( @YichiZ03 、fcranzhou)亲自编写。市面上讲推理引擎的中文系统教程本就稀缺,由框架作者团队下场写教学项目的,非常难得。 2. 大模型竞争的重心正从训练转向推理:同样的卡,好的推理引擎能多扛几倍请求。KV Cache、Continuous Batching、Paged Attention、投机解码这些技术名词流传很广,但「从第一行代码开始自己实现一遍」的路径几乎没有。这门课的解法是典型的「手搓式学习」:前向生成 → KV Cache → HTTP 服务 → 调度器 → 分页内存 → RadixAttention,每章加一个能力,参照实现放在官方仓库 sgl-project/mini-sglang。 # 抽读后的评价 · 概念讲得透且有定量分析。比如讲训练与推理的成本差异时,用 8B 模型实际算出训练一次约 7.7×10²¹ FLOPs ≈ 90 张 H100 一天,再对比推理的边际成本,让「为什么推理优化是核心命题」落在数字上而非口号上;讲 prefill/decode 特性差异时配合 Roofline model 定位瓶颈。 · 教学设计成熟。每章固定「引言 → 学习目标 → 正文」,章与章之间有明确的承接关系(第 1 章结尾预告第 2 章沿真实代码追踪请求流转);手搓部分先把「模型调用」与「推理引擎」的区别讲清(模型负责神经网络计算,引擎负责组织这些计算),再引入 Req/Batch/Context 等对象和控制路径/数据路径的区分。 · 配套工程规范。有统一写作模板和 CI 脚本(check_chapters.py)自动检查章节结构、缩进、图片格式,中英文双轨同步,VitePress 在线阅读站点自动部署。这种规范化程度在教育类开源项目里少见。 # 一个特别的亮点:Part 0.1 的编码伦理章 它反映了 SGLang 维护者的真实社区经验,观点相当鲜明: · 反对 AI slop 式贡献:不反对用 AI 写代码,但要求「作者自己认真读过、知道它为什么这么写」,因为 AI 让写 500 行代码从一下午变成 30 秒,但 reviewer 阅读的成本没有变,这是隐形的责任转嫁; · Profile 永远是第一步:先测真实负载下目标代码占多少耗时,「这一小时能帮你省下两个星期」,性能 PR 必须带前后对比、可复现命令和 profile 证据三样东西; · 明确的价值观:「不欢迎把开源当刷简历工具的人。问题不在动机里有简历,在把手段和目的搞反」。 Yichi Zhang @YichiZ03 zero-to-sglang new chapters are out! 📖 Want to read inference engine source code but don’t know where to start? We’ve just added two chapters to zero-to-sglang, the open-source AI Infra course from SGLang × Datawhale: 📖 2.1 — mini-sglang: What an Inference Engine Looks Like 📖 2.2 — The Journey of a Request + Code Walkthrough Find us on GitHub: datawhalechina/zero-to-sglang #SGLang L #LLMInference e #AIInfra n #OpenSource u #LLM #LLM 🔗 View Quoted Tweet 💬 2 🔄 1 ❤️ 3 👀 756 📊 3 ⚡