✨ 要点🔬 技术摘要
想象一下,你正在试图记住一个长达100页的宏大故事,同时还要撰写新的章节。每当你写下一个句子时,你都必须回头回顾整个故事,以确保你的新词句符合情节。在人工智能的世界里,这些“故事”就是计算机模型阅读的对话或文档,而这种“回头回顾”的过程发生在被称为 KV 缓存(KV cache) 的特殊记忆区域中。你可以把这个缓存想象成一块巨大的白板,AI 在上面记录下故事中最重要的部分,这样它就不必在每次说话时都重新阅读整本书。
问题在于,随着故事变得越来越长,这块白板也会变得越来越大。它填满计算机内存的速度甚至比 AI 本身的大脑还要快,从而迫使计算机在处理长任务时变慢或停止工作。为了解决这个问题,科学家们尝试了两种技巧:驱逐(Eviction) (扔掉他们认为无聊的故事片段)和 量化(Quantization) (用更小、更潦草的字迹来书写故事以节省空间)。但这里有一个陷阱:如果你扔掉了一页,你就再也找不回来了;如果你用潦草的字迹书写,以后可能很难辨认。巨大的疑问在于:我们如何在保持记忆体积较小的同时,又不至于意外删除了那些可能只在故事结尾才出现的关键剧情转折?
这正是名为 QEvict 的新方法发挥作用的地方,它就像是为 AI 的记忆提供了一个智能的三层图书馆。研究人员发现,旧有的决定丢弃什么的方式过于僵化。他们发现,一页故事现在看起来可能毫无用处,但在五分钟后可能会变成最重要的线索。如果 AI 把它扔掉了,它就永远消失了。QEvict 通过引入一个“可恢复”的中间地带解决了这个问题。系统不再仅仅是“保留”或“删除”,而是使用了三个层级:
VIP 区(全精度): 故事中最重要、置信度最高的部分以高清晰度、晶莹剔透的形式保留在记忆中。
档案库(量化层): 那些目前看起来很无聊、但未来可能 变得重要的部分会被移动到“压缩档案”中。它们被写成了一种更小、质量更低的形式(就像是素描而不是照片),但它们并没有 被丢弃。它们仍然在那里,等待着。
垃圾桶(被驱逐): 只有那些真正、绝对没用的部分才会被删除。
神奇之处在于,当 AI 正在撰写新章节时,如果它突然需要一段原本放在“档案库”中的信息,系统会立即将那个素描升级回高清晰度的照片,并将其移至 VIP 区。这就像是有一位图书管理员,能在你开口请求的一瞬间,从书架上取下一本尘封的、压缩过的书籍,将其修复至完美状态,并递到你手中。
论文表明,这种方法比旧有的“删除或保留”方法要聪明得多。通过在长文本理解任务、复杂数学问题以及“大海捞针”(在巨大文本中寻找微小事实)搜索中进行测试,QEvict 的表现始终优于其他方法。它成功地在保持低内存占用的同时,记住了更多的故事内容。研究人员测量到,与其他方法相比,这种方法显著降低了 AI “遗漏”重要信息的程度。他们还发现,“档案库”这一层级运作得非常出色,以至于即使在被迫使用极少内存(低至全尺寸的 5%)时,它对故事的理解能力仍比以前强得多。
简而言之,QEvict 表明我们不应该把记忆视为一条单行道——即信息要么是完美的,要么就彻底消失了。通过增加一个可以廉价存储但仍可检索的中间步骤,AI 模型可以在不耗尽空间的情况下处理更长、更复杂的任务。在多个不同 AI 模型和基准测试中测得的结果表明,这种“可恢复驱逐”是让长上下文 AI 变得更聪明、更高效的一种切实有效的方法。
技术摘要:QEvict
问题陈述
大型语言模型(LLM)中的自回归推理正日益受到键值(KV)缓存内存占用量的限制,该占用量随序列长度和批次大小线性增长。虽然现有解决方案通过驱逐 (永久移除被视为不重要的 token)或量化 (以较低精度存储状态)来解决这一问题,但两者都存在根本性的局限性:
驱逐的不可逆性: 标准的驱逐策略做出的是二元的、不可逆的决策。它们假设 token 的重要性是静态的;然而,本文证明了在解码过程中,token 和窗口的重要性会发生“漂移”。一个在当前查询下被视为不重要的状态,在稍后处理引用或推进推理轨迹时可能变得至关重要。一旦被驱逐,这些信息将永久丢失。
上下文碎片化: Token 级的驱逐会破坏局部连贯的证据,因为它可能保留高分 token 的同时,却丢弃了对其进行解释至关重要的相邻 token。
静态精度: 现有的量化方法通常无法共同管理缓存驻留与数值精度。它们缺乏一种机制,能够动态地在全精度执行、紧凑的可恢复存储和永久移除之间移动历史状态。
核心挑战在于:如何在激进压缩 KV 缓存的同时,保留那些其相关性可能仅在生成过程后期才显现的连贯历史区域。
方法论:QEvict
作者提出了 QEvict ,一种基于连续窗口而非单个 token 的三层可恢复 KV 缓存管理方案。该系统在固定的内存预算下,动态地在三个状态之间路由窗口:
全精度层(Full-Precision Tier): 高置信度窗口保留为全精度。
可恢复量化层(Recoverable Quantized Tier): 中间强度的窗口以紧凑的低比特格式(实验中具体为 INT2)存储。这些窗口对注意力机制仍然可见,并且如果其重要性增加,可以“晋升”回全精度。
驱逐层(Evicted Tier): 只有置信度最低的窗口会被永久移除。
核心机制
窗口级路由(Window-Level Routing): QEvict 不采用 token 级的决策,而是将历史缓存划分为连续的窗口。这稳定了选择决策并保留了局部上下文。
累积评分(Cumulative Scoring): 窗口的重要性通过随时间累积注意力分数来确定。这使得系统能够追踪“未来丢失质量”(即原本应分配给已丢弃状态的注意力),并识别重新获得相关性的窗口。
可恢复层级结构(Recoverable Hierarchy):
降级(Demotion): 当一个全精度窗口的重要性下降时,它会被移动到量化层。
晋升(Promotion): 如果一个量化窗口的累积分数上升,它会被反量化并晋升回全精度层。
单次写入量化账本(Write-Once Quantization Ledger): 为了防止在重复层级转换过程中产生误差累积,QEvict 仅在窗口首次降级时对其进行量化。生成的低比特表示被存储在一个持久化的账本中,并在后续所有的晋升和降级过程中重复使用,从而避免了近似误差的复合叠加。
实现: 该系统支持分组查询注意力(GQA)和 FlashAttention-2。它在路由事件期间选择性地实例化 SDPA 注意力以计算累积分数,而在其他时间则使用标准的解码路径。
关键贡献
系统性分析缓存动态特性: 作者引入了两种新的诊断工具来表征解码时的行为:
未来丢失质量(Future Missed Mass, FMM): 衡量分配给已被策略丢弃的状态的未来注意力比例。
全局 LIR(潜在重要性重新激活, Latent Importance Reactivation): 衡量历史上处于非活跃状态的窗口重新进入活跃集的频率。
选择抖动(Selection Churn): 量化连续路由步骤之间缓存分配的不稳定性。
发现: 这些诊断表明,尽管重要性是集中的,但其在时间上是不稳定的;相当一部分窗口会离开活跃集并在随后重新进入,这证明了引入可恢复层的必要性。
QEvict 框架: 一种新型的、受字节约束的层级结构,它用动态的降级、恢复和晋升过程取代了二元驱逐。它结合了驱逐方法的选择性保留特性与量化方法的广泛覆盖能力。
广泛评估: 该方法在三个基准测试(LongBench, RULIVER, GSM8K)以及三个指令微调的 LLM 系列(Llama-3.1-8B, Mistral-7B, Qwen2.5-7B)下进行了评估,且处于严格的内存预算下(全量 KV 缓存的 5% 到 20%)。
结果
QEvict 在代表性的驱逐和量化基线模型中,一致地提升了质量与内存之间的权衡表现:
长文本理解(LongBench): 在 12 个任务和多种内存预算下,QEvict 均取得了最高的宏平均得分。在 20% 的内存预算下,其表现显著优于最强的驱逐基线。在极紧凑的 5% 预算下,这种优势更加明显,凸显了可恢复低比特保留的价值。
长程检索(RULER): 在 32K 上下文长度的任务中,QEvict 取得了 87.6 的宏平均分,超过了最强的匹配内存驱逐基线(Layer-DefensiveKV)1.2 个百分点,并优于同类量化基线 8.6 个百分点。它与未压缩的全量 KV(Full-KV)参考值仅差 2.4 个百分点。
推理(GSM8K): 随着缓存预算的减少,QEvict 比基线模型更好地保持了多步生成的质量,在 Llama、Qwen 和 Mistral 模型中维持了更高的准确率。
效率:
使用 Eager/SDPA 后端时,由于缩减的全精度缓存规模抵消了管理开销,QEvict 比 Full-KV 降低了 9.3% 的每个输出 Token 时间(TPOT),并将吞吐量提升了 9.8%。
使用 FlashAttention-2 时,QEvict 将峰值 GPU 显存降低了 29.7%(从 29.54 GB 降至 20.78 GB),尽管目前的吞吐量受限于需要在注意力计算前进行反量化和重建缓存。
重要性与主张
论文声称,可恢复的低比特保留 是针对长上下文 LLM 推理的一种实用且优越的替代方案,优于永久驱逐。通过将缓存管理视为一个动态层级结构而非一次性决策,QEvict 解决了假设静态 token 重要性的脆弱性问题。
作者强调,其方法:
在不为所有状态分配全精度内存的前提下,保留了更广泛的历史上下文。
通过窗口级聚合稳定了缓存选择,降低了对瞬态 token 级波动的敏感性。
支持了历史上非活跃区域的“重新激活”,这一现象在解码过程中频繁发生,但被当前最先进的方法所忽略。
这项工作表明,未来的系统应该超越“保留或删除”的二元策略,转向动态、可恢复的存储层级,以应对长上下文生成中不断变化的注意力特性。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。