文章预览
在开始之前,给大家出几个“高频面试题”,可以先思考下: 1. 朴素实现的 KV Cache 为什么会带来显存浪费,用什么方法来解决? 2. 每个请求长度都不一样,如何让它的 KV Cache 做到按需分配? 3. Prefill 和 Decode 两个阶段,Paged Attention 适用于哪个阶段?为什么 前文 图解KV Cache:加速大模型推理的幕后功臣 里最后提到 vLLM 论文里提出的 Paged Attention 通过对 KV Cache 聪明地“按需分配空间”,类似“分隔储物柜”,来避免浪费。那么随之而来有几个问题需要解决: 1. 如何按需分配?分隔储物之后,如何快速找到当前文本序列对应的所有储物柜? 2. 分块之后,PagedAttention 里访存效率会下降吗?如何解决 因为 Paged Attention 是和分块实现的 KV Cache 搭配使用的,主要用途就是让 KV Cache 得以分块实现而尽量不影响程序执行效率,所以搞清
………………………………