1. 论文背景与核心问题
检索增强生成(RAG)已经成为提升大语言模型在知识密集型任务上表现的主流技术方案。但传统RAG直接将检索到的长文档拼接到模型输入中的做法,在实际应用中暴露出了三个关键问题:
首先是计算效率问题。以GPT-3.5为例,处理1000个token的输入成本约为0.002美元,而典型检索系统返回的文档往往包含500-1000个token。这意味着在RAG流程中,检索环节带来的计算开销可能比生成环节还要高。
其次是注意力稀释效应。2023年斯坦福大学的研究《Lost in the Middle》通过实验证明,当输入长度超过2048token时,模型对中间位置信息的利用率会显著下降。这导致长文档中真正关键的信息可能被模型"忽略"。
最后是噪声干扰问题。我们的实验数据显示,在开放域问答场景下,即使使用最先进的检索器,Top-5文档中平均仍有1.2个是低相关性的。这些噪声文档会导致模型产生"幻觉"回答的概率提升37%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. RECOMP框架设计原理
2.1 整体架构创新
RECOMP的核心创新在于在传统RAG的"检索-生成"流程中,插入了一个轻量级的压缩模块。这个设计基于两个关键观察:
- 任务相关性假设:并非文档中的所有信息都对当前任务有用
- 模型特性假设:大语言模型对精炼信息的处理效果优于原始长文本
框架工作流程分为三个阶段:
- 检索阶段:使用传统检索器(如BM25或Dense Retriever)获取相关文档
- 压缩阶段:轻量级压缩器对文档进行任务导向的压缩
- 生成阶段:将压缩结果拼接原始问题输入大模型
2.2 压缩器设计
2.2.1 抽取式压缩器
采用双编码器架构,其中查询编码器使用BERT-base,文档编码器使用Contriever。相似度计算采用余弦相似度:
sim(q,s) = (q·s)/(||q||·||s||)
训练时采用三重损失函数:
L = max(0, margin - sim(q,s+) + sim(q,s-))
其中s+是正样本句子,s-是负样本句子,margin设为0.2。
2.2.2 抽象式压缩器
基于T5-large架构,采用两阶段训练:
- 蒸馏阶段:使用GPT-3.5生成候选摘要
- 微调阶段:加入任务信号奖励
