在LLMs时代,需要长上下文理解的任务,如长文本阅读理解(Trivedi, Balasubramanian, Khot, & Sabharwal (2022))、上下文学习(Dong et al. (2024b))、文档总结(Huang, Cao, Parulian, Ji, & Wang (2021))和代码完成(Zheng et al. (2023))变得尤为重要。因此,能够处理较长上下文长度的LLMs变得越来越普遍(Huang et al. (2023); Xu, Bi, & Liu (2026); Yao, He, & Xu (2026))。例如,像GPT-4和DeepSeek-V3这样的模型支持多达128K令牌的上下文长度,而Claude-3.5和Yi将这一能力扩展到200K令牌(DeepSeek-AI (2024b); Fu et al. (2024); OpenAI (2023))。然而, transformer架构中的自注意力机制随着上下文长度的增加而呈现出二次复杂性(Vaswani et al. (2017)),从而导致长上下文场景下的推理延迟显著增加。一种减轻这种延迟的潜在方法是将前一个令牌的键值(KV)状态缓存起来,从而避免重新计算历史上下文(Waddington, Colmenares, Kuang, & Song (2013))。然而,随着输入上下文长度和层数的增加,存储KV状态所需的内存也会大幅增加(Shi, Zhang, Yao, Li, & Zhao (2024))。例如,在LLaMA2-7B模型中,存储100K令牌的KV缓存需要超过50GB的内存(Touvron et al. (2023),而2K令牌的上下文则只需要不到1GB的内存(Wu, Wang, Xiao, Peng, & Fu (2025))。
近期研究通过修改注意力架构(Ainslie et al. (2023); DeepSeek-AI (2024a); Shazeer (2019)或实现层间KV缓存共享(Brandon, Mishra, Nrusimha, Panda, & Ragan-Kelley (2024); Sun et al. (2024); Wu & Tu (2024)来缓解上述内存限制。然而,这些方法需要额外的训练。相比之下,另一条研究路线是在推理阶段压缩KV缓存。例如,一些方法在固定层预算下丢弃非必要令牌的KV状态(Adnan et al. (2024); Ge et al. (2024); Xiao, Tian, Chen, Han, & Lewis (2024); Zhang et al. (2023))。然而,这些方法忽略了层间注意力稀疏性的差异。PyramidInfer(Yang et al. (2024b)和PyramidKV(Cai et al. (2024)观察到,较低层中密集注意力较为普遍,而在较高层中稀疏注意力占主导(Wang et al. (2023))。他们提出在不同层之间分配不同的KV缓存大小,以维持金字塔状结构。
大量的先前研究探索了修改transformer架构以缩小KV缓存大小的方法,包括按头部修改的方法(Ainslie et al. (2023); DeepSeek-AI (2024a); Shazeer (2019)和按层修改的方法(Brandon et al. (2024); Sun et al. (2024); Wu & Tu (2024)。这些方法通过在不同层之间共享或压缩KV状态(例如,跨层注意力Brandon et al. (2024)和层压缩KV缓存Wu & Tu (2024))或重新设计Transformer来减少KV缓存内存。