地基:Transformer + PyTorch + GPU 常识
能看懂模型代码,知道 GPU 在跑什么
目标:Transformer 结构(Attention / 多头 / RoPE 位置编码)、PyTorch 张量与 torch.compile、GPU 极简认知(HBM/SRAM、SM/warp、kernel launch 开销)。
- YouTubeKarpathy《Neural Networks: Zero to Hero》
从反向传播到 GPT 全手写;重点看 "Let's build GPT"。b 站有搬运。
- ManningBuild a Large Language Model (From Scratch) — Sebastian Raschka
动手党圣经;有 Datawhale 开源中文版(llms-from-scratch-cn)。
- StanfordCS336《Language Modeling from Scratch》第 1-4 讲
YouTube 免费录像;Datawhale 有中文版 diy-llm。
- 知乎nano-vllm 学习路线 · 阶段 0 前置知识
Transformer 速成 / torch.compile / CUDA 入门全套中文链接汇编。
推理的本质:Prefill / Decode / KV Cache
理解「为什么需要推理框架」
目标:两阶段的计算量与访存量差异(Prefill 算力密集、Decode 带宽密集)、KV Cache 从零推导、朴素实现 vs 框架实现的差距。产出:手写 30 行 toy 推理循环,亲眼看到 KV Cache 省了多少计算。
- 知乎nano-vllm 学习路线 · 阶段 1(推理本质)
KV Cache 全流程图解 / prefill-decode 量化分析 / 分离式架构解读。
- 知乎大模型推理加速云台 28 将(知乎专栏)
推理背景 + 优化技术点汇总,配调研文章,适合反复查阅。
- YouTubeKarpathy: Let's reproduce GPT-2 (124M)
复现 GPT-2 全过程,含推理阶段的工程细节。
跑起来:部署一个真实引擎
亲手把 vLLM 和 llama.cpp 跑起来,建立体感
目标:Ollama 5 分钟跑通本地模型;vLLM 起 OpenAI 兼容服务并对比关键参数;llama.cpp 感受 GGUF 量化前后差异;用 vllm bench 实测一轮吞吐。产出:一张自己实测的「引擎 × 量化 × 并发」小表格。
- 官方文档vLLM 官方文档 Quickstart
安装 / 离线推理 / 服务启动 / 关键参数,第一手来源。
- 中文站vLLM 中文博客(入门教程)
vLLM 相关中文教程与博客聚合。
- GitHubllama.cpp
CPU/边缘推理事实标准,GGUF 量化格式的出处。
- 官方Ollama
零门槛本地模型入口,只当体验工具。
系统层机制:调度与显存 ⭐ 核心
彻底搞懂 Continuous Batching 和 PagedAttention —— 推理引擎的灵魂
目标:Continuous Batching(为什么 static batching 浪费、迭代级调度、Chunked Prefill)、PagedAttention(KV 分块、block table、与操作系统虚拟内存的类比)、vLLM Scheduler 与 Sequence 状态机、抢占机制。产出:手搓 200 行简化 scheduler。
- 论文Orca: A Distributed Serving System for Transformer-Based Generative Models(OSDI 2022)
Continuous Batching 的出处,推理引擎的第一块基石。
- 论文Efficient Memory Management for LLM Serving with PagedAttention(SOSP 2023)
vLLM 核心论文:把 KV Cache 切成 block,像操作系统管内存一样管显存。
- 知乎nano-vllm 学习路线 · 阶段 3-4(调度器 + 显存管理)
Continuous Batching 原理 / Scheduler 源码 / BlockManager 中文详解全套。
- 知乎图解大模型计算加速系列:vLLM 源码解析(整体架构)
图解系列,从架构到调度到 PagedAttention,中文最优 vLLM 源码解读。
算子层优化:Attention 内核 ⭐ 分水岭
理解 FlashAttention 为什么快,能用 Triton 写 kernel
目标:FlashAttention v1/v2/v3(IO-aware、tiling、online-softmax、重计算)、Triton 写 kernel(softmax → attention → FlashAttention 手写一遍)、CUDA Graph(为什么只对 decode 用)、算子融合。产出:用 Triton 手写 FlashAttention-2 并与 torch 原生对比。
- 论文FlashAttention(NeurIPS 2022)
IO-aware attention,一切 attention 优化的起点。
- 论文FlashAttention-2(2023)
内外循环交换 + 更好的并行切分。
- 论文FlashAttention-3(2024)
异步 + 低精度,Hopper 时代的 FA。
- 知乎nano-vllm 学习路线 · 阶段 6 + 8(FlashAttention / Triton / CUDA Graph)
万字长文详解 FA v1/v2/v3、Triton 手写 FlashAttention 教程、CUDA Graph 在 LLM 推理中的应用。
- 课程MIT 6.5940《TinyML and Efficient AI Computing》(Han Lab)
FlashAttention 与量化章节顶级,YouTube 全免费。
量化:把模型塞进显存
在精度-速度-显存之间做取舍
目标:W8A8 / W4A16 / FP8 含义、per-tensor/per-channel、GPTQ / AWQ / SmoothQuant / GGUF k-quants。实操:llama.cpp -q4_k_m 与 vLLM --quantization awq 各跑一遍对比。产出:lm-evaluation-harness 测 FP16 vs INT4 精度差。
- 论文GPTQ(2023)
经典后训练量化:逐层最小化重建误差。
- 论文AWQ(MLSys 2024)
激活感知权重量化,vLLM/LMDeploy 默认方案之一。
- 论文SmoothQuant(ICML 2023)
激活平滑,W8A8 路线的基础。
- GitHubLMDeploy(AWQ / TurboMind)
国内生态,量化部署中文文档好,备选引擎。
多卡分布式:并行与通信
大模型怎么在多卡上跑起来
目标:张量并行(Column/Row Parallel、切分策略、通信开销)、流水线并行与序列并行概念、NCCL 原语(all-reduce / all-gather)、前沿 PD 分离。产出:vLLM 单卡 vs 2 卡 TP 的吞吐对比实验。
- 知乎nano-vllm 学习路线 · 阶段 9(张量并行 + NCCL)
Column/Row Parallel 图解、NCCL 原语与拓扑详解全套中文。
- 论文DistServe: Disaggregating Prefill and Decoding(OSDI 2024)
PD 分离代表作:prefill 与 decode 分开调度,goodput 最优。
- 论文Splitwise(ISCA 2024)
阶段拆分:prefill 卡与 decode 卡异构部署。
高级解码:投机解码与结构化生成
Decode 阶段的「外挂」加速法
目标:Speculative Decoding(小模型 draft + 大模型 verify)、Medusa / EAGLE、SGLang RadixAttention(KV 跨请求复用)、约束解码 / JSON mode。产出:vLLM 开关投机解码的加速比实测。
- 论文Fast Inference from Transformers via Speculative Decoding(ICML 2023)
投机解码开山之作。
- 论文Medusa(2023)
多头草稿:省掉 draft model。
- 论文EAGLE(2024)
特征级草稿,目前开源侧效果最好的方案之一。
- 论文SGLang: Efficient Execution of Structured Language Model Programs(NeurIPS 2024)
RadixAttention:KV Cache 前缀树复用,多轮对话/agent 场景利器。
源码精读 + 造轮子 ⭐ 毕业设计
能给别人讲清楚 vLLM 的架构,能改源码
目标:精读 vLLM(架构 → Scheduler → BlockManager → 模型加载 → 多进程 V1 架构);造轮子二选一(nano-vllm:1200 行 Python 复刻核心;nanoGPT-inference:逐步加速教程);横向对比 vLLM / SGLang / TensorRT-LLM 设计取舍。产出:给 vLLM 提一个 PR,或写一篇架构解析博客。
- GitHubvllm-project/vllm
主攻对象,精读源码。注意锁版本:V0→V1 多进程架构重构过。
- GitHubsgl-project/sglang
第二精读对象:RadixAttention 与结构化生成。
- GitHubNVIDIA/TensorRT-LLM
理解「编译式」路线:重编译、fused kernel、激进量化。别拿来入门。
- GitHubFlashInfer
vLLM/SGLang 底层的 attention kernel 库,内核进阶必看。
- 知乎vLLM 大模型推理开发交付者学习指南(知乎)
学习路径 + 必备技能清单,面向推理开发交付岗。
- 阿里云vLLM 架构学习指南(阿里云开发者社区)
系统架构 + PagedAttention 详解 + 完整学习路径。
- 博客nanoGPT-inference(pieter.ai)
逐步加速 LLM 推理的教程,每步一个可运行版本。
- 论文DeepSeek-V2 / MLA(2024)
Multi-head Latent Attention:把 KV Cache 压到 1/16,推理架构新方向。
书籍 (英文两本核心,中文靠开源教程)
Build a Large Language Model (From Scratch)
AI Engineering
Inference Engineering(交互式)
课程 (免费,质量天花板)
Karpathy《Neural Networks: Zero to Hero》+ llm.c
Stanford CS336《Language Modeling from Scratch》
MIT 6.5940《TinyML / Efficient AI Computing》
The LLM Course(mlabonne)+ HuggingFace LLM Course
B 站 vLLM 原理详解系列(中文)
论文精读清单 (按主题分组)
▸ 必读 · 建议按顺序,每篇读 Abstract + 方法 + 实验结论
▸ 选读 · 量化
▸ 选读 · 投机解码进阶
▸ 选读 · PD 分离与单卡极限
▸ 选读 · 新架构
开源引擎地图
中文资源总表 (一站式)
避坑指南
- 别从 TensorRT-LLM 入门它封闭、重编译、调试地狱;先 vLLM 建立全局观,再回头看会秒懂。
- 别只看不写每个阶段配一个动手产出(路线里已列),尤其阶段 3 的 toy scheduler 和阶段 4 的 Triton kernel。
- 源码 > 博客博客讲思路,细节全在源码;vLLM 的 scheduler.py 和 block_manager 值得逐行读。
- 跟着版本走vLLM 每年大版本重构(V0→V1 多进程架构),看源码务必锁版本,别拿 V0 的博客套 V1 的代码。
- 量化先跑通再深挖别一上来啃 GPTQ 数学,先用 llama.cpp -q4 感受效果,再读论文。
- 关注一手信息源vLLM blog、SGLang blog、NVIDIA 技术博客、MLSys/OSDI/SOSP 论文、Hacker News。
- 中文书谨慎买买前看目录有没有 Prefill/Decode、PagedAttention、Continuous Batching——没有就是过时书。
最短路径 (时间紧张只做这些)
- 看 nano-vllm 学习路线全文半天,建立地图。
- Karpathy《Let's build GPT》+ Raschka 书第 7 章1 周,动手写推理。
- 读 Orca + PagedAttention 两篇论文,对照 vLLM 源码 scheduler1 周。
- 用 Triton 手写 FlashAttention-21 周。
- 跑通 nano-vllm / nanoGPT-inference,给 vLLM 提第一个 PR2 周。
- 之后按兴趣往量化 / 分布式 / 投机解码深钻持续。