[控场AI]
· 5 分钟阅读· 2,557 字

BasisKV:低秩KV缓存压缩如何同时优化张量并行通信与关键页路由

BasisKV:低秩KV缓存压缩如何同时优化张量并行通信与关键页路由

BasisKV将低秩Value压缩与输出投影绑定,同时削减KV缓存与张量并行通信,并用Value潜变量辅助Key路由。

BasisKV是一篇针对长上下文LLM分布式推理中KV缓存膨胀问题的新论文。它指出以往低秩KV压缩多在单卡场景优化压缩率,忽略了张量并行部署时注意力计算被切分到多卡后产生的通信开销。BasisKV的核心设计有两点:一是将低秩Value表示与输出投影绑定,使同一组低秩因子既压缩Value缓存宽度又减少TP通信量;二是改为针对完整注意力输出联合优化跨GPU分区的低秩因子,避免逐分区拟合的全局偏差。在Key路由上,它复用压缩后的Value缓存预测Key页选择,仅对选中页回读原始Key计算精确QK分数。论文报告在8卡张量并行下最高1.42倍端到端加速,质量—效率权衡优于现有低秩基线,代码已开源。

长上下文LLM推理正面临KV缓存膨胀带来的显存与带宽压力。低秩K/V投影被视为压缩KV缓存的有效手段,但此前研究大多在单卡或非分布式场景下优化压缩率,忽略了张量并行(TP)部署时注意力计算被切分到多张GPU后产生的通信开销。一篇新论文提出的BasisKV正是瞄准这一空白:它把低秩Value表示与输出投影绑定,让同一组低秩因子既压缩Value缓存宽度,又削减张量并行通信量;同时复用压缩后的Value缓存来预测Key路由所需的部分信息,只对选中的Key页回读原始Key以计算精确QK分数。

BasisKV论文来源截图

分布式推理中被忽视的通信成本

论文给出两个关键观察。第一,当低秩KV缓存压缩被部署到分布式推理环境时,张量并行通信本身就是一项不可忽视的成本。在TP模式下,注意力头被划分到不同GPU上,每张卡只持有部分注意力分区的低秩因子。如果各分区独立拟合自己的低秩表示,压缩带来的收益会被跨卡通信部分抵消。

第二,Value压缩可以与输出投影关联起来。由于注意力输出最终要经过输出投影矩阵,将Value的低秩表示与输出投影联合设计,就能让同一组低秩因子同时作用于两个目标:收窄Value缓存的宽度,以及减少张量并行中需要交换的数据量。这一关联是BasisKV区别于以往低秩压缩方案的核心设计。

张量并行(Tensor Parallelism, TP) 是一种将单个Transformer层的参数和计算切分到多张GPU上的模型并行策略。以注意力层为例,多头注意力的不同注意力头(或同一头内的维度)被分配到不同设备,每张卡只计算部分头的输出,再通过集合通信(如All-Reduce)汇总结果。TP的优势在于单层内即可并行,适合单机多卡场景;代价是每层前向和反向都需要跨卡通信,通信量与切分维度上的激活张量大小成正比。在长上下文推理中,KV缓存和注意力输出张量随序列长度增长而膨胀,TP通信开销随之显著上升,成为不可忽视的瓶颈。BasisKV正是通过压缩Value缓存的宽度来直接减小需要跨卡交换的激活张量规模,从而在压缩缓存的同时削减TP通信量。

联合优化而非逐分区拟合

BasisKV的优化策略强调全局一致性。现有低秩方法通常让每个GPU分区分别拟合自己的注意力输出,但分区级的最优并不等于整体注意力输出的最优。BasisKV改为针对完整的注意力输出,联合优化跨GPU注意力分区上的低秩因子,使压缩后的表示在全局层面更接近原始注意力结果。

这种联合优化对长上下文场景尤其重要:上下文越长,KV缓存越大,低秩近似的误差累积越明显,逐分区拟合容易在跨卡聚合时放大偏差。

低秩近似(Low-Rank Approximation) 的核心思想是用两个较小的矩阵(如U和V)的乘积来逼近原始大矩阵,从而以远少于原始参数量的存储表示原矩阵的主要信息。在KV缓存压缩中,通常将Key或Value的缓存矩阵分解为低秩因子,推理时只存储低秩因子而非完整缓存。低秩近似的质量取决于因子是否捕捉到了原始矩阵的主要能量方向;当矩阵被按行或按列切分到不同设备时,各分区独立做SVD或拟合得到的因子只对局部最优,跨分区聚合后可能与全局最优存在偏差。BasisKV强调针对完整注意力输出联合优化跨分区的低秩因子,本质上是把低秩分解从“分块独立”提升为“全局协同”,以减少分布式聚合时的误差放大。

用Value潜变量辅助Key路由

压缩KV缓存的一个经典难题是:Key被压缩后,如何准确判断哪些Key页值得访问。BasisKV的做法是把压缩后的Value缓存复用为路由信号。Value的低秩表示本身就携带了一部分与Key相关的信息,因此可以用它预测Key路由所需的部分内容;对于那些无法从Value中恢复的Key信息,则用一个Key专属的残差来存储。

在推理时,系统只对路由选中的Key页回读原始Key,计算精确的QK分数。这样既避免了全量Key回读的开销,又保留了精确打分的准确性。Value缓存在这里扮演了双重角色:既是压缩后的注意力输入,也是Key页选择的预测器。

Key路由(Key Routing) 是指在稀疏注意力或缓存检索场景中,先以较低成本预测哪些Key页与当前Query最相关,再只对这些页做精确的QK点积计算。路由的难点在于预测信号必须足够廉价且具有一定准确性:若用完整Key做路由,则失去了稀疏化的意义;若预测太粗,则漏掉重要Key导致质量下降。BasisKV利用压缩后的Value低秩表示作为路由信号,因为Value与Key在注意力计算中共享同一组Query的交互,Value潜变量间接编码了部分与Key相关的语义信息。对于Value无法覆盖的Key特有信息,则用Key专属残差存储,推理时仅对路由选中的页回读原始Key做精确打分。这种“粗路由+精打分”的两级设计,在保持QK分数精确性的同时避免了对全量Key的回读开销。

质量与效率的权衡表现

论文在多个LLM系列和系统设置下评估了BasisKV,报告称其质量—效率权衡优于现有低秩基线,在8卡张量并行推理下实现最高1.42倍的端到端加速。这一数字来自论文摘要,具体测试配置和基线细节需参考原文与开源代码。

从设计逻辑看,BasisKV的加速来源不止一处:低秩Value压缩降低了缓存宽度和TP通信量,Key路由减少了对原始Key的回读,两者叠加才形成端到端收益。这也解释了为什么单纯优化压缩率而不考虑通信成本的低秩方案,在分布式部署中难以获得同等加速。

对长上下文推理部署的启示

BasisKV的价值在于把KV缓存压缩从单点优化变成系统级协同设计。当推理集群普遍采用张量并行来承载长上下文模型时,压缩算法的评价指标不应只看缓存占用或困惑度损失,还要把通信开销纳入考量。将Value压缩与输出投影绑定、用Value潜变量辅助Key路由,这两条思路为后续研究提供了可复用的方向。

代码已在GitHub开源(alexz949/BasisKV),感兴趣的读者可以复现其在不同张量并行规模下的表现。

分享:

相关推荐