AttentionStore:大型语言模型服务中多轮会话中的经济高效注意力重用
LeanAttention 是一种可扩展的自注意力计算技术,通过重新设计解码阶段的执行流程,将自注意力机制的实现扩展到具有挑战性的长上下文长度情况,以并行计算的方式提供 2.6 倍的平均注意力执行加速和最多 8.33 倍的速度提升。
May, 2024
通过引入 ChunkAttention,我们设计了一种前缀感知的自注意力模块,可以在运行时检测到多个请求之间匹配的前缀,并共享它们的键 / 值张量以提高 KV 缓存的内存利用率。通过将单片键 / 值张量分解成较小的块并将它们结构化到辅助前缀树中,我们在基于前缀树的 KV 缓存之上设计了一个高效的自注意力内核,实现了在存在共享系统提示的情况下改善自注意力计算中的数据局部性。实验证明,与现有最先进的实现相比,ChunkAttention 可以将自注意力内核加速 3.2-4.8 倍,且系统提示的长度范围为 1024 至 4096。
Feb, 2024
通过一种名为 RelayAttention 的算法,该论文提出了一种提高大型语言模型(LLM)服务效率的方法,解决了长系统提示导致的吞吐量 / 延迟瓶颈问题,该算法通过从 DRAM 准确一次性读取输入令牌批次的隐藏状态,从而消除了系统提示的冗余。
Feb, 2024
提出了一种新的方法,只计算和缓存少量层的键值以大幅节省内存消耗并提高推理吞吐量。在大型语言模型上的实验证明,该方法的推理吞吐量比标准 Transformer 高 26 倍,同时在语言建模和下游任务中具有竞争性能。此外,该方法与现有的 Transformer 节省内存技术正交,因此可以轻松将它们与我们的模型集成,进一步提高推理效率。
May, 2024
通过确定关注层的重要性,我们提出了 SqueezeAttention 来精确优化动态分配关键值缓存的预算,并结合三种代表性的标记稀疏化算法来压缩每个层的关键值缓存。通过从序列和层两个维度进行优化,SqueezeAttention 在各种大型语言模型和基准测试中实现了 30% 至 70% 的内存减少和最高 2.2 倍的吞吐量提升。
Apr, 2024
大规模语言模型的高吞吐量通过批处理大量请求实现,本研究提出了 PagedAttention 算法和 vLLM 系统,用于减少关键值缓存(KV cache)内存的浪费和冗余复制,改善系统的吞吐量和内存利用率。
Sep, 2023
SnapKV 是一种创新且无需微调的方法,它通过选择每个注意力头的重要键值位置来高效地减小键值存储缓存的大小,从而在处理长输入序列时显著降低了计算开销和内存占用,同时保持了与基准模型相当的性能。
Apr, 2024
部署大型语言模型(LLMs)在流式应用中的一个研究论文,介绍了两个主要挑战和一个有效的解决方案 StreamingLLM,用于长文本的流式部署,能够在无需微调的情况下实现 LLMs 的稳定和高效的语言建模。
Sep, 2023
本论文提出了一种有键 - 值注意机制的神经语言模型,能够输出不同的 key 和 value 表示,同时对下一个单词的分布进行编码,比现有的基于记忆的、神经语言模型表现更好,但发现该方法主要利用最近五个输出表示的记忆。
Feb, 2017