稀疏注意力与 KV 压缩评估的四种“美化”手法
一位长期从事高效注意力研究的从业者发文,详述在稀疏注意力与 KV 压缩评估中常见的“美化”做法,呼吁更严谨的实验设计。
一位长期从事高效注意力与 KV Cache 压缩研究的从业者日前在社交平台发文,系统梳理了让稀疏注意力 / KV 压缩方法“看起来很好”的若干评估套路,并坦承“我自己也做过,但正在努力改”。
作者的核心论点是:当前大量稀疏注意力论文所报告的“5–10 倍压缩 / 稀疏比”性能,几乎都建立在精心挑选的实验设置上,方法本身的有效性被系统性高估。以下四类手法最具代表性。
评估场景偏向“配合型”任务
作者指出,最容易“出结果”的三类任务是:
- Needle-in-a-Haystack(NIAH)单 OOD 键值检索,背景用重复句或无关文本填充;
- 数年前已“污染”的真实 QA 基准,模型早已不再认真阅读上下文;
- 少样本上下文学习(few-shot ICL),多几个示例几乎不改变 0-shot 准确率。
这些任务要么是合成的,要么属于“模型根本不靠上下文回答”的退化场景,绝大多数都能被滑动窗口注意力(SWA)解决。在这些任务上叠加任何稀疏方法并报告 5–10 倍压缩,意义有限。作者认为,合成任务、真实 QA 与上下文学习三类场景拼出的“广覆盖”假象,并不能代替对方法多样性的真正测试。
不做受控的消融对比
作者进一步指出,能从稠密模型恢复出性能的关键模块,是“局部窗口 + attention sinks + 与问题高度 n-gram 重叠的答案句检索”。然而在论文中,对比方式常出现以下偏差:
- 与既有方法 X 比较时,X 使用窗口大小 256、自己使用 512,不交代差异就直接报告“更稳定”;
- 用更小的 block size 换取“更精细”的检索粒度,却回避不规则内存访问带来的速度退化;
- 基线方法保持 2023 年原版实现,自己则用 LLM 生成定制 Triton kernel 加速,再以“更优实现”为由回避功能等价性的质疑;
- 调优 prompt,把问题放在上下文之前,让模型先“知道该过滤什么”,再以“无损压缩”自居,且不公开调优后的 prompt。
作者直言:“别把基线调到拒绝你的论文,把你自己的调到被接收。”
用聚合指标掩盖短板
以业界常用的 RULER 基准为例,其 13 个子任务中:6 个属于上述“配合型”NIAH 任务,2 个 QA 任务使用多年前的数据集,Variable Tracking 也存在大量无关上下文。作者强调 RULER 仍然有用,但容易被“只报总分、不报分项”地滥用——论文往往强调聚合分数提升,在 limitation 里却一笔带过地承认方法在真正考验无损压缩的 NIAH-MK3 等任务上掉点。
偏好已饱和的任务
作者还批评了一种常见做法:选择那些即使不压缩也已经达到 80% 的基准来评估压缩方法——所有模型规模都能容忍巨大压缩,本质上是在测试其“空闲容量”,而非压缩方法的真实有效性。此外,在只有 30 个样本的 AIME 上跑 4 个种子、自己 80 分、基线 79 分,就宣称“超越基线、刷新 SOTA”,完全无视统计意义。
作者最后提醒:在报告稀疏 / 压缩方法的“质量–效率曲线”之前,应先回答一个更朴素的问题——更小的稠密模型、KV-cache 量化或卸载、更优系统配置,能否达到更好的运行点?如果答案是肯定的,那么所谓方法贡献就只是相对一个故意未优化的基线而言。
