← 返回 2026-03-23

BEAVER:基于结构感知页面选择的免训练层次化提示压缩方法 BEAVER: A Training-Free Hierarchical Prompt Compression Method via Structure-Aware Page Selection

Zhengpei Hu, Kai Li, Dapeng Fu, Chang Zeng, Yue Li, Yuanhao Tang, Jianqiang Huang 📅 2026-03-20 👍 12 2026-07-13 08:36
信息检索 推理效率 提示压缩 无训练方法 长上下文

免训练的层次化提示压缩框架,将推理延迟降低26.4倍同时保持高精度检索

前置知识

提示压缩 (Prompt Compression)

提示压缩是一种在将长上下文输入发送给大语言模型之前,对其进行裁剪或精简的技术。其核心目标是在大幅减少输入 token 数量的同时,尽可能保留回答查询所需的关键信息。现有的提示压缩方法主要分为两大范式:无监督统计方法(如基于困惑度 PPL 或自信息来过滤冗余 token)和有监督学习方法(如训练专门的编码器模型来进行 token 级别分类)。压缩后的上下文可以显著降低 LLM 推理阶段的计算开销和首 token 延迟。

本文提出的 BEAVER 正是一种新型提示压缩方法,理解这一概念是理解本文研究问题和贡献的基础。

Lost in the Middle 效应

这是 Liu et al. (2024) 发现的一个 LLM 关键缺陷:当输入上下文很长时,模型对位于上下文中间位置的信息的利用率显著下降。也就是说,即使关键信息存在于上下文中,如果它被放置在中间而非开头或结尾,模型很可能忽略它。这一现象揭示了简单扩展上下文窗口并不能保证信息的有效利用,需要更智能的方式来组织和筛选上下文信息。

BEAVER 的设计动机之一就是缓解 Lost in the Middle 效应,其结构化先验(Anchor、Flow、Flash 页面)正是针对这一问题提出的解决方案。

Self-Attention 的 O(L²) 复杂度

Transformer 模型中的自注意力机制需要对输入序列中每对 token 计算注意力分数,导致计算复杂度随序列长度 L 呈二次方增长。这意味着当上下文从 32k 扩展到 128k 甚至更长时,预填充(prefill)阶段的延迟会急剧增加。虽然 FlashAttention 等系统级优化和量化技术可以缓解内存压力,但二次复杂度的根本瓶颈仍然存在,导致首 token 时间和尾部延迟难以接受。

这一计算瓶颈是提示压缩方法存在的根本原因——通过压缩输入长度来降低实际送入模型的 L 值,从而直接减少自注意力的计算量。

Late Interaction 与 Dense Retrieval

Dense Retrieval 是将查询和文档分别编码为密集向量,通过向量相似度(如余弦相似度)进行匹配的经典方法。Late Interaction 则保留查询和文档的细粒度 token 级别表示(如 ColBERT 的方式),在匹配阶段进行更精细的交互。BEAVER 的 QueryPlanner 对短查询采用 Dense Retrieval 策略(长度小于 4 token),对长查询采用 Late Interaction 策略,以兼顾效率和匹配精度。

理解这两种检索范式的区别有助于理解 BEAVER 的 QueryPlanner 模块为何针对不同查询长度采用不同策略,以及其语义-词法双分支评分机制的设计思路。

In-Context ITF (逆文档频率变体)

ITF (Inverse Term Frequency) 是 BEAVER 提出的一种上下文自适应加权机制,灵感来自信息检索中的 IDF 概念。其计算公式为 w_{itf}(t) = Norm(log(1 + (L_c + L_q) / (1 + tf(t)))),其中 tf(t) 是 token t 在上下文中的出现频率。出现频率越低的 token(如专有名词、关键数字)获得越高权重,而高频停用词被自然降权。这种无监督的加权方式不需要额外模型,直接利用上下文自身的统计特性。

ITF 是 BEAVER 的核心信号源之一,它替代了传统方法中昂贵的困惑度计算或训练好的分类器,实现了零训练开销的同时保持了对关键 token 的敏感度。

研究动机

随着大语言模型上下文窗口从 32k 扩展到百万级 token,两个核心瓶颈阻碍了实际部署:首先是推理阶段的“计算墙”——自注意力的 O(L²) 复杂度导致预填充延迟急剧增长,128k 上下文的延迟可达数十秒;其次是信息利用的“递减收益”——简单扩展上下文窗口并不能带来成比例的性能提升,反而触发 Lost in the Middle 效应,模型忽略中间位置的关键信息。现有提示压缩方法陷入两难困境:无监督统计方法(如 LongLLMLingua)基于困惑度的启发式过滤虽然不需要训练,但在小模型上概率分布噪声大、可靠性低,且细粒度的 token 剪枝会破坏句法和语义连贯性,产生碎片化的上下文;有监督学习方法(如 LLMLingua-2)虽然精度更高,但需要昂贵的数据蒸馏和模型训练过程,且训练好的压缩器与目标 LLM 之间存在分布不匹配问题,在不同模型间迁移性差——例如 GPT-4 对齐的压缩器在 Qwen3-0.6B 上只能获得 32.9 分。

本文的目标是本文提出 BEAVER 框架,旨在实现一个完全免训练、硬件友好的提示压缩方案,同时满足三个目标:(1)零训练开销——不依赖任何专门训练的压缩模型,直接利用目标 LLM 自身的嵌入和上下文统计信号;(2)高保真压缩——在激进压缩比(如 5 倍压缩,将 10k+ token 压缩到 2000 token)下保持关键信息完整性,特别是在多针检索和复杂推理任务上;(3)极致效率——在 128k 上下文长度下实现相比现有方法数倍甚至数十倍的延迟降低,支持高吞吐量生产环境部署。

与已有工作不同的是,BEAVER 的独特切入角度在于将压缩操作从线性 token 级别提升到结构感知的页面级别层次化选择。现有方法要么逐 token 过滤(破坏篇章完整性),要么需要训练专门模型(引入额外成本和兼容性问题)。BEAVER 观察到,人类阅读长文档时并非逐字扫描,而是先定位章节、再精读关键段落——这种“先粗后细”的认知模式可以被计算化。具体而言,BEAVER 将变长序列映射为二维页面张量,通过双路径池化编码器捕获层次特征,再用融合语义和词法的混合规划器进行页面级选择。这种设计既利用了 GPU 的矩阵并行计算能力(避免序列处理瓶颈),又通过保持页面完整性来维护篇章连贯性——这是 token 级方法无法做到的。

核心方法

BEAVER 的设计直觉可以用图书馆检索来类比:当你在一个巨大的图书馆里找特定信息时,你不会逐字逐句扫描每本书(token 级剪枝),也不会训练一个专门的图书管理员(有监督方法)。相反,你先按索引找到可能相关的书架(Segmenter),快速翻阅每本书的目录和摘要来判断相关性(PageEncoder),然后根据与查询的匹配度挑选最值得精读的几本书(QueryPlanner),最后确保选中段落的句子是完整的(句子平滑)。技术路线上,BEAVER 由三个核心组件构成:Segmenter 将变长序列按自然语言分隔符(换行符、标题标记等)切分为逻辑段落,然后贪心分页构建二维页面张量 P ∈ N^{N×M};PageEncoder 通过加权平均池化和最大池化的双路径编码,将页面张量映射为页面级表示 P̂ ∈ R^{N×d};QueryPlanner 计算查询与页面表示之间的混合语义-词法交互分数,结合结构先验(锚点页、流动页、闪光页)选择最相关的页面,最后通过句子平滑机制恢复完整的句子边界。

BEAVER 最本质的创新是将提示压缩从 token 级别的线性剪枝转变为页面级别的层次化选择,并用无监督的上下文统计信号替代了有监督的分类器。与 LongLLMLingua 和 LLMLingua-2 等方法的核心区别体现在三个方面:第一,压缩粒度不同——token 级方法逐个判断每个 token 是否保留,容易切断句子和段落边界,产生碎片化输出(如论文中展示的 “Rements R” 这样的乱码片段);BEAVER 以页面为最小单位进行选择,天然保持篇章完整性。第二,信号来源不同——有监督方法需要从 GPT-4 等大模型蒸馏知识来训练压缩器,面临分布不匹配和跨模型迁移问题;BEAVER 直接利用目标 LLM 的嵌入和上下文的 ITF 统计信号,实现了“自适应”压缩——压缩决策天然与目标模型的处理机制对齐。第三,计算模式不同——现有方法大多采用序列处理方式,BEAVER 通过将变长序列映射为密集的二维张量,最大化 GPU 矩阵乘法的并行效率,这是其能够实现 26.4 倍加速的关键原因。

方法步骤详情

BEAVER 的完整压缩流程包含四个阶段。第一阶段:Segmenter 分页。输入上下文 C 和查询 Q,Segmenter 首先按自然分隔符(如换行符)将 C 切分为逻辑段落 {c_1, ..., c_K},然后采用贪心分页策略:将连续的短段落打包到一个页面(容量上限 M),超长段落则跨页切分。输出是页面索引张量 P(无效位置用 -1 填充)。第二阶段:PageEncoder 编码。利用目标 LLM 的嵌入层将 token 映射为特征 H,按页面索引重排为三维张量 X。计算上下文内逆词频 w_{itf}(t) = Norm(log(1 + (L_c + L_q) / (1 + tf(t)))) 作为注意力权重。然后通过双路径池化:加权平均池化捕获全局语义 μ_i,最大池化捕获稀有局部激活 m_i,最终融合 p̂_i = γμ_i + (1-γ)m_i,γ=0.7。第三阶段:QueryPlanner 选择。对短查询(L_q < 4)采用 Dense Retrieval,对长查询采用 Late Interaction 计算语义分数 s_{sem}(i);同时计算词法分数 s_{lex}(i)。混合分数 s_{mix}(i) = λs_{sem}(i) + (1-λ)s_{lex}(i),λ=0.7。最后整合三层结构先验:(1) Anchor 保留前 k_{anc}=4 页获取全局元信息;(2) Flow 保留查询前的 w_{flow}=4 页连续窗口保持局部连贯;(3) Flash 从剩余页面中选择分数最高的 k_{flash} 页捕获远距离关键证据。第四阶段:句子平滑。将选中页面索引映射回 token 跨度 [a_r, b_r],向外扩展到最近的句子边界以保持句法完整性,合并重叠跨度,拼接为最终压缩上下文。

技术新颖性

BEAVER 的技术新颖性体现在多个层面。首先,“页面级层次化选择”这一范式本身在提示压缩领域是全新的——此前的方法要么在 token 级别操作(Selective-Context、LLMLingua 系列),要么在句子级别操作(CPC),但都未利用文档的自然分页结构。BEAVER 通过 Segmenter 将一维序列转化为二维张量,这不仅带来了篇章完整性的好处,更重要的是使得标准矩阵乘法可以高效并行执行——这是其效率优势的根本来源。其次,In-Context ITF 加权机制是一种新颖的无监督信号,它巧妙地将信息检索中的 IDF 概念适配到上下文压缩场景中:高频 token(如 “the”、“is”)被降权,而低频但信息量大的 token(如专有名词、数字)被提升。这种机制不需要任何外部模型或训练数据,直接从待压缩的上下文中计算得出。第三,三层结构先验(Anchor + Flow + Flash)的设计借鉴了人类认知中的工作记忆理论——Anchor 模拟长期记忆中的全局框架,Flow 模拟短期记忆中的局部上下文,Flash 模拟注意力捕获的远距离关键信息。这种认知启发的设计在之前的提示压缩工作中没有出现过。最后,语义-词法双分支评分体系的设计也是独特的——语义分支捕获查询意图的深层含义,词法分支确保精确匹配关键实体和数字,两者互补避免了纯语义方法容易忽略表面形式的问题。

BEAVER 整体流程图
Figure 2: BEAVER 整体流程图
句子级平滑机制示意图
Figure 3: 句子级平滑机制示意图
金融问答任务的定性对比
Figure 8: 金融问答任务的定性对比

实验结果

BEAVER 在四个长上下文基准上进行了全面评估,结果令人印象深刻。在 LongBench 上(2000 token 预算),BEAVER 取得 42.2 的平均分,超越了有监督的 LLMLingua-2(39.1)和无监督的 LongLLMLingua(48.0,但后者在合成任务上表现异常)。特别值得注意的是,BEAVER 在单文档 QA 上达到 40.7 的 SOTA,相比 LLMLingua-2 的 29.8 提升了 10.9 个点。在 RULER 基准上(16k 上下文,3k 预算),BEAVER 的优势最为突出:平均分 83.7 几乎是第二名 LLMLingua-2(47.9)的两倍。在单针检索任务上 BEAVER 保持 100% 准确率,多针检索达到 99%,而 LongLLMLingua 几乎完全失败(小于10%),LLMLingua-2 在多针任务上也不稳定(72%)。在 L-Eval 域外评估中,BEAVER 取得 57.6 的最高平均分,超越 LongLLMLingua(51.5)和 LLMLingua-2(54.6),在法律合同 QA 和科幻小说 QA 上分别提升 7.5 和 11.0 个点。在效率方面,BEAVER 在 128k 上下文下仅需 1.20 秒完成压缩,而 LongLLMLingua 需要约 31.7 秒,对应 26.4 倍加速。即使与高度优化的蒸馏模型 LLMLingua-2 相比,BEAVER 仍实现 5.9 倍加速。模型可扩展性分析显示,BEAVER 在 Qwen3 系列(0.6B 到 32B)上的性能保持率稳定在 84%-98%,远超 LLMLingua-2 在小模型上的表现(0.6B 时仅 42%)。消融实验证实了每个组件的必要性:移除词法匹配导致 6.0 分的最大降幅,移除 ITF 评分降 2.7 分,移除句子平滑降 1.6 分,仅保留 Anchor 的极端情况导致 21.7 分的崩溃。

LongBench 和 ZeroSCROLLS 基准性能对比
Table 1: LongBench 和 ZeroSCROLLS 基准性能对比
RULER 基准性能对比(16k 上下文,3k 预算)
Table 2: RULER 基准性能对比(16k 上下文,3k 预算)
L-Eval 域外评估(2000 token 预算)
Table 3: L-Eval 域外评估(2000 token 预算)
LongBench QA 消融实验
Table 4: LongBench QA 消融实验
不同上下文长度下的推理延迟对比
Figure 4: 不同上下文长度下的推理延迟对比
跨模型规模的可扩展性与鲁棒性分析
Figure 5: 跨模型规模的可扩展性与鲁棒性分析
单针检索准确率热力图可视化
Figure 6: 单针检索准确率热力图可视化
多针检索准确率热力图可视化
Figure 7: 多针检索准确率热力图可视化
查看结构化数据
任务指标本文基线提升
LongBench 单文档 QA F1 40.7 (2K) / 42.3 (3K) LLMLingua-2: 29.8 (2K) / 35.5 (3K) +10.9 (2K) / +6.8 (3K)
LongBench 平均 AVG 42.2 (2K) / 44.2 (3K) LLMLingua-2: 39.1 (2K) / 42.4 (3K) +3.1 (2K) / +1.8 (3K)
RULER 平均 AVG 83.7 LLMLingua-2: 47.9 +35.8 (近两倍)
RULER 单针检索 Accuracy 100.0% LLMLingua-2: 27.0% +73.0
RULER 多针检索 Accuracy 99.0% LLMLingua-2: 72.0% +27.0
L-Eval 平均 AVG 57.6 LLMLingua-2: 54.6 / LongLLMLingua: 51.5 +3.0 vs LLMLingua-2 / +6.1 vs LongLLMLingua
ZeroSCROLLS 平均 (2K) AVG 32.0 LongLLMLingua: 32.7 / LLMLingua-2: 33.4 接近持平 (32.0 vs 32.7)
推理延迟 (128k 上下文) Latency 1.20s LongLLMLingua: 31.7s / LLMLingua-2: 7.1s 26.4x 加速 vs LongLLMLingua / 5.9x vs LLMLingua-2

局限与改进

作者在论文中坦诚地承认了三个主要局限性。第一,页面级粒度虽然优先保证了结构完整性和速度,但本质上不如细粒度 token 剪枝精确,可能在选中的段落内保留一些冗余信息。这意味着在极度激进的压缩比下(如 10 倍以上),BEAVER 可能会浪费宝贵的 token 预算在不太重要的内容上,而 token 级方法可以更精细地去除冗余。第二,BEAVER 的检索机制依赖语义和词法相似度,在深度多跳推理场景下面临挑战——当支撑证据与查询几乎没有直接词汇重叠且需要中间推理步骤时,BEAVER 可能无法有效定位这些间接相关的证据。第三,作为免训练方法,BEAVER 依赖预设的超参数(如权重因子 γ=0.7、λ=0.7、结构先验大小 k_{anc}=w_{flow}=4),这些超参数可能需要在差异较大的领域中手动调整,而端到端学习模型可以自动适应。从笔者的观察来看,BEAVER 在 ZeroSCROLLS 上的表现(32.0)虽然与基线持平,但并未显著超越,这说明在某些自然语言理解任务上,结构感知选择的优势可能不如在检索类任务上那么明显。此外,论文使用 gpt-3.5-turbo-instruct 作为所有下游评估的 LLM,未在更先进的模型(如 GPT-4、Claude)上验证效果。

独立分析的弱点

尽管 BEAVER 在多个基准上表现出色,仍有几个值得关注的弱点。首先,页面大小 M 的选择对性能有显著影响(消融实验显示 M=32 降 1.8 分,M=128 降 2.4 分),但论文中固定为 64 且未提供自适应调整机制。对于结构差异很大的文档(如密集的代码文件 vs 稀疏的自然语言文档),最优页面大小可能截然不同,建议未来工作引入自适应分页策略,根据局部信息密度动态调整页面大小。其次,语义和词法分数的融合权重 λ=0.7 是全局固定的,但不同类型的任务(如语义推理 vs 精确匹配)可能需要不同的平衡点。可以考虑根据查询类型自动调整 λ,例如检测到查询包含数字或代码时降低 λ 以增强词法匹配。第三,BEAVER 的 Flash 页面选择仅基于混合分数排序,没有考虑页面之间的信息互补性——如果两个高分页面包含高度相似的信息,同时选择它们就是浪费。引入多样性感知的选择策略(如 MMR, Maximal Marginal Relevance)可能进一步提升压缩效率。最后,在零样本问答场景下,BEAVER 保留的 Anchor 和 Flow 页面虽然保证了连贯性,但也可能引入与查询无关的噪声,特别是在文档开头部分与查询主题无关时。

未来方向

论文作者在局限性部分暗示了几个研究方向,基于 BEAVER 的成果还可以延伸更多。第一,自适应压缩比——当前 BEAVER 使用固定的 token 预算,但不同查询的难度和所需证据量差异很大。可以设计一个难度评估模块,根据查询复杂度动态调整压缩比,简单查询使用更激进的压缩,复杂推理使用更宽松的预算。第二,多模态扩展——随着多模态 LLM 的发展,将 BEAVER 的页面级选择思想扩展到图文混合文档中,对图片、表格等非文本元素进行结构感知的筛选,是一个自然且有价值的方向。第三,与 RAG 系统集成——BEAVER 的高效压缩能力可以作为 RAG (Retrieval-Augmented Generation) 管道中的预处理步骤,在检索到相关文档后先进行压缩再送入 LLM,有望显著降低 RAG 的推理成本。第四,结合强化学习——虽然 BEAVER 的免训练设计是其核心优势,但可以探索轻量级的在线学习机制,利用 LLM 的反馈信号微调页面选择策略,在保持低开销的同时提升任务特定的适应性。第五,代码和结构化数据——论文中的 CodeU 实验表明 BEAVER 在代码压缩上已有不错表现,但专门针对代码的语法结构(如抽象语法树 AST)和表格等结构化数据的压缩策略还有很大的优化空间。

复现评估

BEAVER 的复现条件非常友好。论文已开源代码(https://cslikai.cn/BEAVER/),这大大降低了复现门槛。在算力需求方面,BEAVER 的核心计算依赖于 Qwen3-8B 的嵌入层(而非完整的前向推理),加上页面级矩阵运算,整体算力需求远低于需要运行完整 LLM 进行困惑度计算的 LongLLMLingua。论文报告的所有延迟和吞吐量指标均在 NVIDIA A100 (80GB) GPU 上测量,但理论上在更小的 GPU(如 RTX 3090)上也应该可以运行,因为嵌入层的内存占用相对较小。超参数设置清晰(M=64、γ=0.7、λ=0.7、k_{anc}=w_{flow}=4),且论文提供了详细的基线配置和实现细节(附录 B)。数据集方面,LongBench、ZeroSCROLLS、RULER 和 L-Eval 均为公开基准,无需额外数据收集。唯一的潜在复现障碍是嵌入模型的选择——论文默认使用 Qwen3-8B,但消融实验显示替换为 LLaMA3-8B 仅导致 0.3 分波动,说明框架对嵌入模型不敏感,复现者可以灵活选择。总体而言,BEAVER 的复现难度被评为“低”,适合研究生级别团队在一周内完成。