Where Matters More Than What: Decoding-aligned KV Cache Compression via Position-aware Pseudo Queries - DapQ 论文解读
一、论文摘要
中文摘要:
键值(KV)缓存对于大型语言模型(LLMs)的高效推理至关重要,但超长的上下文会急剧增加 KV 缓存的内存占用。现有的 KV 缓存压缩方法通常依赖于提示观察窗口内的输入端注意力模式来估计预填充阶段的 token 重要性。由于这些评估并非源于解码过程,它们无法保留对未来生成至关关键的 token。直觉上,一个有效的观察窗口应该反映解码阶段的查询,以准确反映生成过程会关注哪些 token。然而,真实的解码查询在推理过程中本质上是不可用的。为了构建伪查询来近似这些查询,我们发现位置信息比语义内容起着更关键的作用。基于这一洞察,我们提出通过位置感知的伪查询进行解码对齐的 KV 缓存压缩(DapQ),这是一个新颖且轻量级的驱逐框架,利用位置感知的伪查询来模拟输出 token,从而为重要性评估建立有效的观察窗口。它与实际生成上下文紧密对齐,并实现精确的 token 驱逐。在多个基准测试和 LLMs 上的广泛评估表明,DapQ 实现了卓越的性能,特别是在严格的内存约束下(例如,在 NIAH 上以 3% 的 KV 缓存预算实现近乎无损的性能 99.5%)。
二、基本信息
论文 ID: 2603.11564
标题: Where Matters More Than What: Decoding-aligned KV Cache Compression via Position-aware Pseudo Queries
作者: Zhenxu Tian, Yi Su, Juntao Li, Min Zhang
单位: School of Computer Science and Technology, Soochow University, China
原文保存位置: ~/.openclaw/workspace/papers/20260312_DapQ/source/
报告生成日期: 2026-04-09
三、论文主体分析
1 引言
大型语言模型在各个领域取得了显著成功,并在处理长上下文任务(如上下文问答和文档摘要)方面展示了卓越的能力。高效推理的一个关键推动因素是 KV 缓存机制,它通过将自注意力的计算复杂度从 $O(n^2)$ 降低到 $O(n)$,显著加速了自回归解码。然而,随着上下文长度的增长,KV 缓存的内存占用和计算开销急剧增加,这成为 LLMs 高效部署和应用的严重障碍。
为解决这些挑战,各种方法被提出来压缩 KV 缓存,如 token 驱逐或合并、量化、头或层间共享、低秩分解等。其中,token 驱逐仍然是一种广泛采用的策略。然而,输入长度的快速增长进一步加剧了对更有效驱逐策略的需求。作为 SnapKV 的实现,观察窗口通过与池化的累积注意力分数结合,证明了在保留关键 token 方面的优越性。这种方法被 PyramidKV 进一步扩展,动态分配层级缓存预算,并使用基于窗口的注意力机制选择重要的 KV 对进行压缩。这些研究展示了观察窗口在有效 KV 缓存压缩中的潜力。

图 1:DapQ 概览。一个合成的伪上下文(长度 $N$)被附加到原始上下文(长度 $L_p$),形成长度为 $L_p+N$ 的扩展序列。模型在预填充阶段处理该序列,然后为合成 token 获得伪查询,这些伪查询被赋予前 $N$ 个解码步骤的正确位置编码。这些伪查询与来自原始提示的所有键计算注意力分数,建立 token 重要性分布。TopK token 被保留在压缩的 KV 缓存中,而其他 token 以及所有合成 token 被驱逐。自回归解码从位置 $L_p$ 开始。
:::
然而,以输入为中心的观察窗口本质上与实际解码的动态查询不对齐,仅依赖基于静态提示的特征,通常是最后 16-32 个 token。因此,它们无法反映由输出端生成过程确定的重要性分布,导致对解码关键 token 的错误识别,特别是在复杂或嘈杂的上下文中。关键的是,真实的解码查询在推理过程中不可用,使其无法直接指导驱逐。为了缓解这个问题,最近的方法 LAQ++ 尝试通过预生成伪响应来更好地将观察窗口与解码查询对齐。但其两阶段的驱逐过程引入了显著的内存峰值问题,损害了其实际效率。因此,在不产生任何内存开销的情况下构建有效的伪查询($Q_{\text{pseudo}}$)来近似不可用的未来查询是非常可取的。
受 CaliDrop 启发,其中相邻位置的查询表现出高相似性,我们的实验揭示了一个关键的洞察:位置信息在构建查询近似和确定注意力模式方面比语义内容起着更关键的作用。这一发现意味着,能够可靠评估 KV 缓存重要性分布的高质量伪查询,可以基于未来位置编码来合成。
基于这一洞察,我们提出通过位置感知的伪查询进行解码对齐的 KV 缓存压缩(DapQ),这是一个新颖且轻量级的 KV 缓存驱逐框架,使用未来位置编码构建伪查询来准确模拟输出 token。这些查询共同作为重要性评分的有效观察窗口,与实际生成上下文紧密对齐,实现精确的缓存驱逐。在多个基准测试和不同 LLMs 上的广泛实验表明,DapQ 实现了卓越的性能并优于现有的驱逐基线,特别是在严格的内存约束下。
2 相关工作
长上下文 LLMs。 对 LLMs 处理长上下文的需求不断增长加剧了计算和内存挑战。先前的工作通过专门的微调以及通过精细的位置编码(如插值和外推)扩展有效上下文窗口来解决这些问题。为了减轻计算开销,稀疏注意力和线性注意力被广泛探索。除了传统的 Transformer,新颖的架构如状态空间模型(SSMs)为处理长序列提供了线性复杂度解决方案。此外,内存优化技术,如 KV 缓存压缩和内存卸载,已被开发。这些多方面的技术共同推进了 LLMs 处理超长序列任务的能力。
KV 缓存压缩。 KV 缓存压缩对于增强 LLMs 的推理效率和可部署性至关重要,特别是在资源受限的场景中。各种方法被开发来减少 KV 缓存内存占用。Token 驱逐策略旨在仅根据注意力分数、位置启发式、特殊 token 或基于范数的标准保留最重要的 token。量化通过以较低精度存储较不重要的 KV 对来减少内存。基于共享的方法通过头间共享、层间共享或序列间的前缀共享实现内存节省并加速推理。低秩分解将 KV 缓存投影到低维空间以利用固有冗余。KV 合并采用注意力模式相似性或重参数化来合并相似的语义信息,以最小的性能损失实现有效压缩。
3 观察
基于第 1 节的讨论,构建伪查询来准确近似不可用的真实解码查询变得至关重要。基于 CaliDrop 的洞察,即相邻位置的查询表现出高相似性,我们假设这种相似性与位置信息而非语义内容强烈相关。这促使我们调查是否仅位置信息可以有效近似未来的解码查询,而不依赖于真实的解码内容。
3.1 位置驱动查询表示
如表 1 所示,我们比较了真实解码查询与伪查询在四种条件下的余弦相似度:SC(相同内容)、DC(不同内容)、SP(相同位置)和 DP(不同位置)。具体而言,被赋予正确未来位置 ID 但由完全无关或无意义内容组成的伪查询(DC&SP,绿色)与实际目标解码查询表现出强余弦相似度(0.7238,绿色)。相反,具有相同语义内容但位置 ID 错误的查询(SC&DP vs SC&SP,红色 vs 绿色)无法准确近似目标查询(0.3522 vs 1.0000,红色 vs 绿色)。值得注意的是,DC&SP 与 SC&DP 的比较突出了保持正确位置对齐比仅保持正确内容实现了 2.1 倍更高的相似度。鲜明的对比强调,查询的语义内容在构建查询近似方面相对于位置编码起着次要作用。Pre-ROPE 条件下一致的高相似度(0.7238 到 0.7913,绿色)确认了模型的底层处理并不严重依赖语义内容来区分这些查询向量,从而强调 Post-ROPE 分数中观察到的显著差异几乎归因于位置信息。大规模统计分析(图 2)确认了上述现象的普遍性和一致性。
| p{9cm} >{ |
|---|
| raggedright |
| arraybackslash}p{6cm} c c} |
表 1:不同内容和位置条件下的查询相似度比较。SC:与真实输出相同的内容;DC:与真实输出不同的内容;SP:与真实未来解码位置相同的位置;DP:与真实未来解码位置不同的位置。
:::
📊 表格: 图 2:不同内容和位置条件下的查询相似度分布。大规模统计分析(每个箱形图聚合了 100 次独立试验)。
:::
3.2 精确位置对齐是必要的
基于位置信息的主导地位,我们进一步量化伪查询的位置对齐如何影响其与真实解码查询的相似度。如图 3 所示,我们固定伪查询语义内容以匹配真实输出,并系统地改变其分配的位置 ID。结果揭示了查询相似度的单调衰减,随着分配位置与正确位置之间的绝对偏移增加。这种衰减现象在不同上下文长度(2k 到 8k)中一致观察到,在更长的上下文场景中更为明显。对位置不对齐的强烈敏感性突出了查询近似对精确位置信息的关键依赖。因此,准确模拟解码查询需要与未来生成位置 ID 的精确对齐。

图 3:位置偏移敏感性分析。相似度单调衰减,随着分配位置与正确位置之间的绝对偏移增加。
:::
3.3 基于位置的查询实现更准确的 Token 驱逐
关键问题是更高的查询相似度是否转化为更准确的 token 驱逐。为了量化这一点,我们评估驱逐策略的召回率,它衡量其保留对实际生成最重要的 token 的能力。遵循先前工作的方法论,所选 KV 缓存的召回率定义为观察窗口选择的索引与模型所有响应 token 选择的索引重叠的比例。我们定义召回指标如下:
设 $R$ 为真实响应中的所有 token 集合,设 $K$ 为预填充阶段的完整键缓存。给定预算 $B$ 的黄金标准索引集 $M_{\text{gold}}$ 由所有真实响应查询的累积注意力分数确定:
$$M_{gold} = \underset{i \in [0, N)}{TopK}\left( \sum_{j \in R} \text{Attention}(q_j, K) \right)$$其中 $N$ 是所有预填充 token 的数量,TopK 返回具有最高累积分数的 token 的索引。预测的索引集 $M_{\text{pred}}$ 类似于 $M_{\text{gold}}$ 定义,但仅使用候选观察窗口 $W$ 中的查询计算:
$$M_{pred} = \underset{i \in [0, N)}{TopK}\left( \sum_{j \in W} \text{Attention}(q_j, K) \right)$$召回率是正确保留的黄金标准 token 的比例:
$$Recall_{W} = \frac{| M_{\text{gold}} \cap M_{pred} |}{| M_{gold} |}$$我们在 GovReport 数据集上为不同的观察窗口评估此召回指标。如图 4 所示,由随机内容但正确未来位置的伪查询组成的窗口比 SnapKV 和 StreamingLLM 等基线实现了显著更好的召回率。值得注意的是,即使窗口大小减少到 32 或 16,它仍保持高召回率,展示了基于位置估计的高有效性和准确性。这证明了仅由精确位置预测启发的一小组伪查询为重要性评估提供了高度有效的基础,即使在极端窗口约束下也能实现准确驱逐。

图 4:不同方法在各种窗口大小下的召回性能。基于位置的伪查询窗口在所有窗口大小下实现显著更好的召回率。
:::
总之,我们的实验汇聚到一个关键洞察:查询向量的表示由其位置编码主导,语义内容起着次要作用。从查询-键交互的角度来看,这进一步意味着注意力模式严重依赖位置信息来建立重要性分布,同时对语义内容的变化表现出相当的鲁棒性。这导致了一个深刻的实际意义:高保真的解码伪查询可以从位置编码合成,完全绕过计算昂贵和内存密集的 token 生成过程。这种位置感知的查询近似构成了我们方法的基础。
4 方法
受位置信息主导查询表示的关键洞察启发,我们提出 DapQ(如图 1 所示),这是一个新颖的 KV 缓存压缩框架,在预填充阶段准确模拟解码阶段的上下文定位。DapQ 合成一个解码对齐的观察窗口,由赋予未来位置编码的伪查询组成,反映实际解码过程的动态上下文。这精确评估 token 重要性,实现准确驱逐而不改变预期的时间线。
4.1 构建解码对齐的 $Q_{\text{pseudo}}$
DapQ 的核心是模拟解码阶段的动态位置查询。对于长度 $L_p$ 的提示序列,我们附加一组 $N$ 个人工构建的 token,记为 $\mathbf{T}_{\text{pseudo}}$,形成扩展输入序列。$\mathbf{T}_{\text{pseudo}}$ 可以从现有上下文构建或任意选择(例如,均匀采样或前缀-后缀拼接),因为其语义内容相对于位置分配是次要的。关键操作是赋予 $\mathbf{T}_{\text{pseudo}}$ 正确的位置索引,即它们作为模型生成的第一个 $N$ 个 token 所占据的位置,而非任意分配:
$$\text{Positions}(\mathbf{T}_{\text{pseudo}}) = [L_p, L_p+1, ..., L_p+N-1]$$这产生长度为 $L_{\text{total}} = L_p + N$ 的输入序列。模型在预填充阶段处理此扩展序列,为 $L_p$ 个提示 token 计算 KV 缓存。此步骤的主要目的是获得这些 $\mathbf{T}_{\text{pseudo}}$ 的伪查询($Q_{\text{pseudo}}$),这些伪查询被赋予解码阶段开始时正确的位置编码。
4.2 重要性评估与驱逐
我们利用 $Q_{\text{pseudo}}$ 评估来自原始提示的所有键的重要性。第 $j$ 个($j \in [0, L_p - 1]$)提示 token 的重要性分数通过聚合每个伪查询 $q_i \in Q_{\text{pseudo}}$ 对其的注意力分数计算:
$$S(j) = \sum_{i=L_p}^{L_p+N-1} \text{Attention}(q_i, k_j)$$具有最高分数 $S(j)$ 的 TopK token 被保留:
$$M_{\text{retain}} = \underset{j \in [0, L_p - 1]}{TopK}\left( S(j) \right)$$KV 缓存被剪枝,丢弃不在 $M_{\text{retain}}$ 中的所有键值对。关键的是,整个合成段 $\mathbf{T}_{\text{pseudo}}$ 在执行重要性评分后立即被丢弃。 自回归解码阶段从位置 $L_p$ 开始,仅使用大小为 $K$ 的压缩缓存。这确保模型的生成与预期时间线保持一致。
5 实验
5.1 设置
模型与基准。 为评估 DapQ 在各种模型中的适用性和泛化性,我们在 LLaMA-3-8B-Instruct、LLaMA-3.1-8B-Instruct、Qwen2.5-7B-Instruct 和 Qwen3-8B 上进行实验。为确保更全面和稳健的评估,我们使用五个基准:LongBench、LongBenchV2、Ruler、HELMET 和 Needle-in-a-Haystack,每个设计用于评估长上下文推理的不同方面。
| c >{ |
|---|
| raggedright}p{1.2cm} *{14}{c}} |
表 2:LongBench 基准上的主要结果。DapQ 在不同模型和缓存预算下一致优于所有基线。
:::
📊 表格: 表 3:吞吐量比较。DapQ 与其他压缩方法相比保持稳健性能。
:::
📊 表格: 表 4:Time-to-First-Token(TTFT)比较。DapQ 的延迟与 SnapKV 几乎相同。
:::
基线。 为全面验证 DapQ 的性能,我们选择六个代表性的 KV 缓存压缩方法作为基线:FullKV 缓存每个 token 的所有键和值,这是基于 Transformer 的模型中 KV 缓存的标准方法;SnapKV 从观察窗口捕获注意力信号,使用基于池化的聚类选择重要 KV 对进行压缩;PyramidKV 利用跨层注意力分布特征动态分配不同的 KV 缓存预算,选择重要 KV 对进行压缩;H2O 根据累积注意力分数识别 Heavy Hitter(H2)token,动态平衡最近和 H2 token 的保留以压缩 KV 缓存;StreamingLLM (SLM) 识别注意力锚点,动态平衡最近和初始 token 的保留以压缩 KV 缓存;LaCache 在预填充阶段采用阶梯形模式,在浅层保留早期 token 的 KV,逐渐转向深层中的后期 token。
实现细节。 对于所有方法,我们将观察窗口大小设置为 32,除非另有说明。在 DapQ 中,伪查询通过拼接输入序列开头和结尾的一小部分 token 来构建(例如,前 4 个和后 28 个 token,前 2 个和后 30 个 token)。此设计由两个关键考虑启发:开头 token,通常是高频特殊 token(例如 <|begin_of_text|>),由于其训练期间的广泛暴露而具有稳定和可泛化的嵌入;结尾 token 承载最近的上下文,使其语义状态与即将到来的解码步骤高度相关。
5.2 准确度改进
LongBench 结果。 如表 2 所示,DapQ 在不同模型和缓存预算下一致优于所有基线。优势在激进压缩下尤为显著(例如,预算=64),DapQ 展示了保留关键信息的稳健能力(例如,特别是在复杂信息整合任务如 HotpotQA 和 2WikiMQA 上保留长程上下文依赖),并减轻高压缩性能退化。
LongBenchV2 结果。 在 64 缓存预算下,DapQ 在"Hard"类别中实现 29.26% 的准确度,在 LLaMA3-8B-Instruct 上比 SnapKV(22.51%)标记 +6.75% 的绝对改进。
| c l *{6}{c}} |
|---|
| LLMs |
| makecell[c]{Llama3-8B |
| Instruct} |
| cellcolor{gray!20KV Cache Size = 128} |
| cellcolor{gray!20KV Cache Size = 64} |
| makecell[c]{Llama3.1-8B |
| Instruct} |
| cellcolor{gray!20KV Cache Size = 128} |
| cellcolor{gray!20KV Cache Size = 64} |
| makecell[c]{Qwen2.5-7B |
| Instruct} |
| cellcolor{gray!20KV Cache Size = 128} |
| cellcolor{gray!20KV Cache Size = 64} |
| makecell[c]{Qwen3-8B} |
| cellcolor{gray!20KV Cache Size = 128} |
| cellcolor{gray!20KV Cache Size = 64} |
表 5:LongBenchV2 基准结果。DapQ 在"Hard"类别中实现显著改进。
:::
Ruler 结果。 表 6 显示 DapQ 在缓存预算为 512 的挑战性 S-NIAH-3 任务上实现显著的 59.6% 准确度,大幅优于 SnapKV(1.4%)和 H2O(2.4%)。
| c >{ |
|---|
| raggedright}p{2.2cm} *{12}{c}} |
| LLM |
| rotatebox[origin=c]{30}{S-NIAH-1} |
| rotatebox[origin=c]{30}{S-NIAH-2} |
| rotatebox[origin=c]{30}{S-NIAH-3} |
| rotatebox[origin=c]{30}{MK-NIAH-1} |
| rotatebox[origin=c]{30}{MK-NIAH-2} |
| rotatebox[origin=c]{30}{MK-NIAH-3} |
| rotatebox[origin=c]{30}{MQ-NIAH} |
| rotatebox[origin=c]{30}{MV-NIAH} |
| rotatebox[origin=c]{30}{CWE} |
| rotatebox[origin=c]{30}{FWE} |
| rotatebox[origin=c]{30}{VT} |
| rotatebox{90{Llama3-8B-Instruct}} |
| cellcolor{gray!20KV Cache Size = 2048} |
| cellcolor{gray!20KV Cache Size = 1024} |
| cellcolor{gray!20KV Cache Size = 512} |
| cellcolor{gray!20KV Cache Size = 256} |
| cellcolor{gray!20KV Cache Size = 128} |
| cellcolor{gray!20KV Cache Size = 64} |
表 6:Ruler 基准结果。DapQ 在挑战性 S-NIAH-3 任务上实现显著优势。
:::
HELMET 结果。 如表 7 所示,DapQ 在 Qwen2.5-7B-Instruct 上以低缓存预算 512 实现平均分数 48.10,超越强基线 SnapKV(43.74)、H2O(40.36)和 PyramidKV(42.49)。
| {c}} |
|---|
| textit{exact |
| _match} |
| textit{f1} |
| textit{rougeL |
| _f1} |
| textit{substring |
| _exact |
| _match} |
| rotatebox[origin=c]{30}{**icl |
| _banking77**} |
| rotatebox[origin=c]{30}{**icl |
| _clinic150**} |
| rotatebox[origin=c]{30}{**icl |
| _nlu**} |
| rotatebox[origin=c]{30}{**icl |
| _trec |
| _coarse**} |
| rotatebox[origin=c]{30}{**icl |
| _trec |
| _fine**} |
| rotatebox[origin=c]{30}{narrativeqa} |
| rotatebox[origin=c]{30}{**infbench |
| _qa |
| _eng**} |
| rotatebox[origin=c]{30}{**kilt |
| _hotpotqa**} |
| rotatebox[origin=c]{30}{**kilt |
| _nq**} |
| rotatebox[origin=c]{30}{**kilt |
| _popqa |
| _3**} |
| rotatebox[origin=c]{30}{**kilt |
| _triviaqa**} |
| rotatebox{90{Llama3-8B-Instruct}} |
| cellcolor{gray!20KV Cache Size = 1024} |
| cellcolor{gray!20KV Cache Size = 512} |
| cellcolor{gray!20KV Cache Size = 256} |
| cellcolor{gray!20KV Cache Size = 128} |
| rotatebox{90{Qwen2.5-7B-Instruct}} |
| cellcolor{gray!20KV Cache Size = 2048} |
| cellcolor{gray!20KV Cache Size = 1024} |
| cellcolor{gray!20KV Cache Size = 512} |
| cellcolor{gray!20KV Cache Size = 256} |
表 7:HELMET 基准结果。DapQ 在低缓存预算下实现优越性能。
:::
Needle-in-a-Haystack 结果。 如图 5 和表 8 所示,一个引人注目的例子是在 LLaMA3-8B 上缓存大小为 256:DapQ 实现 99.5% 的准确度,接近全缓存性能。这一卓越性能显示 DapQ 通过前瞻编码的伪查询有效模拟解码阶段位置上下文,在大量"草堆"token 中精确识别和保留关键"针"。

图 5:Needle-in-a-Haystack 可视化结果。DapQ 在所有深度和宽度上实现接近全缓存的性能。
:::
| >{ |
|---|
| centering |
| arraybackslash}p{3.5cm} c l >{ |
| centering |
| arraybackslash}p{1cm}@{}} |
表 8:Needle-in-a-Haystack 详细结果。DapQ 在 LLaMA3-8B 上缓存大小为 256 实现 99.5% 准确度。
:::
在各种基准上,DapQ 在不同模型的几乎所有预算设置下展示最高的平均分数,特别是在严格的缓存约束下实现强性能增益。这些结果强调了其在识别和保留关键上下文信息方面的有效性、稳健性和泛化性。
5.3 效率分析
我们使用 Llama-3.1-8B-Instruct 对 DapQ 进行全面的效率评估。我们首先关注不同批次大小下的内存使用和吞吐量(输入 8k,输出 150 token,预算=256)。如表 3 和表 9 所示,DapQ 保持稳健性能,展示与其他压缩方法高度相当的内存和吞吐量。此外,为评估预填充阶段引入的算法开销,我们测量不同序列长度(从 8K 到 128K)下的 Time-to-First-Token(TTFT)。表 4 显示 DapQ 的延迟与 SnapKV 几乎相同。结果确认额外的预填充阶段开销几乎可忽略。总体而言,DapQ 在长上下文理解能力和推理效率之间实现平衡性能,确保其在实际长上下文应用中的实用性。
| 1 | 10 | 20 | 30 | 40 | 50 | |
|---|---|---|---|---|---|---|
| LaCache | 16.87 | 33.74 | 52.49 | 71.24 | OOM | OOM |
| SLM | 16.01 | 25.17 | 35.36 | 45.55 | 55.73 | 65.92 |
| H2O | 16.01 | 25.17 | 35.36 | 45.55 | 55.73 | 65.92 |
| PyramidKV | 16.01 | 25.23 | 35.47 | 45.72 | 55.96 | 66.20 |
| SnapKV | 16.01 | 25.17 | 35.36 | 45.55 | 55.73 | 65.92 |
| DapQ | 16.01 | 25.21 | 35.43 | 45.65 | 55.87 | 66.02 |
表 9:内存使用比较。DapQ 与其他压缩方法的内存使用高度相当。
:::
6 分析

图 6(a):$Q_{\text{pseudo}}$ 语义内容的影响。Fm_Ln 是输入上下文前 m 和后 n token 的拼接;RS_C 是从上下文随机采样 32 个单独 token 的拼接;RC_C 是从上下文随机采样连续 32 个 token 的拼接;Fix_C 是固定、重复的无意义序列。
:::

图 6(b):$Q_{\text{pseudo}}$ 长度的影响。窗口大小 $N$ 与性能之间的非单调关系。
:::

图 6(c):$Q_{\text{pseudo}}$ 插入位置的影响。偏离提议的 $Q_{\text{pseudo}}$ 放置导致性能退化。
:::
6.1 $Q_{\text{pseudo}}$ 语义内容的影响
为进一步调查语义变化对 KV 缓存压缩性能的实际影响,我们通过在固定缓存预算下改变伪查询的语义内容进行消融研究。如图 6(a) 所示,平均性能保持高度稳定(变异系数约 1%),无论伪查询窗口是否由不同语义内容构建(例如,输入的前缀和后缀、随机上下文内 token 或无意义序列)。这种一致性提供了引人注目的经验证据,表明注意力模式显著依赖位置信息来建立重要性分布,使语义内容成为次要因素。
6.2 $Q_{\text{pseudo}}$ 长度的影响
伪查询的长度(观察窗口的大小,$N$)是一个关键超参数,控制用于重要性估计的模拟解码上下文的广度。图 6(b) 显示 $N$ 与性能之间的非单调关系,具有明显的增加和减少阶段。
增加阶段(小 $N$): 对于小窗口大小,性能随 $N$ 增长急剧增加。这是因为小窗口缺乏上下文广度来稳健估计所有相关 token 的重要性,导致重要性评估中的高不确定性。添加更多伪查询可以提供解码过程的更全面模拟,导致更准确和全面的重要性分布。这个扩展窗口从而使模型能够识别和保留更多关键 token 以实现未来的有效生成。
减少阶段(大 $N$): 超过某一点,进一步增加 $N$ 导致性能下降。我们将此归因于稀释效应:虽然窗口中的初始查询与解码开始精确对齐,但后面的查询代表越来越推测性的未来位置。这些远距离位置的注意力模式变得越来越分散,关注对初始生成步骤不太相关的 token,向聚合重要性分数引入更嘈杂和不可靠的信号。这些查询之间的相互注意力引入额外干扰,进一步分散对关键 token 的关注。
此分析确定窗口应足够大以捕获代表性的解码上下文,但不应太大以至于稀释注意力信号。此最优点的存在进一步确认我们的方法不依赖暴力方法。相反,它通过集中于解码轨迹最相关的段进行精确和高效的模拟。
6.3 $Q_{\text{pseudo}}$ 插入位置的影响
我们观察到偏离提议的 $Q_{\text{pseudo}}$ 放置(即紧跟在提示之后)导致性能退化。此现象可由两个关键因素解释。
在上下文中插入时上下文可见性不足: 在标准因果注意力掩码下,放置在位置 $t$ 的 $Q_{\text{pseudo}}$ 只能关注前缀 $[0, t)$,无法访问后续上下文。这与我们的目标冲突,即 $Q_{\text{pseudo}}$ 应近似未来解码步骤所见的全上下文上的注意力模式。因此,如图 6(c) 左侧所示,在上下文中较早放置的 $Q_{\text{pseudo}}$ 无法重构全局注意力模式并展示退化性能。
$Q_{\text{pseudo}}$ 的分配位置向后偏离正确区间,在 RoPE 嵌入空间引入增加的不对齐: 位置的大向后偏移导致累积旋转偏移,使 $Q_{\text{pseudo}}$ 表示空间逐渐偏离真实查询的那些。这种不对齐使 $Q_{\text{pseudo}}$ 更难近似目标注意力分布,解释了观察到的随较大位置偏移的性能下降,如图 6(c) 右侧清晰所示。
7 结论
本工作强调位置信息在构建查询近似和确定注意力模式方面相对于语义内容的首要地位。我们引入 DapQ,一个新颖的 KV 缓存压缩框架,利用位置感知的伪查询模拟输出 token,从而为重要性评估建立有效的观察窗口。在预填充阶段,它与实际生成上下文紧密对齐并实现精确的 token 逐逐。广泛实验证明 DapQ 一致优于现有基线,并在长上下文场景中实现卓越性能,特别是在严格的内存约束下。
四、论文简评
创新点
核心洞察新颖:首次揭示位置信息比语义内容在查询近似和注意力模式确定中起着更关键的作用,这一发现为 KV 缓存压缩提供了新的理论基础。
方法论创新:提出 DapQ 框架,通过位置感知的伪查询在预填充阶段模拟解码阶段的上下文,实现了无需预生成或额外内存开销的解码对齐驱逐策略。
轻量高效:方法简单而有效,避免了 LAQ++ 等方法的内存峰值问题,额外预填充阶段开销几乎可忽略。
性能卓越:在严格的内存约束下(如 3% KV 缓存预算)实现近乎无损性能(99.5%),大幅优于现有基线。
局限性
语义内容的非完全可忽略性:虽然位置信息主导,但语义内容仍起着不可忽视的作用(相似度在位置正确但内容无关时为 0.7238,而在内容相同但位置不同时降至 0.3267),表明仍有优化空间。
层级敏感性差异:不同层的 $Q_{\text{pseudo}}$ 对位置和语义信息的敏感性可能不同,可能导致某些层的压缩不最优。
窗口大小的非单调关系:伪查询长度(窗口大小)存在最优值,过大窗口会引入噪音稀释效应,需要针对不同场景调优。
应用场景
资源受限场景:在 GPU 内存有限的部署环境中,DapQ 可以显著减少 KV 缓存内存占用,支持更长上下文的推理。
长上下文任务:特别适合文档摘要、多文档问答、代码补全等需要处理超长序列的任务。
实时推理系统:在需要快速响应的场景中,DapQ 的轻量特性使其成为理想选择。
多模型部署:在 LLaMA、Qwen 等多种模型架构上验证有效,具有良好泛化性。
可改进方向
语义内容优化:进一步优化 $Q_{\text{pseudo}}$ 的语义内容以更好地镜像实际解码,在不引入显著计算开销的情况下实现接近无损性能。
层级自适应机制:探索层级或自适应感知的 $Q_{\text{pseudo}}$ 近似机制,以更好地对齐每层的注意力分布。
动态窗口调整:根据输入上下文特征动态调整伪查询长度,避免固定超参数的调优需求。
与其他压缩策略结合:作为正交模块与量化、合并等其他压缩策略结合,实现更高效的 KV 缓存管理。
总结:DapQ 通过揭示位置信息的主导作用并提供轻量高效的解码对齐驱逐框架,为长上下文 LLMs 推理提供了重要的技术突破,尤其在资源受限场景中展现出卓越的实用价值。其简洁的设计理念和优异的性能使其成为 KV 缓存压缩领域的重要贡献。