罗马大学和爱丁堡大学发布论文,提出了一种基于L2范数的简单而有效的策略,用于压缩大型语言模型(LLMs)中的键值(KV)缓存。在大型语言模型处理长文本时,KV缓存是一个关键组件,它保存了之前token的键和值,以避免在生成过程中重新计算它们。然而,随着上下文长度的增加,KV缓存的内存需求也会增加,这限制了模型的部署和效率。
例如,你有一个大型语言模型,需要处理一篇非常长的科学论文来回答问题。传统上,模型需要在内存中保存论文中每个单词的信息,这会占用大量内存。使用这篇论文中提出的策略,模型可以只保存那些最重要的单词信息(即L2范数低的键),这样就能在不损失理解能力的前提下减少内存使用,提高处理效率。
主要功能:
- 该策略通过分析解码器中Transformer模型的注意力分布,发现L2范数与缓存的KV对的注意力分数之间存在明显的相关性。
- 基于这一发现,研究者提出了一种压缩KV缓存的方法,即只保留具有最低L2范数的键及其对应的值。
主要特点:
- 简单性:该方法不需要对模型架构进行修改或进行额外的训练。
- 有效性:实验结果显示,该策略可以在不损失准确性的情况下,显著减少KV缓存的大小。
工作原理:
- 分析注意力分布:研究者观察到,在解码过程中,具有低L2范数的键嵌入通常会获得更高的注意力分数。
- 压缩策略:利用这一相关性,通过保留L2范数最低的键来压缩KV缓存。
- 性能维持:即使在压缩了KV缓存的情况下,模型在语言建模和特定任务(如针堆检索和密钥检索)中仍能保持性能。
具体应用场景:
- 语言建模:在语言建模任务中,通过压缩KV缓存,即使减少了50%的缓存大小,模型的困惑度(perplexity)也没有受到影响。
- 长上下文建模任务:在需要模型存储和检索关键信息的任务中,如针堆检索和密钥检索任务,即使压缩了90%的KV缓存,模型仍能保持高准确率。
0条评论