← → 翻页 / 逐步展示 · ESC 索引
vLLM Academy · 2026
Deep Dive · 01 / 12

A Hands-On Course

vLLM

Deep Dive

从 nano-vllm 到生产级推理引擎
10 章 · 完整拆解 LLM Serving 核心机制

vLLM Deep Dive · From nano-vllm to Production
2026
Overview · 概览
Act I · 02 / 12

Why vLLM Matters

高性能 LLM 推理引擎

vLLM 是当前最主流的开源 LLM serving 框架,通过 PagedAttentionContinuous Batching 实现了接近理论极限的 GPU 利用率。

本课程从一个 ~2000 行的最小实现 nano-vllm 出发,逐层映射到生产级 vLLM 代码库,让你真正理解每一个设计决策。

"先看懂 2000 行,再读懂 20 万行。"

— nano-vllm 学习方法论

10
章节
~2K
nano-vllm 行数
200K+
vLLM 生产代码
Overview · 概览
— · —
Architecture · 架构
Act I · 03 / 12

Chapter 01

架构总览

LLMEngine 是一切的起点

请求到达
01
Request Arrival
用户请求进入引擎
调度
02
Scheduling
决定哪些请求本轮执行
执行
03
Model Execution
GPU 前向推理
采样
04
Sampling
logits → token
输出
05
Output
流式返回结果
Ch.1 Architecture Overview
— · —
Core · 核心机制
Act II · 04 / 12

Chapters 02–03

调度与连续批处理

请求状态机

每个推理请求经历 WAITING → RUNNING → FINISHED 的完整生命周期,调度器在每一步决定谁上 GPU。

Continuous Batching

不再等一批请求全部完成才开始下一批。新请求随时插入,完成的请求随时退出,GPU 利用率大幅提升。

Prefill vs Decode

Prefill 处理完整 prompt(计算密集),Decode 逐 token 生成(内存密集)。调度器需要平衡两种工作负载。

Chunked Prefill

生产 vLLM 将长 prompt 切块,与 decode 请求混合调度,避免长 prompt 独占 GPU 导致其他请求饿死。

Ch.2–3 Sequence State & Scheduling
— · —
Core · 核心机制
Act II · 05 / 12

Chapter 04 · The Key Innovation

Paged
Attention

借鉴操作系统虚拟内存的思想
用分页管理 KV Cache,彻底解决显存碎片化

Ch.4 KV Cache & Block Management
2026
Memory · 内存管理
Act II · 06 / 12

Block-Level Memory

KV Cache 分页管理

01

Block Table

逻辑块 → 物理块的映射表。每个序列维护自己的 block table,物理块可以在序列间共享。

02

Prefix Caching

基于 hash 的块级缓存。相同 prompt 前缀的请求可以复用已计算的 KV cache 块,跳过重复计算。

03

LRU Eviction

当显存不足时,按 LRU 策略淘汰最久未使用的缓存块。被淘汰的块可以在需要时重新计算。

Ch.4 Block Management
— · —
Execution · 执行层
Act III · 07 / 12

Chapters 05–06

注意力机制与模型架构

Attention 三阶段

KV Cache Write(Triton kernel 写入缓存)→ Prefill Attention(FlashAttention 变长批处理)→ Decode Attention(Paged 读取散布的块)

Transformer 解码层

以 Qwen3 为参考:融合 QKV 投影、SwiGLU 激活、RMSNorm + 残差融合、RoPE 位置编码。每一层都有对应的性能优化。

可插拔后端

FlashAttention、FlashInfer、Triton — 不同硬件选择不同的 attention 实现,统一接口无缝切换。

Pre-norm Residual Pattern:
x + Attn(Norm(x))
x + FFN(Norm(x))

— Transformer Decoder Layer

Ch.5–6 Attention & Model Architecture
— · —
Scale · 分布式
Act III · 08 / 12

Chapter 07

张量并行

把模型权重切分到多块 GPU,用 All-Reduce 同步

Col

列并行

权重矩阵按列切分,每块 GPU 计算部分输出。QKV 投影、Gate/Up 投影都用列并行。

Row

行并行

权重矩阵按行切分,每块 GPU 处理部分输入。Down 投影、O 投影用行并行,输出做 All-Reduce 聚合。

AR

All-Reduce

NCCL 通信原语。每层只需一次 All-Reduce,通信开销可控。多节点通过 Ray 扩展。

Ch.7 Tensor Parallelism
— · —
Performance · 性能
Act IV · 09 / 12

Chapters 08–09

CUDA Graphs 与采样

CUDA Graph 加速

Decode 阶段每步只处理 1 个 token,kernel launch 开销占比极高。CUDA Graph 将整个计算图录制后重放,消除 launch 延迟。

Warmup Profiling

启动时用 dummy 数据跑一遍,测量 KV cache 可用显存,按 power-of-2 batch size 预录制 CUDA Graph。

采样流水线

Temperature → Top-k → Top-p → 惩罚项(repetition / frequency / presence)→ Gumbel-max 采样。每一步都是可组合的 logits 处理器。

高级采样

Guided Decoding(结构化输出)、Speculative Decoding(EAGLE / Medusa 草稿模型加速)— 在不牺牲质量的前提下提升吞吐。

Ch.8–9 Model Runner & Sampling
— · —
Loading · 加载
Act IV · 10 / 12

Chapter 10 · The Last Mile

权重加载

Weight Loader 协议

控制反转设计 — 框架遍历 safetensors 文件,每个 tensor 调用对应 layer 的 weight_loader 方法,由 layer 自己决定如何切分和放置。

Packed Modules

QKV 三个投影矩阵打包成一个 tensor,Gate 和 Up 投影也打包。加载时按 shard 偏移量精确切分到对应位置。

量化支持

FP8、GPTQ、AWQ、BitsAndBytes — 量化方法通过 Loader 工厂模式注入,对模型代码完全透明。

Safetensors 格式:
零拷贝 mmap 加载
无 pickle 安全风险
支持分片并行读取

— HuggingFace Standard

Ch.10 Weight Loading
— · —
Roadmap · 路线图
Act V · 11 / 12

Full Curriculum

课程全景

Act I · 基础

Ch.1 Architecture Overview
Ch.2 Sequence & Request State

Act II · 核心

Ch.3 Scheduling & Continuous Batching
Ch.4 KV Cache & Block Management
Ch.5 Attention Mechanism

Act III · 模型

Ch.6 Model Architecture
Ch.7 Tensor Parallelism

Act IV · 运行时

Ch.8 Model Runner & CUDA Graphs
Ch.9 Sampling & Decoding
Ch.10 Weight Loading

10 Chapters · 4 Acts
— · —
vLLM Academy · 2026
Fin · 12 / 12

Start Learning

Deep
Dive

从第一行代码开始
理解 LLM 推理引擎的每一个齿轮

github.com/GeeeekExplorer/nano-vllm → github.com/vllm-project/vllm

vLLM Deep Dive · From nano-vllm to Production
Thank You