Back to blog

InfoFlow KV: Information-Flow-Aware KV Recomputation for Long Context

A selective KV recomputation method using attention-norm criterion and inference-consistent RoPE ordering for long-context LLM/VLM inference

InfoFlow KV: Information-Flow-Aware KV Recomputation for Long Context

一、论文概述

项目内容
标题InfoFlow KV: Information-Flow-Aware KV Recomputation for Long Context
作者Xin Teng, Canyu Zhang, Shaoyi Zheng, Danyang Zhuo, Tianyi Zhou, Shengjie Wang
机构未明确标注
论文arXiv:2603.05353
代码未提供
发布2026-03-05 (v1, 6,286 KB)
许可未明确
领域Machine Learning (cs.LG)

二、核心思想

检索增强生成(RAG)中,大语言模型需要反复检索并处理大量外部文档(数万至数十万 token),但生成的答案通常很短。推理效率主要受限于预填充阶段——计算整个上下文的 KV 缓存。一种自然策略是离线预计算各文档块的 KV 缓存,在查询时通过重用这些缓存来组装上下文。然而,自回归解码需要一个全局有序序列,而每个文档块的 KV 缓存是在局部因果掩码下独立计算的,两者存在不匹配。

InfoFlow KV 将选择性 KV 重计算视为一个信息流问题——目标是恢复检索证据影响答案生成的通路。作者发现一个简单的注意力范数准则(从查询到上下文 token 的注意力权重之和)非常有效:它同时捕获语义相关性(反映查询-token 亲和力)和有效信息流(识别在全局因果注意力下结构性地处于传播信息位置的 token)。

问题定义

RAG 推理中,输入被划分为 KK 个块 {C1,…,CK}\{C_1, \ldots, C_K\},每块独立预填充得到局部 RoPE 位置的 KV 缓存。当这些块与 prompt 拼接后,需要全局因果位置和全局 RoPE 几何。现有方法(CacheBlend、EPIC)通过输出差异或位置启发式选择重计算 token,但未显式建模信息如何传播到生成 token。

解决方案概述

  1. 注意力范数准则:用 prompt 到上下文 token 的注意力质量聚合 sj=∑iAijs_j = \sum_i A_{ij} 作为 token 重要性评分,选取 Top-k 进行重计算
  2. 全局位置重建:在 token 选择和重计算时使用全局 RoPE 位置分配,而非预填充时的局部位置
  3. 信息流引导的块重排序:将信息量更大的块放在更接近 prompt 的位置,提升下游注意力效果

三、技术架构

整体框架图

系统架构

InfoFlow KV 的工作流程:

┌─────────────────────────────────────────────────────────────────┐
│                    InfoFlow KV Pipeline                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Step 1: Input Chunking & Chunk-wise Prefill                   │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                      │
│  │ Chunk 1  │  │ Chunk 2  │  │ Chunk K  │  ← 局部 RoPE 编码   │
│  │ k,v cache│  │ k,v cache│  │ k,v cache│                      │
│  └──────────┘  └──────────┘  └──────────┘                      │
│                                                                 │
│  Step 2: Global Position Reconstruction                        │
│  Concatenate chunks with prompt → assign global positions       │
│                                                                 │
│  Step 3: Token Selection (Attention Norm Criterion)            │
│  Compute A ∈ R^{M×N} (prompt-to-context attention)            │
│  s_j = Σ_i A_ij → Top-k tokens for recomputation              │
│                                                                 │
│  Step 4: Selective KV Recomputation                            │
│  Recompute KV for selected top-k tokens under global causal    │
│  mask with global RoPE positions                                │
│                                                                 │
│  Step 5: Optional Chunk Reordering                             │
│  Two-stage selection → place more informative chunks closer    │
│  to prompt                                                      │
│                                                                 │
│  Step 6: Concatenate recomputed KV with cached chunks          │
│  Restore cross-chunk interactions → autoregressive decoding    │
└─────────────────────────────────────────────────────────────────┘

核心公式

KV 缓存定义:

ktℓ=WKℓhtℓ,vtℓ=WVℓhtℓ,(1)\mathbf{k}^{\ell}_{t}=\mathbf{W}^{\ell}_{K}\mathbf{h}^{\ell}_{t},\qquad\mathbf{v}^{\ell}_{t}=\mathbf{W}^{\ell}_{V}\mathbf{h}^{\ell}_{t},\tag{1} K≤tℓ∈Rt×dh,V≤tℓ∈Rt×dh.(2)\mathbf{K}^{\ell}_{\leq t}\in\mathbb{R}^{t\times d_{h}},\qquad\mathbf{V}^{\ell}_{\leq t}\in\mathbb{R}^{t\times d_{h}}.\tag{2}

RoPE(旋转位置编码):

RoPE(x,t)=[cos⁡(θit)−sin⁡(θit)sin⁡(θit)cos⁡(θit)]x,(3)\mathrm{RoPE}(\mathbf{x},t)=\begin{bmatrix}\cos(\theta_{i}t)&-\sin(\theta_{i}t)\\ \sin(\theta_{i}t)&\cos(\theta_{i}t)\end{bmatrix}\mathbf{x},\tag{3} θi=10000−2i/d,i=0,…,d2−1.(4)\theta_{i}=10000^{-2i/d},\quad i=0,\dots,\frac{d}{2}-1.\tag{4}

全局位置分配:

g(t)=Δctx+pi(t),(5)g(t)=\Delta_{\mathrm{ctx}}+p_{i}(t),\tag{5} g(p)=Δpr+ppr(p).(6)g(p)=\Delta_{\mathrm{pr}}+p_{\mathrm{pr}}(p).\tag{6}

其中 Δctx\Delta_{\mathrm{ctx}} 指定块在整个上下文中的起始位置,pi(t)p_i(t) 为块内局部位置;Δpr\Delta_{\mathrm{pr}} 为 prompt 偏移,ppr(p)p_{\mathrm{pr}}(p) 为 prompt 内部排序。

Token 重要性评分(注意力范数准则):

sj=∑i=1MAij.(7)s_{j}=\sum_{i=1}^{M}A_{ij}.\tag{7}

其中 A∈RM×NA \in \mathbb{R}^{M \times N} 为 prompt 到上下文的注意力矩阵,MM 为 prompt 大小,AijA_{ij} 表示第 ii 个 prompt token 对第 jj 个上下文 token 的注意力权重。

重计算目标选择:

S=Top⁡-k({sj}j=1N).(8)\mathcal{S}=\operatorname{Top}\text{-}k\big(\{s_{j}\}_{j=1}^{N}\big).\tag{8}

选择注意力质量最高的 kk 个上下文 token 进行全上下文 KV 重计算。

为什么使用 prompt-to-token 注意力? 因为 prompt-to-token 注意力直接决定每个上下文 token 在解码时能检索多少信息,直接影响下一个 token 的预测。这与自回归语言模型的性质一致:每个生成 token 都 attends 到之前缓存的 key-value。

模型组件

组件说明关键参数
Chunk-wise Prefill将输入划分为 KK 个块,每块独立预填充块大小固定 2048 token
Global Position Reconstruction拼接后将全局位置分配给所有 tokenΔctx\Delta_{\mathrm{ctx}}, Δpr\Delta_{\mathrm{pr}}
Attention Norm Criterion基于 prompt-conditioned 注意力质量选择 token使用中间偏后层(22–25 层)的注意力
Top-k Selector按重要性分数排序,选取前 kk 个 tokenkk 可变(0, 2, 4 等)
Full-layer Recomputation在所有 Transformer 层上重计算选定 token 的 KV确保全局因果注意力一致性
Chunk Reordering两阶段选择:HL-TP(多样性)→ GLOBAL(精确性)可选步骤

训练流程

InfoFlow KV 是一个推理阶段方法,不需要修改预训练模型。其部署流程:

  1. 离线预填充:将检索到的文档/证据块独立预填充,存储 chunk-local KV 缓存
  2. 全局位置重建:查询时将 prompt + 检索块拼接,分配全局位置
  3. Token 选择:在中间偏后层(22–25)计算 prompt-conditioned 注意力质量
  4. 选择性重计算:选取 Top-k 高重要性 token,在全局因果掩码下重计算 KV
  5. 可选块重排序:两阶段选择后重新排列块顺序
  6. 自回归解码:拼接重计算的 KV 与缓存的 KV,正常解码

四、核心创新

创新点说明理论/实验依据
信息流视角将选择性 KV 重计算重新定义为信息流恢复问题注意力范数同时捕获语义相关性和结构信息传播能力
注意力范数准则简单有效的 token 重要性评分:sj=∑iAijs_j = \sum_i A_{ij}Table 3 在所有基准上优于 CacheBlend 和 EPIC
推理一致 RoPE 排序引入全局位置重建,解决选择与解码时 RoPE 几何不匹配Table 1 消融:GLOBAL 配置 consistently 最佳
块重排序策略两阶段 token 选择 + 信息量大的块靠近 promptTable 3 显示 “Our + Reorder” 在多跳推理上有额外增益
跨模型通用性无需修改预训练模型,适用于 LLM 和 VLMQwen3-14B, LLaMA-3.1-8B, GLM-4-9B, Qwen3-VL-8B 均验证

五、代码实现分析

本文未提供公开代码仓库。根据附录 B 的实现细节:

关键实现要点:

  • Norm 层选择:使用第 22–25 层的注意力计算 prompt-conditioned 注意力质量
  • 重计算层:在所有 Transformer 层上重计算选定 token 的 KV 状态
  • RoPE 配置:默认使用 GLOBAL 全局位置分配;重排序设置下第一阶段用 HL-TP,第二阶段用 GLOBAL

六、实验结果

基准测试

Table 3: LLM 长上下文 QA 性能对比( passage-split 设置)

模型任务BaselineNo RecomputeOurOur+ReorderCacheBlendEPIC(15%)
Qwen3-14B2WikiMQA——最佳最佳次优较差
Qwen3-14BMuSiQue——最佳次优较差较差
Qwen3-14BHotpotQA——最佳次优次优较差
Qwen3-14BNarrativeQA——次优最佳较差较差
LLaMA-3.1-8B2WikiMQA——最佳次优次优较差
LLaMA-3.1-8BMuSiQue——最佳次优较差较差
ChatGLM-9B2WikiMQA——最佳次优次优较差

关键发现:多跳推理任务(2WikiMQA, MuSiQue, HotpotQA)受益最大,因为这些任务需要从远距离上下文片段聚合证据,对跨块信息丢失最敏感。

Table 4: Qwen3-VL-8B VLM 性能对比

任务k=0 (No Rec.)k=2 (Ours)k=4 (Ours)CacheBlendEPIC
RealWorldQA基线最佳最佳次优较差
ChartQA基线最佳最佳次优较差
OCRBench基线最佳最佳次优较差
HRBench4K基线次优最佳较差较差
InfoVQA基线次优最佳较差较差

在结构化要求高的任务(ChartQA, OCRBench)上提升最明显——这些任务需要将分散的视觉元素与文本线索整合。

消融实验

Table 1: RoPE 几何配置消融(Qwen, passage-split 设置)

RoPE 配置2WikiMQAMuSiQueHotpotQANarrativeQA
HL-HP0.44550.28710.55290.1481
TL-TP0.44580.29700.56930.1923
HL-TP0.47220.30720.56510.2106
GLOBAL (Ours)0.50190.33860.59540.2288

GLOBAL 在所有基准上一致最佳。提示与上下文 token 分配到分离或截断的位置范围(如 HL-HP, TL-TP)导致明显较低分数。

Table 2: RoPE 相似度统计

norm-based 选择在 MoM(Mean-of-Max)和 Max 指标上 consistently 优于 CacheBlend 和 EPIC,表明注意力显著性与 RoPE 诱导的位置结构对齐——高注意力质量的 token 倾向于占据 RoPE 空间中利于信息传输的位置。

Neural-in-a-Haystack 分析(Figure 3):

  • 基线模型在所有深度和上下文长度下保持近完美检索
  • 无重计算的 chunk-wise prefill 随上下文增长严重退化
  • InfoFlow KV 在大多数深度恢复高检索精度,且在大上下文长度下比 CacheBlend 和 EPIC 更少失败区域

Layer 分析(Figure 4):

  • 中间偏后层(22–25 层)的注意力规范 consistently 产生最强性能
  • 全层重计算比部分层更稳定,无需额外超参数

效率分析

Table 5: TTFT 延迟与加速比(4× NVIDIA H100, 序列并行)

序列长度Single-GPU PrefillRing AttentionOurs (15% recompute)Ours vs RingOurs vs Single
8192566.7 ms247.5 ms232.0 ms1.07×2.44×
163841285.8 ms707.8 ms427.6 ms1.66×3.01×
327683190.5 ms2350.1 ms914.0 ms2.57×3.49×

在 32K 上下文长度下,相比单 GPU 预填充加速 3.49 倍,相比 ring attention 加速 2.57 倍。

Table 6: Ring Attention 对比 F1 分数

数据集Ring Attention F1Ours F1Δ
HotpotQA——+1.30
2WikiMQA——+2.55
MuSiQue——+1.44

七、相关工作

方法核心思路与 InfoFlow KV 的区别
H2O基于最近性或注意力重要性丢弃 KV 状态仅减少缓存大小,不恢复跨块交互
StreamingLLM保留最近和初始 token 的 KV启发式,不针对 RAG 场景优化
Pyramid KV分层压缩历史 KV 表示近似压缩,不保证信息流恢复
CacheBlend测量缓存与全上下文运行的输出差异依赖早期层比较,效率受限
EPIC固定块起始 token 重计算位置启发式,不建模信息传播
CEPE轻量编码器并行编码长上下文跨块交互未在块表示中显式建模

八、总结

核心贡献

  1. 信息流视角:将选择性 KV 重计算重新定义为恢复检索证据影响答案生成的通路问题
  2. 注意力范数准则:简单的 prompt-conditioned 注意力质量聚合 sj=∑iAijs_j = \sum_i A_{ij},同时捕获语义相关性和结构信息流
  3. 推理一致 RoPE 排序:全局位置重建解决选择与解码时 RoPE 几何不匹配,GLOBAL 配置 consistently 最佳
  4. 块重排序策略:两阶段 token 选择 + 信息量大的块靠近 prompt,在多跳推理任务上有额外增益
  5. 跨模型通用性:在 LLM(Qwen3-14B, LLaMA-3.1-8B, GLM-4-9B)和 VLM(Qwen3-VL-8B)上均验证有效

技术影响

  • 在固定重计算预算下,consistent 改进 LLM 和 VLM 的长上下文 QA 性能
  • 多跳推理任务(2WikiMQA, MuSiQue)提升最显著
  • 在 32K 上下文长度下,TTFT 相比单 GPU 预填充加速 3.49 倍
  • 无需修改预训练模型,可直接集成到现有 RAG 系统中

局限性

  1. 不规则注意力掩码:选择性重计算需要 attend 动态子集到全上下文,导致非标准注意力模式,现有优化 kernel(如 FlashAttention)不支持,实际开销可达理想计算成本的 2 倍
  2. 需要 kernel 级优化:论文指出需要开发支持不规则注意力掩码的新 kernel 来进一步降低重计算开销
  3. k 值选择:重计算比例需要手动调优,缺乏自动选择策略

九、参考资源

关键图片索引

图片说明文件名
Figure 1InfoFlow KV 整体流程图:chunk-local RoPE 预填充 → 全局位置重建 → 注意力范数选择 → 选择性重计算 → 恢复跨块交互figure-1-main.png
Figure 2系统效率对比(TTFT vs Avg F1 Pareto 前沿)文中图表,base64 嵌入
Figure 3Needle-in-a-Haystack 检索准确率热力图:不同上下文长度和 needle 深度下的鲁棒性分析figure-2-needle-haystack.png
Figure 4Layer 分析:不同 Transformer 层提取的注意力规范对检索准确率的影响(22–25 层最优)figure-3-layer-analysis.png