page KV-tail浪费核Prefix命中粒度

📅 发布时间:2026/8/13 0:05:16
page KV-tail浪费核Prefix命中粒度
这两个概念都与大模型推理框架如 vLLM、SGLang在用分页管理PagedAttention分配显存时的“页/块Block大小”密切相关。1. Tail 浪费少减少尾部内部碎片背景显存是以固定大小的Block内存页分配的比如一个 Block 规定存 16 个或 64 个 Token 的 KV Cache。什么是 Tail 浪费用户的 Prompt 长度很难刚好是 Block 大小的整数倍。举个例子假设一个 Block 存64 个 Token。如果用户的请求正好是65 个 Token框架就必须分配2 个 Block总共能存 128 个 Token。此时第 2 个 Block 里只装了 1 个 Token剩下的 63 个 Token 存储空间就被空置浪费了。这种序列末尾没装满的 Block 造成的空间闲置就叫Tail 浪费尾部碎片。“少”的意思如果把 Block 设得更小如 16 个 Token或者使用了MLA使得单 Token 占用的字节数极小那么最后一个 Block 就算没装满浪费的绝对字节数也极微小显存利用率大幅提升。2. Prefix 命中粒度细更精细的前缀缓存复用背景Prefix Caching前缀缓存的作用是让不同请求复用相同的 Prompt比如 System Prompt、提示词模板或多轮对话历史避免重复计算。原理框架通常以 Block 为单位去做哈希对比只有整个 Block 内的数据完全一致才能算“命中缓存”。粒度粗 vs 粒度细粒度粗如 Block 64两个请求的前 63 个 Token 完全一样但第 64 个 Token 不同。因为凑不齐一整个 64 尺寸的 Block这 63 个 Token完全无法复用缓存命中率为 0。粒度细如 Block 16甚至 Token 级前 63 个 Token 一样就能直接打卡命中 3 个完整的 16-Token Block前 48 个 Token 完全复用。核心优势命中粒度越细系统对各种微小差异、短 Prompt 复用的灵敏度就越高Prefix Cache 的总体命中率和首字延迟TTFT优化就越显著。