超越KV缓存:用于高效LLMs的共享注意力
通过自适应KV缓存压缩的插拔式方法,我们引入了一种减少大型语言模型(LLM)生成推理内存占用的方法。通过有针对性的分析注意力模块的内在结构,我们构建自适应KV缓存:针对局部上下文的注意力头强调接触范围短的上下文,针对特殊标记的注意力头中心化的丢弃非特殊标记,只有广泛关注所有标记的注意力头才使用标准KV缓存。此外,通过轻量级的注意力分析引导自适应KV缓存的构建,FastGen不需要资源密集的微调或重新训练。在各种场景的实验中,FastGen在GPU内存消耗方面显著减少,同时几乎没有生成质量损失。我们将发布用于重现的代码和兼容的CUDA内核。
Oct, 2023
通过AttentionStore,可以显著降低多轮对话中重复计算的开销,提高首个令牌的时间及预填充处理性能,减少端到端推理成本。
Mar, 2024
通过确定关注层的重要性,我们提出了SqueezeAttention来精确优化动态分配关键值缓存的预算,并结合三种代表性的标记稀疏化算法来压缩每个层的关键值缓存。通过从序列和层两个维度进行优化,SqueezeAttention在各种大型语言模型和基准测试中实现了30%至70%的内存减少和最高2.2倍的吞吐量提升。
Apr, 2024
在本文中,我们探索了Key-Value缓存的低秩特性,并提出了一种压缩Key-Value头部的新方法,该方法在最小化压缩误差的同时保持与原始大语言模型相当的性能,为在资源受限环境中更高效的大语言模型部署提供了一种有前途的方向。
Jun, 2024
长上下文大语言模型的推理速度下降的问题可以通过使用查询感知的KV缓存选择算法来加速自注意力机制,该算法通过仅加载前K个关键KV缓存页面来显著提高自注意力的速度。
Jun, 2024
基于对注意力分配模式和键嵌入进行分析,我们提出了一种基于键嵌入的压缩策略,证实可在不降低准确性的情况下,将关键值(KV)缓存大小减少50%(在语言模型和针对性查询任务中)和90%(在密码检索任务中)。
Jun, 2024
通过细致研究和可视化大型语言模型(LLMs)中的注意力分布,本研究发现注意力汇的存在可以通过在提取信息时实时优化的了解,从而提高LLMs的准确性并避免权重调整。
Jun, 2024
本研究针对大型语言模型在处理长序列时内存和计算成本高的问题,通过探讨键值缓存中的冗余,提出了名为ThinK的查询依赖性缓存剪枝方法。该方法在选择性剪除不重要的通道的同时,保持或提高了模型的准确性,并将内存成本降低超过20%。
Jul, 2024
本研究针对大型语言模型中由于深度和参数数量增加而导致的冗余问题,提出了一种新的解决方案。通过深入分析,发现各层之间的注意力模式高度相似,因此引入了一种名为LiSA的轻量级自注意力替代方案,它通过小型前馈网络对齐相邻层的注意力头并利用低秩矩阵近似层间注意力权重的差异。实验表明,LiSA在减少53-84%冗余计算的同时,保持了高响应质量。
Aug, 2024
本研究解决了大型语言模型中长上下文长度和大批量处理过程中KV缓存导致的内存瓶颈问题。提出的特征关注方法通过在低秩空间中执行关注操作,显著减少了KV缓存的内存开销,并且与现有的缓存压缩技术可协同使用。实验结果表明,该方法能够将KV缓存大小减少最多40%,并减少注意力操作延迟最多60%,性能下降极小。
Aug, 2024