论文
KV-Fold:用于长上下文推理的一步 KV 缓存递归
KV-Fold: One-Step KV-Cache Recurrence for Long-Context Inference
摘要
我们引入了 KV-Fold,这是一种简单的 无需训练 长上下文推理协议,它将键值 (KV) 缓存视为序列块左折叠中的累加器。在每一步中,模型都会根据累积的缓存处理下一个块,附加新生成的键和值,并将扩大的缓存向前传递;重复应用相同的一步更新,类似于函数式编程中的foldl。基于为潜在多代理通信引入的 KV 缓存串联原语,我们将其重新调整为用于长上下文推理的块到块递归。当处理块 t 时,模型会关注从早期块携带的 KV 缓存作为前缀,跨段重用其内部状态,而无需修改或重新训练模型。尽管它很简单,但诱导的重复是稳定的:每步漂移短暂上升,然后饱和到在深链中持续存在的平坦平台。该平台对数值精度 10,000 倍的变化不敏感,在块大小上具有鲁棒性,并且在模型系列中保持一致。在任务层面,KV-Fold 可以长距离保存准确的信息。在大海捞针基准测试中,它在 Llama-3.1-8B 上跨越 16K 到 128K 词元的上下文以及高达 511 的链深度的 152 次试验中实现了 100% 精确匹配检索,同时保持在单个 40GB GPU 的内存限制内。与以保真度换取有限内存的流方法相比,KV-Fold 在作为一系列易于处理的前向传递进行操作的同时,保持了远程检索。总的来说,我们的结果表明,冻结的预训练 Transformer 已经支持稳定形式的 KV 缓存循环,为长上下文推理提供了一条实用的途径,无需进行架构更改或训练。