Minima-KV:基于混合格式分页注意力的保持保留KV缓存压缩

arXiv cs.AI 论文

摘要

Minima-KV 提出了一种基于混合格式分页注意力的保持保留KV缓存压缩方法,旨在减少长上下文LLM服务中的内存占用,并在基准测试中评估了其性能。

arXiv:2608.23834v1 公告类型:新 摘要:键值(KV)缓存是长上下文LLM服务中的主要容量和带宽瓶颈。我们提出Minima-KV,一种用于混合格式分页注意力的保持保留层次结构。最近和受保护的锚点页面保持FP8格式,而较旧的非锚点页面移动到打包的TQ3;每个活动请求页面保持可寻址。格式特定内核计算部分注意力状态,并通过全局归一化的在线softmax合并它们,使得无需缓存大小的密集阴影即可直接进行异构解码。在单个96GB NVIDIA RTX PRO 6000 Blackwell GPU上,针对不同的配置绑定的Qwen3.6-27B配置文件,部署报告每个活动令牌18.3 KiB的注意力KV,相对于BF16压缩3.50倍,相对于FP8压缩1.75倍。一个实体化质量配置文件在16K RULER针插干草堆任务中匹配其密集控制。在相同的503题LongBench v2集合上,测量的增量在16K、32K和64K时分别为-0.80、-0.60和-0.40百分点。一个单独的单对直接解码金丝雀测试,有两个59,008令牌请求,测量到3.625倍的活动KV压缩和0.9821倍的吞吐量相对于其控制,路由所有16个完整注意力层而无需回退,并且不保留密集阴影。这些结果建立了一种实用的混合格式路径,用于压缩长上下文状态而不驱逐活动请求的KV页面。
查看原文
查看缓存全文

缓存时间: 2026/08/26 09:13

# Minima-KV:采用混合格式分页注意力的保真度保持KV缓存压缩
来源:https://arxiv.org/html/2608.23834
Davyd Maiboroda  
所属单位:Minima AI, Inc.  
邮箱:[[email protected]](mailto:)

###### 摘要

长上下文大语言模型(LLM)服务受限于键值(KV)缓存容量与带宽。本文提出Minima-KV,一种为分页注意力设计的保真度保持层级结构。近期页面与锚点页面采用FP8格式,陈旧页面则使用TQ3格式。所有活跃请求的页面保持可寻址性;特定格式的内核在不保留缓存级密集影子内存的情况下,融合这两种物理格式。

我们以独立配置文件的形式呈现了可用证据。在配备单张96GB NVIDIA RTX PRO 6000 Blackwell GPU的环境上,针对Qwen3.6-27B模型,部署计量报告每个活跃令牌占用18.3 KiB注意力KV空间,相对于BF16实现了3.50倍的空间缩减,相对于FP8实现了1.75倍缩减,但现有记录未按层级区分字节占用。一个注重质量的FP8/TQ3物化配置文件在16K上下文长度的八任务RULER NIAH测试中与密集基准匹配,在8K长度下任务宏值得分提升0.20个百分点,但在4K长度下退化0.9个百分点;在相同的503题LongBench v2数据集上,16K、32K、64K长度分别退化0.80、0.60、0.40个百分点。另一个静态直接融合的FP8/TQ3金丝雀配置在59,008令牌的双请求测试中,实现了3.625倍的活跃KV压缩率,所有16个全注意力层无需回退即可路由,且不保留密集影子。其单对吞吐量比值相对于密集基准为0.9821(该基准的KV数据类型未受现有记录约束)。在三个LongBench v2长度上,所有测量差值均保持在密集基准的±1个百分点内。吞吐量仍为独立的单对结果,并非多次运行的重复证据。所有定量结果均指此三层近期/锚点/陈旧系统。

## 1引言

自回归解码通过在KV缓存中保留过去的注意力键与值来避免重新计算。这将重复计算转化为状态与内存带宽问题:缓存大小随上下文长度、批大小、全注意力层数、KV头数及头维度线性增长。PagedAttention减少了分配器碎片化并支持缓存共享,但并未减少每个物理页面中存储的信息量[1 (https://arxiv.org/html/2608.23834#bib.bib1)]。在长上下文或高并发场景下,KV内存因此限制了请求准入、批处理及GPU利用率。

先前工作通过量化[2 (https://arxiv.org/html/2608.23834#bib.bib2),3 (https://arxiv.org/html/2608.23834#bib.bib3),4 (https://arxiv.org/html/2608.23834#bib.bib4)]、驱逐或稀疏保留[6 (https://arxiv.org/html/2608.23834#bib.bib6),7 (https://arxiv.org/html/2608.23834#bib.bib7),8 (https://arxiv.org/html/2608.23834#bib.bib8),9 (https://arxiv.org/html/2608.23834#bib.bib9)]以及低秩或结构化表示[10 (https://arxiv.org/html/2608.23834#bib.bib10),11 (https://arxiv.org/html/2608.23834#bib.bib11),18 (https://arxiv.org/html/2608.23834#bib.bib18)]来攻克这一瓶颈。这些方向暴露了一个核心矛盾:均匀量化具有可恢复性,但对不同重要性的令牌分配了相同比特数;基于重要性的驱逐选择性地消耗内存,但当未来注意力转向先前不重要的上下文时可能失效;结构化压缩可在每比特中保留更多信息,却需要运行时协同设计以避免重构成本抵消内存节省。

Minima-KV将KV状态视为一个受管理的保真度层级。新页面起始于高保真度的近期窗口。受保护的锚点集保留旧系统指令、注意力汇聚点、检索证据或其他全局重要区域。较旧的非锚点页面则转向三比特表示。每个逻辑页面保持可寻址,提供精确或可重构的近似值;没有任何生命周期转换会删除活跃请求中的KV。控制器还支持页面级注意力评分,使得频繁检索的页面即使较旧也能向锚点层提升。本文评估的Qwen3.6配置文件使用已实现的三层FP8/TQ3路径。已完成的请求前缀作为独立的缓存资源,可在其最后活跃请求引用释放后被驱逐。

本文做出四项贡献:

1.  我们为分页KV内存制定了保真度保持的生命周期,在不删除活跃请求页面的前提下,实现近期与锚点页面使用FP8、陈旧页面使用TQ3。
2.  我们描述了混合格式分页注意力内核,通过稳定的全局softmax合并归一化的FP8与TQ3部分输出,无需构建缓存大小的密集影子内存。
3.  我们报告了按配置分离的Qwen3.6-27B实证数据,包括质量测量结果:16K RULER NIAH上与基准持平,4K RULER NIAH上退化小于1%,以及直至64K的LongBench v2结果。
4.  我们提供了一种CUDA图兼容的异构解码路径,以及包含路由、回退、密集影子、物理字节和不可变前缀检测的所有权协议。

我们并非声称首个动态、分层或混合精度KV方法。DynamicKV、DiffKV、HqeKV、QEvict和MosaicKV提供了相近且重要的先例[12 (https://arxiv.org/html/2608.23834#bib.bib12),13 (https://arxiv.org/html/2608.23834#bib.bib13),14 (https://arxiv.org/html/2608.23834#bib.bib14),15 (https://arxiv.org/html/2608.23834#bib.bib15),16 (https://arxiv.org/html/2608.23834#bib.bib16)]。所评估系统的贡献在于将保真度保持的FP8/TQ3侧存储、直接异构解码、所有权及检测机制集成于一个面向生产的分页运行时中。

预填充与分页分配  
年龄/结构+可选评分  
近期+锚点  
FP8(含汇聚点)  
陈旧:打包TQ3  
特定格式解码路径  
在线softmax状态合并  
页面注意力评分  
提升  
所有逻辑页面保留

图1:三层Minima-KV数据路径。近期与锚点页面使用FP8,陈旧页面使用打包TQ3。控制器可消费全局归一化的页面分数;两种物理格式在同一softmax归一化下合并。本文所有定量声明均基于此层级结构。

## 2背景与动机

### 2.1 KV缓存扩展

对于一个具有\(L_f\)个全注意力层、\(H_{kv}\)个KV头、头维度\(d_h\)以及每标量\(s\)字节的模型,一个活跃令牌增加的载荷为:

\[
m_{\mathrm{KV/token}} = 2 L_f H_{kv} d_h s,
\]

其中因子2用于计算键和值。分配的内存还包含缩放因子、打包格式元数据、页面填充、分配器预留及临时工作空间。在上下文长度标签中,1K表示1,024个令牌;二进制内存单位以KiB和GiB报告。

Qwen3.6-27B拥有64个语言层,排列为16个组,每组包含三个门控DeltaNet层后跟一个全注意力层。其全注意力路径具有四个维度为256的KV头[28 (https://arxiv.org/html/2608.23834#bib.bib28)]。因此:

\[
m_{\mathrm{BF16}} = 2 (16) (4) (256) (2) = 65,536 \text{ bytes/token},
\]
\[
m_{\mathrm{FP8}} = 32,768 \text{ bytes/token}.
\]

BF16注意力缓存对于32K令牌序列精确为2.00 GiB,对于128K令牌序列为8.00 GiB。门控DeltaNet循环状态是独立的逐序列分配;Minima-KV不将其计为压缩的注意力KV。这一区分很重要,因为固定的逐序列状态限制了注意力KV压缩可获得的并发增益。

### 2.2 为何均匀精度非最优

下一个令牌的分布对所有过去位置的敏感度并不相同。近期令牌通常主导局部连贯性和进行中的推理。较旧的系统指令、文档标题、标识符、检索证据和注意力汇聚点可能保持全局重要性。大段旧的背景上下文敏感性较低,但在注意力转移后可能变得相关。因此,一个有用的策略需同时区分**保真度**和**保留性**:为前两组分配更多比特,为陈旧组分配更少比特,并避免不可逆删除。

键与值还具有不同的误差语义。键失真改变注意力分数,可能将注意力路由至错误位置;值失真改变路由后读取的内容。KIVI和KVQuant同样促成了对键与值的非对称处理[2 (https://arxiv.org/html/2608.23834#bib.bib2),3 (https://arxiv.org/html/2608.23834#bib.bib3)]。Minima-KV在其编解码器和内核接口中保持了这种分离,即使部署中为两种张量选择了相同的名义层级。

## 3 Minima-KV层级结构

### 3.1 分页状态与生命周期

令物理页面\(p\)包含\(B_p\)个逻辑令牌位置。在解码步骤\(t\),控制器分配

\[
z_{p,t} \in \{R, A, S\},
\]

分别对应近期、锚点和陈旧状态。控制器策略使用页面年龄、注意力统计、结构化提示元数据、层/头敏感度、K/V角色以及当前内存压力:

\[
z_{p,t+1} = \pi(z_{p,t}, a_{p,t}, h_{p,t}, u_t).
\]

此处\(h_{p,t}\)包含结构和年龄特征,\(u_t\)为全局利用率。注意力评分是可选的控制器输入。为使不同物理格式的分数可比,页面质量必须用与注意力输出相同的全局softmax进行归一化。对于查询头\(h\),令\(s_{h,t,i}\)为令牌\(i\)的分数,并令分区\(j\)报告

\[
m_{h,t,j} = \max_{i \in j} s_{h,t,i},
\]
\[
\ell_{h,t,j} = \sum_{i \in j} e^{s_{h,t,i} - m_{h,t,j}}.
\]

令\(m_{h,t} = \max_j m_{h,t,j}\)且\(\ell_{h,t} = \sum_j e^{m_{h,t,j} - m_{h,t}} \ell_{h,t,j}\),定义局部质量及其全局分区权重为

\[
\rho_{h,t,p}^{(j)} = \frac{1}{\ell_{h,t,j}} \sum_{i \in p} e^{s_{h,t,i} - m_{h,t,j}},
\]
\[
w_{h,t,j} = \frac{e^{m_{h,t,j} - m_{h,t}} \ell_{h,t,j}}{\ell_{h,t}}.
\]

因此\(q_{h,t,p} = w_{h,t,j(p)} \rho_{h,t,p}^{(j(p))}\)是全局归一化的。参考收集器依赖于页面可寻址的质量(排除任何学习的汇聚状态),因此使用\(\widetilde{q}_{h,t,p} = q_{h,t,p} / \sum_{p'} q_{h,t,p'}\)。对于采样头集\(\mathcal{H}\),控制器随后计算

\[
r_{p,t} = \frac{1}{|\mathcal{H}|} \sum_{h \in \mathcal{H}} \widetilde{q}_{h,t,p},
\]
\[
a_{p,t} = \beta a_{p,t-1} + (1 - \beta) r_{p,t}.
\]

在强制汇聚和近期页面被移出竞争后,配置的策略可将\(a_{p,t}\)与年龄和结构特征结合以填充锚点预算。此处报告的评估Qwen3.6配置文件禁用了注意力评分。签入的参考收集器从保留的密集视图计算全局归一化质量;直接FP8/TQ3内核尚未被验证为其分数来源。因此,我们将评分描述为支持的机制,但不声称其有效性或开销。

#### 近期(R,FP8)

新KV以FP8格式追加到滑动窗口中。此层级保护局部推理,并避免对最可能在后续步骤被频繁读取的页面进行压缩工作。

#### 锚点(A,FP8)

锚点是受保护的旧页面。候选者包括系统和开发者指令、初始注意力汇聚点、检索证据、文档或代码结构,以及具有高累积或近期注意力的页面。在每个重新分层检查点,控制器根据组合分数对合格旧页面排序。离开受保护预算的页面将沿年龄路径转向陈旧。当陈旧页面重新进入受保护预算时,将被物化并提升。

#### 陈旧(S,TQ3)

旧的非锚点页面使用受TurboQuant启发的三比特旋转标量量化器进行编码[20 (https://arxiv.org/html/2608.23834#bib.bib20)]。打包的码字、缩放因子和所需元数据存储在页面旁边。解码内核在加载图块时解包并应用该表示,避免缓存大小的反量化缓冲区。证据记录将具体范数校正的打包布局称为TQ3P;本文在逻辑层级使用TQ3。

图2 (https://arxiv.org/html/2608.23834#S3.F2)总结了已实现的状态转换;算法3.1 (https://arxiv.org/html/2608.23834#S3.SS1.SSS0.Px3)指定了其发布前复制和引用释放规则。

近期FP8  
陈旧TQ3  
锚点FP8  
年龄  
保护  
提升  
降级  
所有活跃请求页面保留

图2:已实现的三层保真度保持生命周期。近期与锚点页面使用FP8,合格的旧非锚点页面使用打包TQ3。提升在发布前重建为FP8,且每个活跃请求的逻辑页面保持可寻址。

**算法1:所有权感知页面转换协议。**  
仅在构建目标后发布新映射,且仅在源页面的所有读者和转换事件清除后释放源引用。

1.  **Append(q, p)**:分配一个请求拥有的近期页面,写入KV,然后发布其逻辑到物理映射。
2.  **Retier(p, f)**:保留源引用;分配并填充格式\(f\);记录转换完成;原子发布新格式标签和物理标识符;仅在所有读者和转换事件清除后释放源。
3.  **Promote(p)**:重建到新分配的FP8页面,发布FP8映射,然后回收压缩引用。
4.  **SealPrefix(p, k)**:只有不可变的完整页面可绑定到前缀哈希\(k\);缓存获得独立于请求的引用。
5.  **Finish(q)**:释放请求引用。驱逐会丢弃缓存引用,物理页面在其最后请求、缓存、读者和转换引用消失后才返回其空闲列表。

### 3.2 有效速率与实现压缩率

令\(p_R, p_A, p_S\)分别表示分配给三种状态的逻辑KV标量比例,其中\(p_R + p_A + p_S = 1\)。简化的有效速率模型为

\[
b_{eff} = 8 (p_R + p_A) + b_S p_S + b_{meta},
\]

其中\(b_S\)是实现的物理TQ3速率,包括打包的码字以及编解码器局部的范数和缩放因子,而\(b_{meta}\)涵盖页面索引、对齐、分配器效应及剩余元数据。相对于BF16的压缩比为\(C_{BF16} = 16 / b_{eff}\)。部署计量报告每个活跃令牌18.3 KiB,相当于约4.58比特每标量,相对于BF16占空比缩减3.497倍(报告为3.50倍),相对于FP8占空比缩减1.749倍。该汇总**未**识别\(p_R, p_A, p_S, b_S\)、元数据、临时空间或依赖于上下文的占用率。因此,我们仅使用18.3 KiB/令牌作为所有者报告的工作负载汇总,并将恒定速率容量值标记为分析场景而非每上下文测量值。

### 3.3 混合格式分页注意力

对于一个查询图块\(Q\),运行时按格式对逻辑页面进行分区。每个特定格式的内核处

相似文章

PolyKV: 异构保留与分配的KV缓存压缩

arXiv cs.LG

PolyKV是一种逐层的KV缓存压缩框架,为每一层分配异构的驱逐策略和非均匀的预算,在LongBench上使用LLaMA-3.1-8B和Qwen3-8B相比统一基线有显著提升。