跳到主要内容

压缩吃掉的不是答案,是引用的祖宗

画唠
画唠

· 阅读约 5 分钟

上下文压缩的评测没那么玄。是我拿错了尺子——我一直盯着答案质量,论文盯着引用归属。attribution。就这个词。

9 月中旬 arXiv 上挂了一篇,2609.14245,Deepanshu Mody 的 The Attribution-Compression Frontier in Retrieval-Augmented Generation,投到 EMNLP 的 GroundLM 2026 workshop。题眼全在 Attribution 上,这篇有意思的地方也全在这。

先说我原来的理解,画出来是这样:

   一大坨原文 ──►[压]──► 一小坨 ──►[生成]──► 答案
                      ↑
                   这里丢东西,丢多少看预算

所以评测当然盯答案看:压完答得还行,说明没伤筋动骨;答崩了,说明压狠了。reranking、抽取、摘要、token 剪枝、extract-cluster-rewrite,五种做法拉一起比,看谁在更小预算下答案掉得最少。这个框架我用着挺顺手。

第一版我还给这图配了个结论:压缩的代价就是信息量,预算越小,丢得越多。看着挺对,对吧?

顺手,是因为我漏了一格。

来,画张图。生成的时候如果带引用,那个引用到底“落”在哪儿?

等等等等,先别急。这里有个地方特别容易滑过去:压缩器改写过的东西,跟原文不是同一份文本了。生成器嘴里吐出来的 [1],是压缩输入里的一段,不是原文里的一段。要让读者点得回原文,中间必须跨一跳。

   原文 ──►[压缩]──► 摘要 ──►[生成]──► 答案 + [1]

                     [1] 想回原文,得跨过压缩这一跳
                     └──► 谁来做这一跳?大多时候,一个 NLI 模型在猜

论文里那个数字我盯着看了半天。RECOMP 式的压缩器,ASQA,名义预算写 0.25,实际压到 0.08,也就是剩下不到一成——引用精度:对着它自己的摘要算,0.86。对着原文 span 算,0.12。

0.86 是那个危险的数字。它不坏,它看起来很好。你拿自己改写的文本当靶子,当然打得中,引用就漂在你眼前那句话上。换个靶子,回原文里翻,十次里只有一次多一点找得到。

同一批设置下,把 claim 拎去做验证:对着摘要是 0.17 不支持,做一遍 source recovery 再验证,0.88 不支持。

同一件事,两把尺子,0.17 和 0.88。

这篇对我最大的用处,是把我“压缩 = 丢信息”那个框架直接砸了。不是丢信息,是改了血缘——摘要出来的文本没有原文的祖先,生成器再怎么标,那个标也是悬空的。它能指回摘要,回不到原文。而且作者试过结构性地把“溯源缺失”的引用直接拒掉,这个坑还在。这就说明它不是几个悬空指针造成的噪声,是改写这个动作本身的问题。

血缘这个比喻也得标一下漏风的地方。血缘是一对一的,一个孩子一个爹。可引用不是。一句话压缩后可能被切成三句,也可能被并进别的段,祖先不是一个点,是一张网。所以严格说,“找不回祖宗”是“找不回原来那一段 span”。方向对,精度不够。

对照组在抽取那边。抽取式选择,在 ASQA 上下文的一半到十分之一这几个预算档上,grounded precision 落在 0.43 到 0.49 之间。不高。但它是“能回原文”的不高,代价是答案质量同时往下掉。

抽取为什么能落地?因为它没动文本,选中的还是原文的段,标过去就回去了。重写不一样,它把原文揉碎再拼,引用得重新建。重建就有猜。

选择就摆到台面上了:抽取,答案糙一点,引用能落地;重写,答案漂亮,引用悬空。

我站抽取。这句话我说得比论文狠——论文没这么讲,它只是在比,但看完那两组数字我很难不这么想。一个 RAG 系统里,悬空的漂亮答案是负资产,因为你核不了它,只能信它。

✨ 想通这一层的时候是真有点“咔哒一下扣上了”的感觉:我原来一直以为压缩的代价是信息量,其实压缩的代价是链条。信息丢了可以换个生成器补,链条断了,谁都没法补。

得老实标一下这篇在哪儿漏风。

所有那些 span recovery 和引用打分,共用同一个 NLI 模型,作者自己写了没有独立人工校准。所以 0.12 是那个 NLI 眼里的 0.12,0.88 也是它眼里的 0.88。这套协议内部自洽,它一致地告诉你同一件事——“你换靶子,数字会崩”——但它不等于真值。

第二组 200 题审计用 TRUE T5-XXL 跑,固定 source mapping 和重算 mapping 两种都试了,emitted 和 grounded 之间的差距都还在。但那个也没给出人工校准的支持率。所以我现在能说死的是:差距是真的,且不依赖某一组映射方式;差多少,我说不了。

这一段我自己也没完全画明白。拿什么替换 NLI 那一跳——让人来打标、还是把两段可信度分开报——我没有答案,先放这儿,想明白了再补。

照例留个自检:你现在能不能一句话讲清,为什么在压缩评测里,答案质量和引用精度是两件事?讲不顺的话,多半是你脑子里那张图还是单层的(原文→答案),少画了中间那一跳(谁把引用接回原文)。

下期想画开哪个概念?我候选清单上现在压着两个:embedding 和 KV cache。

本期画开:压缩没吃掉答案,它吃掉了引用的祖宗。

画唠
画唠

把被讲玄的概念用图 + 比喻 + 动手实验拆到咔哒扣明白,错的也保留。

查看主页 →