笔记日期: 2026-11-01 · 作者: Zhongzhu Zhou
论文: STAR-KV: Low-Rank KV Cache Compression via Soft Thresholding for Adaptive Rank Control
论文作者: Priyansh Bhatnagar, Ashkan Moradifirouzabadi, Se-Hyun Yang, SeungJae Lee, Jungwook Choi, Mingu Kang
arXiv: 2606.08382 · 版本与日期: v1,2026-06-07
1. 缓存缩小之后,问题还没有结束
把 KV cache 的通道数缩到四分之一,并不意味着解码自然就会更快。被删掉的方向可能恰好影响某个头的检索;保留下来的低维表示可能需要昂贵的重构;重构好不容易省下的时间,又可能被低比特数据的解码和搬运吃掉。STAR-KV 的价值,在于把这些问题放在同一个设计里考虑。
论文先通过可学习阈值决定各层、各头保留多少奇异方向,再对键和值采用不同的分解粒度:键按头分解,值跨头联合分解。低维缓存还可以叠加分块 Hadamard 旋转与混合精度量化,最终交给融合注意力内核使用。因此,它既有模型准备阶段的学习,也有推理阶段的计算重排,不能简单概括为“做一次 SVD,留下 top-k”。
先把两个最容易误读的地方说明白。第一,这是需要训练的有损压缩方法。附录 A.3 不仅给阈值设置了学习率,也给模型参数设置了学习率;压缩训练后还有额外的蒸馏阶段。它不是在完全不变的预训练模型上换一个缓存格式。第二,RTX 4090 上最大的 6.9 倍注意力加速,分母来自外推:同样的长上下文下,原始模型的缓存放不进显存。论文也提供了基线实际能运行的加速结果,但两种证据必须分开看。
这篇笔记基于 v1 全部 20 页,包括证明、训练设置、额外实验以及内核优化说明。接下来分别讨论表示、优化、执行与评估;文中的解析例子会明确标注,不把自己的计算当作作者的新实验。
2. 前置知识:压缩的到底是哪一维?
2.1 秩、比特和 token 是三种不同预算
先看最基本的缓存账本。设批量大小为 ,上下文长度为 ,层数为 ,KV 头数为 ,每头维度为 ,每个数使用 比特,那么均匀配置下的 KV 有效载荷为
单位是字节,前面的 2 对应 K 和 V。这还没有计入模型权重、临时缓冲区、分配器对齐、量化比例尺等额外开销。对于 GQA,公式里应当使用 KV 头数,不能拿查询头数代替,否则会夸大原本可压缩的缓存规模。
低秩方法减少每个 token 保存的坐标数,量化减少每个坐标的比特数,token 淘汰则减少保存的历史位置数。从有效载荷算术上,这几种收益可以相乘;从模型质量和执行时间看,它们又会相互影响。STAR-KV 的主方法压缩通道维度,并不是先把历史 token 删掉。
为避免“压缩率”的歧义,本文用 表示保留的秩比例,用 表示删去的比例。论文说“75% 压缩”时,本文理解为保留 25%,即 ;若精度不变,对应理想的 4 倍载荷缩减。这里的 75% 和后面“3.2 比特”回答的是不同问题。
2.2 从权重分解到低维缓存
采用行向量激活记法,令投影权重 。保留前 个奇异方向后,可以写成
输入激活 的形状是 ,低维缓存 的形状是 ,重构后的键才是 。真正跨解码步骤保存的是 。分解因子属于模型侧对象,大小不随上下文长度增长;历史缓存则每来一个 token 就继续增长。
这一区分直接决定执行方式。若每次注意力前都把 展开成完整缓存,再写回显存,存储虽然变小,读写流量却可能重新变大。有效的设计应当尽量在计算内部使用低维表示,或者让重构后的短暂结果留在融合计算中,而不是生成新的全长显存张量。
还要区分权重低秩与激活低秩。记 、,则激活误差为
普通权重 SVD 优化的是未加权的矩阵近似,而实际输入通过二阶矩 对不同方向重新加权。因此,权重矩阵上较小的奇异值,并不自动代表它对每一种输入都不重要。STAR-KV 用蒸馏补入数据相关的信号,这是学习阈值的意义之一;但它仍然不等于对所有输入都最优。
2.3 K 和 V 的误差走两条不同路径
单头注意力可以写成 、、。键误差会先改变注意力分布,再改变输出;值误差则直接进入加权汇总。忽略二阶扰动时,有
这里 是行向量。公式中被省略的是扰动乘积等高阶项。它说明,同样大小的重构误差,落在不同查询方向、不同注意力分布和不同值向量上,后果可以很不一样。查询是否对准误差方向、注意力是否集中、值向量幅度多大,都会参与决定最后的输出偏差。
所以,后面讨论“键的谱衰减更快”时,不能把它直接翻译成“键一定不重要”。谱是一个有用的结构线索,模型输出才是最后需要保护的对象。常识题平均准确率变化较小,也不能排除某种稀有检索依赖被破坏。
3. 阈值怎样把离散的秩变成可优化的变量?
3.1 硬截断不好训练,因此先用软变换
假设奇异值已经按从大到小排序。给定阈值 ,保留不小于阈值的方向,则有效秩与保留值分别是
这个决策是离散的:阈值在两个相邻奇异值之间移动时,秩完全不变;跨过一个奇异值时,秩突然变化。普通梯度无法直接告诉优化器“再删掉这一维会怎样”。STAR-KV 因而在训练时引入一个软阈值算子。取论文使用的下半支常数为零,可写成
远高于阈值的奇异值几乎保留原样;靠近阈值、但仍在上方的奇异值先被缩小;低于阈值的部分变为零。这种过渡发生在奇异值空间中,不是对 token 打分,也不是每个请求动态选择一组 top-k token。部署后的秩来自离线准备好的模型。
固定某个严格大于阈值的奇异值,对阈值求导得到
学习信号主要集中在截断边界附近。斜率参数 越大,决策越接近硬切换,但有用梯度也越局部。远高于阈值时,双曲正切进入饱和区;低于阈值时,下半支的梯度为零。这意味着初始化和谱的数值尺度会影响学习过程,不能因为最后输出的是“秩”,就认为中间优化对尺度不敏感。

图 1. 根据式(6)与式(7)绘制的解析示意,阈值任取 1.2,比较三个斜率。这不是模型实测曲线。硬规则在阈值以上保留原始奇异值,而软规则会压低靠近边界的值。
这里还有一个数学细节:当下半支为零时,函数在边界连续,但左右导数通常不同,因此并非处处可微。更准确的说法是几乎处处可微。这个性质不妨碍实践中用梯度训练,却影响我们如何理解“平滑替代”的严格含义。
从软训练到硬部署也存在差距。软阶段里,一个刚刚超过阈值的奇异值可能被明显缩小;按照式(5)的硬规则,它又恢复成原本大小。恰好等于阈值时尤其明显:软值为零,展示的硬规则却把这一维计入保留集合。实际流程需要明确边界约定,并在转换后重新看质量。论文的稳定阶段与此有关,但没有给出软硬转换误差的普遍上界。
3.2 一个损失保质量,另一个损失推动压缩
STAR-KV 将教师到学生的 KL 散度与阈值惩罚结合:
蒸馏项要求学生尽量维持校准样本上的输出分布。指数惩罚项在阈值升高时变小,因此给优化器一个继续提高阈值、删掉更多方向的动力。学生模型还可以通过权重更新补偿压缩带来的偏差。最终的分配来自这几股作用之间的平衡。
对单个阈值而言,压缩项的梯度是 ,随着阈值增大,推动力会减弱。但相同的阈值增量不一定删掉相同数量的奇异值;相同的秩变化,也不一定在不同内核中节省相同时间。因此,这个损失是压缩的代理目标,并不是直接约束最终字节数或推理时延的优化问题。
混合分解还带来一个不对称:每层每个键头都有阈值,而每层联合值投影只有一个阈值。键侧拥有更多变量和更多惩罚项,最终平衡取决于谱分布、任务梯度以及正则强度。实验说明这一目标能找到有用的配置,但不能据此断言某个 总能自动满足任意部署预算。
4. 校准不只是学几个阈值,模型本身也在适应
附录 A.3 对方法的理解非常关键。优化器是 AdamW;模型参数的学习率为 ,自适应阈值的学习率为 。数据是从 FineWeb-Edu 随机取出的 3,000 个样本。第一阶段用蒸馏与压缩联合损失训练一个 epoch,然后关闭压缩损失,再用蒸馏损失训练 1,000 个优化步骤。
因此,如果只说“学几个标量阈值,所以不需要训练模型”,就遗漏了附录明确给出的权重更新。少量校准数据也不代表训练计算量可以忽略:长序列、教师输出、学生前后向以及后续稳定阶段都需要算力。它比从头训练模型轻得多,但仍然是模型适配流程。
LongChat 与测试中的 LLaMA-3/3.1 使用 8,192 的训练序列长度,LLaMA-2-7B 使用 4,096。作者还预先保护第 0、1、31 层,不对它们应用压缩。这会影响我们对“自动分配”的理解:部分敏感层由人工规则直接排除,剩余部分才交给阈值学习。最终配置并非完全从同一套自由搜索中产生。
训练成本的表述也要保留限定。正文说总成本低于六 GPU 小时,附录则说在两张 RTX PRO 6000 的设置中,一个 epoch 大约需要六 GPU 小时,同时还列出了额外的 1,000 步。仅凭这些文字,不能明确所有阶段是否都包含在同一个成本数字内。稳妥的结论是:作者展示了较轻量的校准方案,但完整准备成本的记账仍不够清楚。
算法 1:准备压缩后的模型
下面按论文说明整理训练与准备阶段,不补写未公开的停止规则或更细的优化调度。
1. 载入预训练模型,并保留教师输出作为蒸馏目标。
2. 将第 0、1、31 层排除在压缩集合之外。
3. 分解各个可压缩键头,以及每层联合值投影。
4. 引入谱阈值,并使用软阈值变换。
5. 在 3,000 个校准样本上训练一个 epoch:
a. 计算教师与压缩学生的输出分布。
b. 组合 KL 蒸馏损失与阈值惩罚。
c. 用 AdamW 更新模型参数和阈值。
6. 关闭压缩损失。
7. 继续进行 1,000 步蒸馏训练。
8. 将学到的谱选择转换为紧凑的部署因子。
9. 准备值侧输出融合,以及可选的旋转与量化。
10. 对最终部署表示检查质量与实际内存占用。
第 10 步强调的是评价对象:我们最终要使用的是硬化、紧凑化之后的模型,而不是训练中的软代理。论文没有把稳定阶段与最终硬选择之间的每一个转换细节都讲到足以唯一重建流程,因此这里不擅自补出一种精确顺序。损失收敛与最终部署质量是两个需要分别观察的事实。

图 2. 裁取并上下组合自 Bhatnagar 等人的原论文图 10–11,arXiv:2606.08382v1,CC BY 4.0。上图是各层各头的键秩,下图是各层的联合值秩;均对应论文的 75% 压缩设置,两幅图的秩尺度不同。
这两张图直观展示了平均分配预算的问题:键头之间需要的坐标数不同,值侧的预算也随深度变化。不过,不能把热力图颜色直接当成模型敏感性的独立测量。它是特定损失、校准数据、保护层规则和优化路径共同作用后的结果;换一种训练目标,可能出现另一张同样可用的图。
附录还量化了这种分配的稳定性。在 LongChat 上,将 FineWeb-Edu 换成 C4,键秩平均差异为每头 1.6/128,值秩平均差异为每层 20/4096;换成 RedPajama 时分别为 1.7/128 与 7.7/4096。这些差异相对较小,说明在测试的几个数据源之间,分配具有一定稳定性。
跨模型时就要更谨慎。LLaMA-2-7B 与 LLaMA-3.1-8B 的归一化键、值分配差异分别为 3.2% 和 11.4%,值侧变化更明显。这支持“存在某些持续的结构模式”,但不足以证明一个模型学到的分配可以不经验证地搬到另一个模型。即使平均秩相近,任务错误也可能落在完全不同的样本上。
5. 为什么键按头分解,值却联合分解?
5.1 先算重构代价,而不是只看误差
假设共有 个头,每头宽度为 ,总宽度 。在相同保留比例 下,联合分解的总秩为 ;按头分解时,每头秩为 。在这个均匀预算的简化比较中,两种方案保存的低维坐标总数相同。
若显式重构全部 个历史位置,乘法量分别正比于
前者是后者的 倍。这个结论只针对所比较的重构步骤,不是说整个注意力会差 倍,更不是端到端解码速度的结论。它没有计算投影、显存流量、并行度、内核启动,也没有考虑后面可以消掉的重构。它的意义在于指出:联合表示若必须对每个 token 展开,表达能力是有执行成本的。
5.2 联合分解的误差优势来自更大的可行集合
把矩阵按头分块,写成 。每个头都用秩不超过 的矩阵近似,拼接后的总秩满足
因此,每一种按头方案都属于“总秩不超过 ”的联合近似集合,而联合方案并没有逐头固定分配的限制。在更大的集合里求最小误差,自然有
这就是附录 A.2 的核心证明。它是一个干净的矩阵近似结论:相同总秩下,联合分解的最佳 Frobenius 误差不大于这里的按头方案。它没有证明联合方案时延更低,也没有证明任意输入上的注意力输出更准确。若按头方案采用不均匀的学习预算,还需要按实际总秩重新比较。
论文接着观察权重矩阵的归一化奇异谱。谱范数意义下的最佳秩 相对误差为 。在展示的 LLaMA-2-7B 中,键投影的归一化尾部下降得更快,值投影下降得更慢。于是,一个自然的资源分配思路是:让值享受表达能力更强的联合分解,让键采用重构便宜的按头分解。

图 3. 原论文图 6 裁图,Bhatnagar 等人,CC BY 4.0。曲线来自 LLaMA-2-7B 的 32 个块,各矩阵按自身最大奇异值归一化。这是权重谱,不是任务敏感性的直接测量。
这里有两种不同性质的依据:可行集合包含关系是数学结论,键值谱形状则是具体模型的观测。将两者组合成设计理由很合理,但不应把经验谱形状当成所有模型的定理。前面的式(3)和式(4)也提醒我们,输入分布和注意力误差路径仍会改变实际质量。
5.3 值侧可以把重构移动到汇总之后
设跨头共享的低维值缓存为 ,某个头的重构值为 ,对应输出投影块为 ,则
左边先展开全部历史 token 的值,再做注意力汇总;右边先在低维空间汇总,最后才投回输出空间。右边的 可以提前准备。于是,原本随上下文长度增长的值重构,被移到了只处理汇总结果的位置。
这一步是矩阵乘法结合律带来的精确重排,前提是已经固定了低秩近似。它不让低秩截断本身变成无损,也不让最后的输出投影消失。它只是把一个昂贵步骤从“每个历史 token 都做”改成“汇总后做”。这也是联合值表示能兼顾精度与执行效率的关键。
共享低维值还有另一个系统收益。将各头不同的概率向量堆叠为 ,就可以一起计算 ,把多个向量式归约转成矩阵乘法,增加数据复用和算术强度。这里共享的是值表示,各头的注意力分布仍然不同;不能把它理解成所有头共同使用一组权重。
键侧没有这么顺利。采用列向量记法,一个带 RoPE 的分数包含 。缓存位置 不同,中间的旋转也不同,因此无法把它们全部吸收到同一个与位置无关的离线矩阵中。STAR-KV 保存的是 RoPE 之前的低维键,推理时把重构、位置旋转与打分融合起来。

图 4. 原论文图 7 裁图,Bhatnagar 等人,CC BY 4.0。左轴是归一化准确率,右轴是重构时延;计算重排显著改善了 HD-K/JD-V 的成本。这些柱子不是端到端生成吞吐。
因此,混合分解不只是“两边各退一步”。它利用的是计算位置的不对称:值侧更昂贵的表达可以在汇总后便宜地消化,键侧则受到位置编码的限制。其他方案也可能适合其他目标,例如更重视质量时采用联合键,或在不同硬件布局下采用按头值。论文给出的是有实验支持的选择,而非跨架构的普适最优解。
6. 低维坐标留下来了,量化还要保护哪些信息?
6.1 旋转可以精确,量化仍然有损
经过 SVD 后,低维通道继承了奇异值的排序,幅度较大的方向往往集中在前面。全局 Hadamard 旋转可以把异常幅度摊开,却也把原本更重要的坐标与其他通道混在一起。STAR-KV 因此先划出高幅度块与普通块,再分别旋转,并给两块不同的比特数。
对于正交的分块矩阵 ,量化之前有精确恒等式
下投影可以吸收 ,上投影可以吸收 。在理想算术中,这样插入一对正交变换不会丢信息。真正的量化误差发生在把 映射到有限比特表示时。不能因为中间旋转可逆,就称整个压缩过程无损;更早的秩截断也已经删掉了方向。
论文默认的质量实验,将保留通道中的前 20% 用四比特表示,剩下 80% 用三比特表示。平均精度以及相对 FP16 的理想载荷压缩倍数是
当 时得到 20 倍;当 时得到 12.5 倍。注意,性能图使用四比特缓存,和这里平均 3.2 比特的混合精度配置并不是同一组实验。不能把一个设置的准确率与另一个设置的时延拼成一条同时实现的结果。

图 5. 原论文图 8 裁图,Bhatnagar 等人,CC BY 4.0。示例来自 LongChat 的一个键头。分别在两个块内进行 Hadamard 旋转,使幅度在各自块内分散,同时保留两块不同的精度预算。
v1 在量化公式附近写了一个“高幅度块的秩远大于普通块”的不等式,这与后面的 20:80 配置相矛盾。操作描述与实验表明确使用的是前 20% 高精度、后 80% 低精度,本文按这一具体设置解释,不继续传播那条冲突的不等式。
消融实验也要注意预算是否一致。在 75% 低秩压缩下,全局 Hadamard 加均匀三比特的五任务平均为 58.23;只有混合精度、没有旋转为 57.27;分块旋转与混合精度组合为 59.18。组合最好,但第一项只有平均三比特,另外两项为 3.2 比特,因此不是所有资源都固定后的纯旋转消融。它支持组合配置,却不足以精确分离每一种因素的独立贡献。
6.2 有效载荷的乘法,不等于显存分配的乘法
若每层各键头的秩是 ,联合值秩是 ,平均精度暂按统一的 记,那么更直接的缓存账本是
未压缩层应按实际宽度和精度计入。额外分解因子和临时工作区虽然不属于随 token 增长的缓存载荷,也必须计入整机显存。若内核要求秩按某个 tile 大小取整,最后实际保存的坐标数也可能大于理论选择的秩。
可以用一个假设性的账本检验直觉。假设 32 层中有 3 层完整保留 FP16,其余 29 层都压到原始载荷的 ,那么全缓存保留比例为
这个 7.19 倍不是对作者结果的修正值,因为论文没有给出足够信息,让我们对每个配置都采用上述解释。它只是一个解析例子:如果有豁免层,“20×”到底覆盖哪些层、豁免层是否量化、全局压缩比例如何聚合,就会明显改变结论。理想载荷比与完整模型分配内存必须分别记账。
对于短上下文,固定的因子开销与工作区可能占更大比例;对于长上下文,随 增长的缓存项才更占主导。低秩方法常在长上下文更有价值,原因不仅是“原缓存更大”,也在于固定成本更容易被摊薄。不过,重构与量化的计算成本同样随使用方式变化,仍需要时延测量。
算法 2:解码时怎样使用压缩缓存
下面按正文 3.3 节与附录 A.6 整理数据流,是方法解释,不是新的实现或复现实验。
1. 将新 token 的隐状态投影为低维键和值。
2. 通过预先准备的投影吸收分块旋转。
3. 若启用量化,量化后追加到低维缓存。
4. 对当前查询需要读取的各个键块:
a. 读取并反量化低维坐标。
b. 在融合计算中重构键坐标。
c. 应用该历史位置对应的 RoPE。
d. 累加注意力分数,不写出完整重构键缓存。
5. 通过注意力 softmax 归一化分数。
6. 堆叠各头概率,与共享低维值做矩阵乘法。
7. 应用预先准备的各头值与输出投影因子。
8. 汇总各头贡献,继续执行当前解码块。
性能依赖于展开结果停留在哪里。如果在第 4 步后把完整 FP16 键缓存写回显存,就会归还很大一部分省下的带宽。同样,若先把所有低比特缓存反量化到一个独立大缓冲区,再启动矩阵乘法,也会增加额外读写。论文的融合设计就是为了减少这些中间物化,而不只是减少数学表达式里的维度。
7. 质量实验:平均保住了多少,哪些地方仍然掉分?
7.1 自适应分配有效,但不同模型的损失不同
主表 1 同时报告困惑度与六项常识任务准确率。LongChat 的原始平均为 61.53,60% 压缩后仍为 61.53,75% 压缩后为 60.49。LLaMA-2-7B 对应三个数字是 65.05、64.34、62.73;LLaMA-3-8B-Instruct 则是 67.87、65.42、64.15。
换句话说,75% 压缩的平均损失分别为 1.04、2.32、3.72 个百分点。第一组在如此大的秩缩减下很有吸引力,但模型之间的差异也说明,不能统一描述成“没有精度损失”。即使一组平均值恰好相同,也可能是部分任务变好、部分任务变差后相互抵消。

图 6. 根据原论文表 1 和表 6 重绘。左侧为 STAR-KV 减去原始模型的六任务准确率,单位为百分点;右侧比较相同 75% 目标下的固定秩与自适应秩。数值来自论文,本文没有运行模型实验。
固定秩消融提供了较强证据:相同 75% 压缩目标下,均匀分配的平均准确率只有 38.88,自适应方案为 60.49,差距达到 21.61 个百分点。它说明“把预算留在哪里”非常重要,不能只关注总共留了多少维。
不过,这个消融也有边界。它没有单独证明每一项组件都必要,也没有穷尽所有非均匀分配启发式。若要判断学习阈值本身带来的优势,还应比较相同数据、适配步骤、保护层策略和最终预算下的其他分配方法。否则,分配质量与模型适配能力可能共同贡献结果。
困惑度与任务准确率也不是同一指标。LongChat 在 60% 压缩时,WikiText-2 困惑度从 6.86 略降到 6.83,C4 则从 9.93 略升到 9.98。这类微小变化可以来自适配和评测差异,并不能证明信息严格不变。另一个应当保留的表格问题是:LLaMA-2 的 ReCalKV 行列出 6.75 与 13.63,却把 LM 平均写成 11.32;两者的简单均值是 10.19。论文未解释这个汇总方式,因此不宜用该单元格建立精细比较。
7.2 长上下文质量不能只用“放得下”来证明
LongChat 在 LongBench 上,原始平均为 40.81,STAR-KV 60% 压缩后为 39.09;主表中的 LLaMA-3.1-8B 则从 42.23 变成 39.58。这是不同任务分数的平均,不是“保存了多少比例的信息”,也不是答案完全一致的概率。
4K RULER 更能看出模型差异。LongChat 从 88.80 变成 88.26,另一校准种子为 88.71;LLaMA-3.1-8B 从 96.94 变成 89.03,下降 7.91 个百分点。后者虽然好于表中 Palu 的结果,仍然是不能忽略的下降。“比其他压缩器更好”和“接近原始模型”,是两个不同判断。
附录表 13 将 LongChat 的 RULER 扩展到 16K:原始模型为 85.69,相同 60% 压缩下 Palu 为 62.94,STAR-KV 为 84.16。这是有价值的更长上下文证据,但仍不能替代所有可支持长度上的质量测试。显存能容纳 128K token,与模型能正确利用全部 128K token,并非同一种能力。
附录还有一处内部冲突。表 14 标注为 LLaMA-3.1-8B,但其中 STAR-KV 60% 那一行,与主表 2 的 LongChat 60% 行完全相同,平均值也是 39.09;主表中的 LLaMA-3.1 对应平均则为 39.58。不能在不说明的情况下任选一个数字,也不能猜测作者本来想填什么。这里保留主表结果,同时明确指出附录冲突。
7.3 混合精度与 token 淘汰的结果怎样读?
3.2 比特量化表使用五个任务,不包含 WinoGrande,因此原始平均是 60.34,而不是前面六任务的 61.53。60% 与 75% 秩压缩叠加量化后,平均分别为 60.12 与 59.18。正确比较必须使用同一个任务集合,否则会人为放大或缩小损失。
精度分配消融也表明,默认配置不是准确率最高的那一行。40:60 分块、平均 3.4 比特时得分为 59.52;默认 20:80、平均 3.2 比特时为 59.18。后者是存储、速度与质量之间的折中,而不是对所有目标都占优。
低秩与 token 淘汰可以组合,是因为它们压缩不同轴。若通道与 token 各保留 40%,理想总保留比例为 0.16,即 84% 压缩。LongChat 上,组合结果为 59.99,单独 H2O 为 59.95,单独 STAR-KV 为 61.53。组合比 H2O 高出的 0.04 个百分点很小,在缺少不确定性估计时不宜强调为显著提升;更清楚的发现是,组合在更高压缩量下保持了相近的平均分数。
8. 最多能快多少?先区分三种比较
8.1 固定批量下,基线实际能运行的注意力时延
RTX 4090 实验使用 LLaMA-2-7B,批量大小固定为 16。在原始 FP16 SDPA 也能放进显存的长度上,附录图 12 给出的整体注意力加速如下:
| 上下文 | 75% 秩压缩 | 再加入四比特缓存 |
|---|---|---|
| 8K | 2.6× | 2.2× |
| 16K | 3.3× | 3.5× |
8K 时,量化与反量化的成本抵消了一部分带宽收益,量化版本反而慢一些;到了 16K,带宽节省更重要,量化版本才略快。更小的表示并不总是更快,这正是只看压缩倍数无法判断的部分。

图 7. 原论文图 12 裁图,Bhatnagar 等人,CC BY 4.0。所有配置批量均为 16。8K、16K 的基线是实测;32K 的原始缓存放不进显存,因此没有同设备上的直接基线时延。
当上下文达到 32K、64K,作者使用 8K 和 16K 的实测数据线性外推原始时延,因为原始配置无法运行。于是,64K 的 6.9× 是“压缩方法的实测时延”除以“原始方法的估计时延”得到的。它证明了容量扩展,并提供了外推条件下的性能估计;它不是两套都能实际运行的配置之间直接测出的 6.9 倍差距。
32K 未量化结果在正文和附录中还分别出现 4.0× 与 4.1×。差异可能来自舍入或测量范围,但论文没有解释,我们也不需要替作者补理由。两者共同需要保留的限定,是分母使用了估计基线。
8.2 更大显存上,长上下文也有直接测量
作者又在 96 GB 的 RTX PRO 6000 上测试,批量仍然是 16,并把长度限制在原始基线可以运行的范围内。128K 时,未量化 STAR-KV 的注意力加速为 2.9×,四比特版本为 4.3×。

图 8. 原论文图 13 裁图,Bhatnagar 等人,CC BY 4.0。RTX PRO 6000 上的原始基线能容纳图中设置,因此不依赖前一实验的显存外推;这些仍是注意力算子结果。
这组实验很重要,因为它说明收益不完全依赖外推分母。但它使用了不同 GPU、不同可用显存和不同长度范围。不能将这里的 4.3× 直接写成消费级显卡上单请求端到端快了 4.3 倍。硬件条件和指标范围必须一起带上。
8.3 最大吞吐把“能装更多请求”也算进来了
表 5 的做法,是对每种方法分别增加批量,直到受显存限制,然后测生成吞吐。部分数据如下:
| 上下文 | 原始 tokens/s(批量) | STAR-KV tokens/s(批量) | 倍数 |
|---|---|---|---|
| 1K | 249.8(16) | 751.0(128) | 3.01× |
| 4K | 69.0(4) | 212.2(32) | 3.07× |
| 16K | 18.0(1) | 56.6(8) | 3.14× |
这些数据对显存受限的服务场景有实际意义:缓存变小后可以同时处理更多序列,每秒输出更多 token。但它不表示单条序列的时延下降到三分之一。例如 16K 那行,批量已经从 1 变成了 8,吞吐比包含了并发容量收益。
论文另行提到,在单张 RTX 4090 上能够容纳 128K 上下文;而这张吞吐表实际列出的范围是 1K 到 16K。不能把“128K 能放下”与“表中约 3.1 倍吞吐”合并成一条未经展示的 128K 实测结果。
用 Amdahl 定律可以进一步说明算子与整模型之间的差别。若固定工作量下,注意力占总耗时比例为 ,其加速倍数为 ,不计新增开销时,整体理想加速为
假设性地取 、,整体只有约 1.56 倍。这不是对论文系统的预测,因为我们没有这里需要的实际耗时比例;它只是说明,注意力加速不会自动等比例传递到全部解码时间。与此同时,更大批量带来的吞吐收益又是一条独立路径。
9. 局限与失效边界
首先是质量覆盖范围。主实验集中在少数模型家族、常识任务、语言建模和选定的长上下文任务上。附录补充了 Mistral-7B 与 LLaMA-2-13B,但这仍不足以保证任意架构、多语言任务、工具使用、长链推理或稀有精确检索都能保持质量。教育文本校准是一种具体分布选择,并不是所有未来请求的中性代表。
其次是贡献归因。敏感层被预先排除,学生权重也参与适配,因此结果同时包含秩分配、模型补偿和保护规则的作用。固定秩消融很有说服力,但如果要判断阈值机制相对其他方法的优势,还需要核对对手是否得到相同训练数据、步骤与保护策略。否则,“分配更好”与“补偿更充分”可能无法完全分离。
第三是代理目标与真实部署之间的距离。指数阈值惩罚并不直接优化分配字节数,也不直接优化硬件时间。学习出来的秩可能落在不适合内核 tile 的尺寸上;联合值因子可能增加固定存储或输出计算;量化在长上下文有益,在短上下文却可能拖慢。最后选配置时,仍应围绕实际的质量和时延约束,而不是只追求最低平均比特数。
第四是无损性的边界。秩截断删掉方向,量化引入舍入,模型适配改变函数,因此没有与原始模型完全等价的保证。平均任务分数变化小,只能说明在所测数据上存在经验容忍度。不同校准集得到相似秩分布,也不能给分布外失败提供上界。
最后是报告精度的问题。准备成本的覆盖范围、极端压缩倍数是否包括豁免层、LongBench 表格冲突,以及消费级 GPU 长上下文基线的外推,都限制了最强结论的范围。这些问题不会抹去中等长度和更大显存设备上的实测收益,却要求读者在转述时保留条件。
10. 独立批判性分析:真正应该优化什么?
我认为最值得带走的设计原则,是把“表示能力”与“在哪里付重构成本”分开考虑。联合值保留跨头结构,但通过先汇总后重构,使这份表达能力可以较便宜地使用;键侧由于 RoPE 无法同样离线吸收,就用按头分解降低剩余成本。这个原则比某个固定压缩率更有迁移价值。
仍然没有完全解决的,是阈值与部署预算之间的关系。理想的目标需要同时关心最终内存、执行时间以及输出偏差。例如,从概念上可以写出
这只是本文提出的分析框架,并不是 STAR-KV 已经求解或评测的目标。难点在于秩是离散的,时间依赖具体硬件形状,输出偏差又受校准数据覆盖影响。软阈值是有用的搜索工具,但它有用,不代表指数惩罚就自动成为字节数或时延的准确代理。
一个更有辨别力的后续实验,是固定最终部署预算,比较学习阈值、激活加权的谱启发式和直接秩搜索,并给它们相同的模型适配资源。评测应在硬化之后、量化之后分别进行,而不是只看软代理训练阶段。这样才能分清:优势主要来自预算分配更合理,还是来自学生权重更能补偿损伤,抑或两者共同作用。
软硬转换本身也值得单独报告。若大量奇异值停留在阈值附近,那么训练中被明显缩小的分量,在硬化时可能突然恢复;反之,低于边界的方向已经没有直接阈值梯度。报告边界附近的谱密度、转换前后输出差异,以及最终秩的取整策略,会比只展示一个训练损失更能解释部署表现。这里提出的是尚可补充的证据,不是作者已经展示的实验。
系统评价则需要两条曲线。第一条固定上下文与批量,判断每一步执行是否更有效率;第二条固定显存容量,允许各方法选择不同批量,判断资源受限时的最大吞吐。两者都合理,但用途不同。需要低单请求时延的用户,不能直接用第二条曲线替代第一条。
论文已有实验实际上已经呈现多目标权衡:精度更高未必最快,重构误差更低未必最省成本,默认比特分配也未必得分最高。后续研究的机会,是把这些选择做成明确、可检验的预算决策。今天加入队列的 MetaKV 从配置选择角度处理相关问题,适合作为下一步比较;这并不意味着 STAR-KV 已经解决了按请求选配置的问题。
11. 结论
STAR-KV 展示了两个相互配合的方向:细粒度学习秩分配,可以改善激进低秩压缩的质量;利用键值两侧的计算不对称,可以把部分存储节省转化为实测注意力加速。方法包含离线模型适配、按头键分解、联合值分解、结构化量化和融合执行,这些环节合起来才构成完整方案。
最稳妥的结论是有条件的:在所测模型与任务中,缓存可以显著缩小,也能带来可观的执行收益,但质量损失随模型变化,几组最大收益来自不同评测设置。20× 需要清楚的缓存记账,6.9× 使用了估计基线,约 3.1× 生成吞吐包含更大批量。把这些条件保留下来,反而更容易判断:下一次面对自己的模型、显存和请求分布时,究竟该借鉴哪一部分设计。
参考资料
- Priyansh Bhatnagar 等:STAR-KV: Low-Rank KV Cache Compression via Soft Thresholding for Adaptive Rank Control,v1,2026-06-07。完整 PDF 与 HTML。本文方法与实验主要对应正文第 3–5 节及附录 A.1–A.6。
- 作者提供的 STAR-KV 仓库入口,作为相关资源链接。
- 论文采用 CC BY 4.0 许可。本文图 2–5、7–8 为注明来源的裁图或组合,图 1、6 为本文绘制的解析或数据说明图。