← 返回题库
推理与部署困难

vLLM 的 PagedAttention 原理是什么?

#PagedAttention#KV Cache 分页#显存碎片#吞吐优化

题目

vLLM 凭 PagedAttention 成为生产环境大模型推理首选方案,请说明其原理及解决的痛点。

参考答案

痛点:传统推理中,每个请求的 KV Cache 需连续预分配最大长度显存,导致两类浪费——

  1. 内部碎片:预分配按最大长度,实际生成短则大量闲置。
  2. 外部碎片:请求来去频繁,显存被切成碎片,新请求可能放不下。

实测显存利用率常低于 30%,严重限制吞吐。

PagedAttention 原理(借鉴操作系统虚拟内存分页):

  • 将 KV Cache 切分为固定大小的 block(块),每块存若干 token 的 K/V。
  • 每个请求维护一张 block table(块表),逻辑上连续的 token 序列在物理显存上可离散分布。
  • 按需分配块,生成到哪分配到哪,无需预申请最大长度。
  • 请求结束后块立即回收复用。

带来的收益

  • 显存利用率从 ~30% 提升到 近乎 100%
  • 支持更高并发,同等显存下吞吐提升数倍。
  • 天然支持 Continuous Batching(连续批处理):不同请求可动态加入/退出同一 batch,无需等待。

面试加分点

  • 对比 TensorRT-LLM:TRT-LLM 用 in-flight batching + 显式管理,PagedAttention 用分页,思路不同。
  • PagedAttention 的注意力计算需在 kernel 内按块表索引,实现上是自定义 CUDA kernel。
  • vLLM 还支持 prefix caching(共享系统提示词的 KV),进一步省算力。

出处:vLLM 实战文章、推理部署面试题(CSDN《大模型最新面试题系列:模型部署》)。

内容来源

整理自 vLLM 实战文章与推理部署面经

本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。