在当今快速发展的技术浪潮中,基于 Transformer 架构的大型语言模型(LLMs)正以前所未有的速度推动着自然语言处理领域的边界。像 Gemini-Pro1.5、Claude-3、GPT-4 和 Llama-3.1 这样的模型,如今已能够轻松处理包含成百上千 token 的长序列文本。然而,随着这些模型在处理能力上的飞速提升,一系列实际应用中的问题也逐渐浮出水面。
具体而言,随着上下文长度的不断增长,模型在解码时的延迟显著增加,而内存瓶颈的问题也愈发突出。KV 缓存作为推理过程中存储上下文信息的关键组件,其大小会随着上下文长度的增加而成比例增长。这不仅导致了内存的饱和,更严重影响了模型在处理长输入序列时的效率。因此,开发出一种能够优化 KV 缓存、提升处理效率的解决方案,已经成为当务之急。
目前市场上虽然存在一些无需训练的解决方案,但这些方法大多依赖于获取注意力权重来评估键值对的重要性,这使得它们与高效的注意力算法(如 FlashAttention)无法兼容。这些方法往往需要对注意力矩阵进行部分重新计算,从而引入了额外的时间和内存开销。因此,现有的压缩算法大多只能在生成答案之前对提示进行压缩,而无法在内存受限的生成过程中发挥优化作用。这一局限性凸显了开发一种既能保持模型性能,又无需对架构进行修改的压缩技术的必要性。
幸运的是,来自索邦大学、法国国家信息与自动化研究所、罗马萨平扎大学、爱丁堡大学和 Miniml.AI 的研究团队最近提出了 Q-Filters,这是一种创新的无训练 KV 缓存压缩技术。Q-Filters 通过基于查询的过滤方法来优化内存使用,同时保持模型性能。它通过评估与当前查询相关的键值对的重要性,而不是依赖于注意力权重,从而确保了与高效注意力算法的兼容性,且无需重新训练或修改架构。通过动态评估并保留最相关的上下文信息,Q-Filters 实现了显著的内存减少,同时维持了推理质量。
在多个评估场景中,Q-Filters 的表现令人瞩目,始终优于现有的 KV 缓存压缩方法。在对 Pile 数据集的语言建模测试中,Q-Filters 在所有压缩方案中实现了最低的困惑度。特别是在处理 Llama-3.1-70B 模型时,Q-Filters 在上下文保留至关重要的序列后半部分显示出显著的困惑度降低,这表明该技术在处理长序列时具有显著优势。
在 “针在干草堆” 任务中,Q-Filters 以 91% 的准确率脱颖而出,成功地保存了极端上下文长度(从 1K 到 64K token)中的重要信息。综合评估进一步验证了该方法的优越性,尤其是在高压缩率(32 倍)下,Q-Filters 在长上下文建模基准测试中取得了最高分。
论文:https://arxiv.org/abs/2503.02812
huggingface:https://huggingface.co/collections/nthngdy/q-filters-67a4994dcb302a3d37f3d119
划重点:
🔍 Q-Filters 是一种无训练的 KV 缓存压缩技术,能够在不损失模型性能的情况下有效优化内存使用。
📊 该方法在多个评估中表现卓越,尤其在语言建模和极端上下文任务中,取得了最低的困惑度和最高的准确率。
🛠️ Q-Filters 与高效的注意力算法兼容,并且只需在模型训练后进行一次简单的准备步骤,即可轻松应用于实际场景。