Back to blog

Chelsea: Efficient Long-Context LLM Inference via KV Cache Clustering

基于分块软匹配的在线KV缓存聚类框架,实现80%内存节省和3.19倍解码加速

Chelsea: Efficient Long-Context LLM Inference via KV Cache Clustering

一、论文概述

项目内容
标题Efficient Long-Context LLM Inference via KV Cache Clustering
作者Yingfa Chen, Yijun Liu, Zhen Leng Thai, Xu Han, Zhiyuan Liu, Maosong Sun
论文arXiv:2506.11418
发布2025-06-12 (v1), 2025-06-16 (v3)
主题cs.CL (Computation and Language)

二、核心思想

问题定义

长上下文LLM推理面临KV缓存的双重挑战:

  1. 内存瓶颈:KV缓存随上下文长度线性增长,成为内存瓶颈
  2. 延迟瓶颈:自回归生成需要访问整个KV缓存,成为推理延迟瓶颈

关键观察

观察1:Key状态在序列维度上呈现高相似性

  • Token之间存在高余弦相似度
  • 相似token倾向于聚集在局部区域

观察2:Token距离与相似度呈凸单调递减

  • 随着token距离增加,余弦相似度单调递减
  • 这种关系呈凸函数形状

观察3:不同层和头的行为不均匀

  • 初始层相似度较低
  • 某些注意力头对聚类更敏感(outlier heads)

解决方案概述

Chelsea是一个简单有效的在线KV缓存聚类框架,核心创新是分块软匹配(Chunked Soft Matching)算法:

  1. 将序列分块,保留attention sinks和recent tokens
  2. 在每个chunk内使用交替分区策略
  3. 跨chunk识别高相似token对形成聚类
  4. 将聚类内的key和value合并为单一中心

三、技术架构

整体框架图

Chelsea框架概述

Figure 1: Chelsea概述:a) 将序列分块;b) 分块软匹配识别聚类;c) 聚类后KV缓存压缩。

核心观察

观察1:Key状态相似性

Key状态相似性

Figure 2: 不同层和头的key状态余弦相似度图。

观察2:距离-相似度关系

距离-相似度关系

Figure 3: Token距离与key状态余弦相似度的相关性。

核心公式

注意力计算(原始): Attn(q,K,V)=softmax(qKTdk)V=∑i=1nexp⁡(qTkidk)vi∑i=1nexp⁡(qTkidk)\text{Attn}(q,K,V) = \text{softmax}\left(\frac{qK^T}{\sqrt{d_k}}\right)V = \frac{\sum_{i=1}^{n}\exp\left(\frac{q^T k_i}{\sqrt{d_k}}\right)v_i}{\sum_{i=1}^{n}\exp\left(\frac{q^T k_i}{\sqrt{d_k}}\right)}

聚类后注意力近似: Attn(q,K,V)≈∑t=1Cntexp⁡(qTk^tdk)v^t∑t=1Cntexp⁡(qTk^tdk)\text{Attn}(q,K,V) \approx \frac{\sum_{t=1}^{C} n_t \exp\left(\frac{q^T \hat{k}_t}{\sqrt{d_k}}\right) \hat{v}_t}{\sum_{t=1}^{C} n_t \exp\left(\frac{q^T \hat{k}_t}{\sqrt{d_k}}\right)}

其中:

  • K^=[k^1,…,k^C]\hat{K} = [\hat{k}_1, \dots, \hat{k}_C]:聚类中心
  • N=[n1,…,nC]N = [n_1, \dots, n_C]:聚类度(每个聚类的token数)
  • CC:聚类数量

带聚类度的注意力: O=Softmax(qKTd+log⁡N)VO = \text{Softmax}\left(\frac{qK^T}{\sqrt{d}} + \log N\right)V

算法流程

Algorithm 1: Chelsea推理管线

输入: 缓存比例R, 压缩比r, 最大解码长度Γ, attention sink n1, recent预算n2, 步长g, chunk大小c

预填充: Q,K,V ∈ R^{n×d}
初始化: 缓存长度s=n, 聚类度N=[1]·n, 缓存预算B=R·(n+Γ)

输出: O = FlashAttn(Q,K,V)

如果 s ≥ B+g:
    K,V,N,s = Chelsea(K,V,N,s,n1,n2,r,c)

对于 i=1...Γ-1:
    解码状态 q,k,v ∈ R^{1×d}
    更新: K=[K,k], V=[V,v], N=[N,1], s=s+1
    输出: O = Softmax(qK^T/√d + log N)V

    如果 s ≥ B+g:
        K,V,N,s = Chelsea(K,V,N,s,n1,n2,r,c)

分块软匹配算法

步骤1:序列分块

  • 将序列分为大小为c的chunk
  • 保留attention sinks(前n1个token)和recent tokens(后n2个token)

步骤2:交替分区

  • 每个chunk内按交替方式分为集合A和B
  • 理论证明:对于凸单调递减的相似度函数,交替分区是最优的

步骤3:软匹配

  • 在集合A和B之间找到最高相似度的token对
  • 形成聚类集合

步骤4:合并

  • 将聚类内的key和value合并为单一中心
  • 聚类度n_t记录每个聚类的token数

理论分析

定理6.1:定义分区集 P2n={(A,B)∣∣A∣=∣B∣=n,A∪B=[2n]}\mathcal{P}_{2n} = \{(A,B) \mid |A|=|B|=n, A \cup B=[2n]\}。如果函数 f:[2n−1]→Rf:[2n-1] \rightarrow \mathbb{R} 满足 f(1)−f(2)≥f(2)−f(3)≥⋯≥f(2n−2)−f(2n−1)≥0f(1)-f(2) \geq f(2)-f(3) \geq \dots \geq f(2n-2)-f(2n-1) \geq 0,则:

(A0,B0)=({1,3,⋯ ,2n−1},{2,4,⋯ ,2n})∈arg⁡max⁡(A,B)∈P2n∑x∈A∑y∈Bf(∣x−y∣)(A_0, B_0) = (\{1,3,\cdots,2n-1\}, \{2,4,\cdots,2n\}) \in \arg\max_{(A,B) \in \mathcal{P}_{2n}} \sum_{x \in A} \sum_{y \in B} f(|x-y|)

计算复杂度:

方法距离矩阵复杂度
K-MeansO(nkd · i)
KVMergerO(n²d)
ChelseaO(nd)

其中n是序列长度,d是隐藏维度,k是聚类中心数,i是迭代次数。

Outlier Heads处理

Outlier Heads

Figure 6: Llama2-7b-32K的outlier heads。

Outlier Heads

Figure 7: Llama3.1-8b-Instruct的outlier heads。

关键发现:

  • 不同层和头对聚类的敏感度不同
  • Outlier heads需要特殊处理以保持性能
  • 仅4%的头被识别为outlier heads

四、核心创新

创新点说明理论/实验依据
分块软匹配算法首次将Bipartite Soft Matching应用于KV缓存聚类计算复杂度O(nd),远低于K-Means
交替分区策略理论证明最优性定理6.1证明凸函数下的最优性
Outlier Heads识别动态识别敏感注意力头仅4%的头需要特殊处理
轻量级设计即插即用,最小计算开销不影响预填充阶段

五、实验结果

实验设置

  • 模型:
    • Llama-2-7B-32K
    • Llama-3.1-8B-Instruct
    • Qwen2-7B-Instruct
  • 基准:LongBench(21个数据集)、Needle-in-a-Haystack
  • 基线:StreamingLLM、SnapKV、CaM、H2O
  • 默认配置:
    • Attention sinks: 16 tokens
    • Recent tokens: 64
    • Chunk大小: 256
    • Outlier heads比例: 4%
    • 数值格式: BFloat16

精度对比(20% KV缓存预算)

Llama-2-7B-32K:

方法NrtvQAQasperHotpotQAMultiNewsTriviaQAAvg
Full20.5334.9549.1121.6287.7936.79
StreamingLLM16.7218.6741.64.3384.6627.55
SnapKV21.7824.6345.722.685.4629.27
CaM18.0418.7841.254.484.6627.68
Chelsea22.7431.246.5116.2387.3735.12

Llama-3.1-8B-Instruct:

方法NrtvQAQasperHotpotQAMultiNewsTriviaQAAvg
Full31.6926.2517.0126.9191.6539.43
StreamingLLM26.6213.4912.3622.3189.7433.90
SnapKV31.5118.2115.4223.0290.5336.38
CaM27.0513.7612.6222.2989.7933.91
Chelsea31.6120.3716.5224.3391.2537.87

Qwen2-7B-Instruct:

方法NrtvQAQasperHotpotQAMultiNewsTriviaQAAvg
Full25.4245.9242.8926.1384.0941.44
StreamingLLM22.8231.6734.2520.7483.4332.10
SnapKV25.9237.9141.1521.9883.7438.21
CaM22.6331.9134.3321.0583.532.04
Chelsea24.843.641.3922.5784.5639.94

LongBench性能对比

LongBench性能对比

Figure 4: Llama-2-7B-32K在LongBench数据集上的性能对比。

解码延迟和GPU内存使用

Llama-3.1-8B-Instruct:

上下文长度方法TTFT(s)TPOT(s)内存(GB)
16KFull1.7840.04319.38
16KCaM1.7810.06825.55
16KChelsea1.8140.035 (1.23×)15.86
32KFull4.2120.07123.53
32KCaM4.2010.10635.50
32KChelsea4.3060.036 (1.97×)16.69
64KFull11.4210.13731.83
64KCaM11.4350.18055.40
64KChelsea11.5000.043 (3.19×)18.36

关键结果:

  • 解码阶段加速最高3.19倍(64K上下文)
  • GPU内存使用降低最高42%(从31.83GB到18.36GB)
  • 端到端延迟降低最高2.72倍

端到端延迟

端到端延迟

Figure 5: Llama-3.1-8B-Instruct上1000 token解码的端到端延迟。

Needle-in-a-Haystack测试

NIAH测试

Figure 8: Llama-2-7b-32K在Needle-in-a-Haystack基准上的表现(25% KV缓存预算)。

关键发现:

  • Chelsea在长上下文场景下保持高准确率
  • 相比StreamingLLM和SnapKV,Chelsea在所有位置都能正确检索

Outlier Heads消融实验

配置性能
无Outlier Heads处理性能下降
有Outlier Heads处理最优性能

关键发现:Outlier heads识别对模型性能至关重要。

六、核心创新

创新点说明理论/实验依据
分块软匹配算法首次将BSM应用于KV缓存聚类计算复杂度O(nd),实际加速3.19×
交替分区最优性理论证明凸函数下的最优性定理6.1
Outlier Heads动态识别敏感注意力头仅4%的头需要特殊处理
聚类度感知注意力带log N修正的注意力计算保持聚类后精度

七、相关工作对比

方法特点Chelsea优势
H2O基于注意力分数的驱逐不丢失被驱逐token的信息
StreamingLLM保留sink+recent tokens保留更多上下文信息
SnapKV基于观察窗口选择重要token动态聚类,信息保留更完整
CaM合并被驱逐的value状态同时合并key和value
KVMerger基于token相似度合并计算复杂度更低,非连续约束
K-Means聚类离线聚类在线聚类,计算开销低

八、总结

核心贡献

  1. 首个在线KV缓存聚类框架:Chelsea通过分块软匹配实现高效聚类
  2. 理论保证:证明交替分区策略在凸函数下的最优性
  3. 轻量级设计:即插即用,计算复杂度O(nd)
  4. 显著性能提升:80%内存节省,3.19倍解码加速

性能总结

指标提升
KV缓存内存节省最高80%
解码阶段加速最高3.19倍
端到端延迟降低最高2.72倍
精度保持(20%预算)接近Full Cache性能

技术影响

Chelsea展示了在线KV缓存聚类的可行性:

  • 聚类比驱逐更优:保留被压缩token的信息
  • 在线比离线更实用:无需预计算,支持动态推理
  • 轻量级设计:即插即用,兼容现有推理框架

局限性

  • 依赖于key状态的相似性假设
  • Outlier heads需要额外识别开销
  • 压缩比受Bipartite Soft Matching机制限制(最多压缩一半)

九、参考资源