Attention 与推理优化专有名词
程小虎
Attention 与推理优化专有名词
学习目标:理解为什么大模型推理会消耗显存,以及 KV Cache、PagedAttention 等技术如何提升性能。
1. 这一类为什么重要
Agent 经常需要多轮推理、长上下文和工具调用。如果不了解推理优化,就很难解释为什么上下文越长越慢、为什么部署需要大量显存、为什么 vLLM 等框架能提升吞吐。
2. 核心名词详解
| 名词 | 详细说明 | 常见使用场景 |
|---|---|---|
| Query / Key / Value | Attention 机制中的三类向量,Query 用来查询,Key 用来匹配,Value 提供内容。 | 理解 Self-Attention 和 KV Cache。 |
| Self-Attention | 序列中每个 Token 与其他 Token 建立关联的机制。 | 长文本理解、上下文关联、代码依赖理解。 |
| KV Cache | 缓存历史 Token 的 Key/Value,避免生成每个新 Token 时重复计算。 | 加速自回归生成、多轮对话、长文本推理。 |
| PagedAttention | 借鉴操作系统分页思想管理 KV Cache,减少显存碎片。 | vLLM 高吞吐推理服务。 |
| FlashAttention | 优化 Attention 计算和显存访问的算法。 | 提升训练/推理速度,降低显存占用。 |
| Sliding Window Attention | 只关注固定窗口内的上下文,降低长文本计算成本。 | 长上下文模型、流式文本处理。 |
| MQA | Multi-Query Attention,多个 Query 共享 Key/Value。 | 减少 KV Cache 占用,提高推理速度。 |
| GQA | Grouped-Query Attention,介于 MHA 和 MQA 之间的折中方案。 | 现代大模型常用优化结构。 |
| RoPE | Rotary Position Embedding,旋转位置编码。 | 长上下文位置表达、Llama/Qwen 等模型。 |
| Speculative Decoding | 使用小模型先草拟 Token,大模型验证,从而加速生成。 | 低延迟推理服务。 |
| Continuous Batching | 动态把不同请求合并批处理,提高 GPU 利用率。 | 在线大模型服务、高并发推理。 |
3. 使用场景
- 部署 vLLM 时理解 PagedAttention 为什么能提高吞吐。
- 排查显存不足时判断 KV Cache 是否过大。
- 选择模型时关注是否支持 GQA、FlashAttention、长上下文优化。
- 做 Agent 长任务时优化上下文长度和历史消息裁剪。
4. KV Cache 生成流程图
5. 学习建议
KV Cache 是理解推理性能的核心。上下文越长,缓存越大;并发越高,缓存总量越大;显存不足时通常不是模型权重本身,而是 KV Cache 和批处理占用了大量空间。
