解码 · 部署 · 应用模块七 · 解码加速概念约 12 分钟
系统级优化:FlashAttention、PagedAttention
同样的算法,写得更省显存更快
学完这节你能:
- 理解 FlashAttention 为什么快
- 理解 PagedAttention 管理 KV 缓存
- 认识连续批处理
- FlashAttention:不把巨大的 n×n 注意力矩阵写回显存,而是分块在片上高速缓存里算,减少显存读写(IO),又快又省显存,结果精确不变。
- PagedAttention:像操作系统管内存分页一样管理 KV 缓存,按块分配、避免碎片和预留浪费,大幅提高显存利用率(vLLM 的核心)。
- 连续批处理(continuous batching):请求可随时加入/离开同一批,GPU 不空转,吞吐大增。
🔑 这几项都不改数学结果,只改「怎么用硬件」——核心都是减少显存读写/浪费。FlashAttention 省注意力 IO、PagedAttention 省 KV 碎片、连续批处理省空转。
自测FlashAttention 提速省显存的关键在于:
// 带走一句话
系统级优化不改结果只改用硬件方式:FlashAttention(省注意力 IO)、PagedAttention(省 KV 碎片)、连续批处理(省空转)。
独立练习
做到这些,才算完成本节
- 比较标准注意力与分块注意力需要物化的中间矩阵,并写出内存复杂度。
- 用长度差异很大的请求模拟连续批处理,解释静态 padding 浪费来自哪里。
- 合上正文,用自己的话解释核心概念。
- 写出一个相似概念,并说明两者最关键的区别。
学习记录
记录本节阅读进度
建议先独立回答自测。读完记录不等于已经掌握。