摘要
arXiv:2407.12820v2 宣告类型: replace-cross
摘要:随着大型语言模型(LLMs)领域不断发展,推理中的上下文长度正在稳定增长。键值缓存(KVCache),即LLM推理过程中token的中间表示,现在由于有限的GPU内存已成为主要的内存瓶颈。当前方法通过选择性确定适用于自注意力计算的键和值来解决此问题。然而,这些方法要么未能保持模型质量,要么导致高服务延迟。受数据管理社区广泛采用的高级嵌入检索技术的启发,我们将KVCache的存储和检索视为典型的嵌入检索问题。我们提出了PQCache,它使用产品量化(PQ)来管理KVCache,在保持模型质量的同时确保低服务延迟。在预填充阶段,我们对每个LLM层和头的token的键应用PQ。在自回归解码阶段,我们使用PQ码和质心来近似识别重要的先前token,然后获取相应的键值对进行自注意力计算。通过详细设计重叠和缓存的机制,在两个阶段中我们最小化了任何额外的计算和通信开销。广泛实验表明,PQCache在有效性与效率方面均表现出色,在InfiniteBench上比现有方法提高了4.60%的分数,并且在预填充和解码阶段系统延迟较低。