📖 什么是 PagedAttention?

PagedAttention 是 vLLM 的核心创新,灵感来自操作系统的虚拟内存分页机制。它解决了 LLM 推理中的内存瓶颈问题。

🎯 解决的问题

传统 KV Cache 的痛点:

  • 内存碎片 - 预分配连续内存,大量碎片浪费
  • 静态分配 - 无法动态调整,浪费严重
  • 无法共享 - 相同前缀无法复用
  • 效率低下 - 内存利用率仅 20-40%

⚡ 工作原理

PagedAttention 将 KV Cache 分成固定大小的"页":

┌─────────────────────────────────────┐
│ GPU Memory (Blocks) │
├─────┬─────┬─────┬─────┬─────┬───────┤
│ B0 │ B1 │ B2 │ B3 │ B4 │ ... │
└─────┴─────┴─────┴─────┴─────┴───────┘
↓ ↓ ↓
┌─────┬─────┬─────┐
│ Seq1│ Seq1│ Seq1│ ← 序列1的逻辑块
└─────┴─────┴─────┘
┌─────┬─────┐
│ Seq2│ Seq2│ ← 序列2的逻辑块
└─────┴─────┘

📊 核心优势

特性优势
按需分配只分配需要的页,零浪费
消除碎片页式管理,无内存碎片
内存共享相同前缀共享物理页
高效利用内存利用率接近 100%

🔄 内存共享示例

# 两个请求有相同前缀
Request 1: "请翻译以下内容:Hello World"
Request 2: "请翻译以下内容:Good Morning"

# 共享部分
共享前缀: "请翻译以下内容:" → 只存一份
独立部分: "Hello World" / "Good Morning"

📈 性能提升

  • 吞吐量 - 提升 2-4x
  • 内存效率 - 从 20-40% 提升到接近 100%
  • 并发能力 - 可服务更多并发请求
  • 延迟稳定 - 减少 P99 延迟波动
上一页:安装部署下一页:API 服务