1.4 KiB
1.4 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | |||
|---|---|---|---|---|---|---|---|---|
| SnapKV | 2026-06-18 | 2026-06-18 | concept |
|
SnapKV
定义
SnapKV (Li et al., 2024) 是一种 KV Cache 驱逐的 heuristic-metric 指标,基于累积注意力分数和观察窗口来动态识别和保留关键 token。它是 LU-KV 实验中使用的默认 intra-head 指标之一(π_1)。
核心机制
- 观察窗口:在 prefill 阶段的最后 W 个 token 上计算注意力模式
- 累积评分:对每个历史 token,累积其在观察窗口内的注意力权重
- Top-K 选择:按累积分数排序,保留前 b 个 token
在 LU-KV 中的使用
LU-KV 使用 SnapKV 作为 π_1,但将预算分配决策从 SnapKV 的"固定每 head 预算"提升为"基于 marginal-utility 的差异化分配"。实验表明:
- SnapKV 本身在不同 head 中的 optimality-gap 差异大
- LU-KV 将更多预算分配给 SnapKV-Oracle 对齐度高的 head
- 80% 压缩率下 LU-KV + SnapKV 显著优于 Uniform + SnapKV
相关概念
- heuristic-metric — SnapKV 是启发式指标的一种
- keydiff — 另一种常用 intra-head 指标
- intra-head-eviction — SnapKV 属于头内驱逐方法
- tang-lukv — 可兼容 SnapKV 作为 intra-head scoring 方法
参考
- SnapKV: LLM Knows What You are Looking for Before Generation (Li et al., 2024)
- tang-lukv (Tang et al., ICML 2026)