让 AI 读一篇很长的材料,它会把前文的中间计算留在显存里,免得每生成一个新词都从头再算。这份“速查笔记”叫 KV 缓存,上下文越长,占用越大。压缩它通常有两种选择:合并旧信息,或直接丢弃。问题是统一处理太粗暴——该留的可能被删,不相干的内容也可能硬挤在一起。
SelKV 把选择细化到每个词元,也就是模型处理文字的基本小块。它比较待压缩词元与合并目标的相似度:越相似,合并得越充分;差异越大,就少合并甚至丢弃。更巧的一步是补偿“注意力下沉”:一个合并条目代表多个原词元,却可能只拿到单个词元大小的注意力权重。SelKV 根据模型首次读入全文时的注意力统计,在生成阶段修正这笔权重账。
作者称,这套方法不需额外训练;在 LongBench 的 16 个英文数据集上仅保留 25% KV 缓存时,部分多文档问答任务甚至超过完整缓存基线,并在 10 万词元下实现 3.3 倍解码加速。结果仍来自论文作者自述,但它的价值很清楚:缓存压缩不再只有“一刀切”,而能逐词元权衡省空间与保信息。