Skip to content

从零实现 LLM 推理引擎20步学懂 vLLM 核心原理

从 Tokenizer 到 PagedAttention 到 HTTP 服务——每步可运行的代码 + ASCII 图解

为什么写这个教程?

vLLM 是目前最主流的 LLM 推理引擎之一,但它的代码量超过 10 万行,直接阅读源码门槛很高。

这个教程用 20 步把 vLLM 的核心原理拆解成可独立运行的最小实现:每步只加一个概念,代码量控制在几百行以内,配合 ASCII 图解和对比实验,让你真正理解每个优化为什么有效

学习路线

阶段章节核心问题
基础概念step01–04Token → Embedding → Attention → Transformer
朴素推理step05–06自回归生成 + 采样策略
KV Cachestep07–08O(n²) → O(n),Static Batching
调度step09–11Continuous Batching → Chunked Prefill → Preemption
PagedAttentionstep12–14分页内存 + 前缀缓存
高性能内核step15–16FlashAttention + CUDA Graph
分布式step17Tensor Parallelism
工程落地step18–20Benchmark + Real Model + HTTP 服务

快速开始

bash
# 安装依赖(CPU 版,前 8 步够用)
pip install -r requirements-cpu.txt

# 从第一步开始
cd step01_tokenizer
python run.py

与 nano-vllm 的关系

本项目是 nano-vllm 的教学版本:

  • nano-vllm:生产就绪,~1400 tok/s,代码精简但跳跃
  • mini-vllm-tutorial:教学优先,每步增量清晰,注释详尽