BRIEF:通过证据融合实现多跳推理的轻量级方案
📖阅读时长:19分钟
🕙发布时间:2025-02-12
近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
多跳问题可能需要跨文档进行推理,这会导致延迟增加,长上下文理解能力下降。因为在执行检索增强生成(RAG)时,需要检索的文档数量增多了。
为了加快推理速度、降低成本,并减少干扰因素,本文提出了BRIEF(通过证据融合连接检索与推理,Bridging Retrieval and Inference through Evidence Fusion)这一轻量级方法。它通过将检索到的文档压缩成高度凝练的文本摘要,并融入上下文学习中,从而实现基于查询感知的多跳推理。
关键贡献
- 设计了一套完全基于开源模型构建的合成数据生成流程,旨在提升多跳推理的感知能力。由于成本较低,该流程在规模扩展上颇具潜力。
- 在精心整理的数据集上训练的BRIEF,相较于基于专有大语言模型(LLM)的压缩器,能够用更简洁的摘要实现卓越的问答性能。
- 贡献了高质量的多跳测试集,这些测试集揭示了以往压缩器的局限性。以往的压缩器在单跳场景中表现良好,但在多跳场景下,性能不如本文提出的方法。
BRIEF
1. BRIEF推理
下图展示了BRIEF在推理过程中的整体架构。
对于每一个输入查询$x$,现成的密集段落检索器会返回一组$N$个检索文档$D([d1, d2, …, dN])$。
随后,压缩器$C$将查询$x$与检索到的文档$D$拼接作为输入,并输出一个摘要$s$。
如果检索到的文档被认为与输入无关,我们的压缩器可以返回一个空字符串,从而实现选择性检索增强。
最后,输入查询$x$和压缩后的摘要$s$会被输入到一个现成的大语言模型(LLM)中。按照RECOMP[2]的做法,我们在提示词中加入少量上下文示例。这五个上下文示例是从相应的训练集中随机抽取的。
2. 数据收集
通过设计如下图所示的合成数据生成流程来训练抽象压缩器,该流程完全由开源模型构建。
这个流程包含以下几个模块:多跳问题组合、多跳验证以及有用命题识别,重点在于提升针对多跳推理的压缩效果。
流程中的自动验证机制有助于筛选掉虚假的多跳问题以及相应的摘要,确保只保留那些真正需要多跳推理的内容,最终提高合成数据的质量和可靠性。
a. 问题组合
该流程首先会组合多跳问题,这些问题需要一系列推理或演绎步骤,以便从多个片段中整合和提炼证据。
正式来说,给定一个单跳种子问题$x$以及其检索到的文档$D$,随机抽取$t$个文档得到$\hat{D}$。
将抽取的文档$\hat{D}$输入到开源大语言模型中,并促使模型生成一个$t$跳问题$\hat{x}$及其答案$\hat{y}$。
利用一些常见的关系,比如“[实体]位于哪个大洲?”以及“[实体]的作者是谁?”,来帮助发现不同文档之间的联系。
b. 多跳验证
首先将组合生成的$t$跳问题$\hat{x}$分解为$t$个单跳问题及其相应答案$[(\hat{x1}, \hat{y1}), …, (\hat{xt}, \hat{yt})]$。
借助桥梁实体[3]的概念,通过启发式规则可以剔除一些虚假的多跳问题。
对于从剩余多跳问题$\hat{x}$分解得到的每一个单跳问题$[\hat{x1}, …, \hat{xt}]$,我们旨在从检索到的文档$D$中识别出最有用的命题$[\hat{p_{m1n1}}, …, \hat{p_{mtn t}}]$。
如果任何一个单跳问题都无法识别出有用命题,那么这个案例将被舍弃。
最后,有用命题应该分布在不同的文档中,即$[n1, …, nt]$彼此不同。
c. 目标摘要
确定了从组合多跳问题$\hat{x}$派生的单跳问题$[\hat{x1}, …, \hat{xt}]$的有用命题$[\hat{p_{m1n1}}, …, \hat{p_{mtn t}}]$。
这些有用命题的拼接就被视为目标摘要$\hat{s}$。
以$(\hat{x},D, \hat{s}) ∼ D_{comp}$的形式整理多跳训练数据。
为了使用统一的压缩器处理不同复杂程度问题的检索文档压缩,我们还纳入了处理单跳查询的训练数据,这些单跳查询需要从单一信息源直接得出答案。
单跳和多跳的(问题,文档,摘要)元组协同工作,创建了一个强大的数据集$D_{comp}$,能够训练适应不同查询复杂程度的模型,增强它们处理简单和复杂查询任务的能力。
如果$D$中的所有文档都被认为无用,即$eD = ∅$,则将目标摘要设置为空字符串,以促进选择性检索增强。
下表展示了种子数据集和合成数据集$D_{comp}$的统计信息。
3. BRIEF训练
使用精心整理的数据集$D_{comp}$对压缩器$C$进行微调,这里的压缩器$C$是一个T5-large模型(770M),以便与RECOMP进行公平比较。
微调过程遵循标准的下一个令牌目标,公式如下:
结果
1. 多跳结果
下表展示了以Flan-UL2为大语言模型$M$的开放域多跳问答结果。
BRIEF在问答和文档压缩方面都展现出了出色的多跳性能。
具体来说,在HotpotQA数据集上,BRIEF实现了19.19倍的压缩率,与直接添加完整文档相比,EM值仅下降1.60点,F1值仅下降1.83点。
2. 单跳结果
下表展示了以Flan-UL2为大语言模型$M$的开放域单跳问答结果。
具体来说,在TriviaQA数据集上,BRIEF实现了29.76倍的压缩率,与直接添加完整文档相比,EM值仅下降2.55点,F1值仅下降3.49点。
在NQ数据集上,我们也观察到了类似的趋势,压缩率达到17.67倍,EM值仅下降2.99点,F1值仅下降3.28点。
与RECOMP相比,BRIEF的压缩率高达29.76倍,而RECOMP仅为16.23倍,并且在TriviaQA数据集上,BRIEF的性能优于RECOMP。
与GPT-3.5相比,BRIEF在问答性能上具有竞争力,同时其17.67倍的压缩率显著优于GPT-3.5的11.33倍。
分析
1. 压缩摘要在不同大语言模型间的迁移能力
这涉及评估压缩摘要在保持与查询相关核心语义的同时,能否采用与更广泛大语言模型兼容的表达格式。
下图展示了问答兼容性性能。
由于我们的压缩采用命题形式,与RECOMP和GPT-3.5相比,它更具可解释性,在不同大语言模型间的迁移性也更好。
在所有多跳数据集上,与RECOMP和GPT-3.5相比,当从Phi-3-mini模型迁移到Phi-3-small模型时,BRIEF的性能下降幅度更小;从Phi-3-small模型扩展到Phi-3-medium模型时,性能提升幅度更大。
2. 摘要长度对问题多跳性质的敏感性
下图展示了压缩摘要长度随问题多跳性质的变化情况。
结果表明,在生成更简洁摘要的同时,BRIEF在对问题多跳性质的敏感性方面与GPT-3.5保持一致。
3. 在整体计算开销方面延迟的改善
处理检索文档的GFLOPs消耗对比情况如下图所示。
当使用BRIEF进行压缩时,处理压缩文档所需的GFLOPs数量,相较于单独使用Flan-UL2处理原始未压缩的前5个文档所需的数量显著降低。
4. 压缩更长文档的可扩展性
基于T5的压缩器最大序列长度为512个标记,这使得压缩超过此限制的更长上下文具有挑战性。
为此进行了一项初步研究,将检索文档的范围从顶部5个扩展到顶部25个。
为避免文档位置偏差,对这些文档进行洗牌,并均匀划分为多个文档块,每个文档块包含5个文档。
然后,按照标准流程,使用训练好的压缩器对每个文档块进行压缩。最后,将每个文档块的压缩结果拼接起来,生成整体的压缩摘要。
下图展示了以Flan-UL2为大语言模型,在压缩更长文档情况下的多跳问答结果。
在文档长度显著更长的场景中,BRIEF展现出了更好的可扩展性。
BRIEF相对稳定,而RECOMP则出现了显著的性能下降。
局限性
经过训练的统一压缩器在其中两个数据集上提升了性能,但在其余四个数据集上并未取得改进。这凸显了进一步优化的必要性,可能还需要针对特定数据集进行微调,以应对每个数据集的独特特征,确保在各种应用中都能实现更稳定的性能。
结论
本文介绍了BRIEF,这是一种专为文档压缩设计的上下文压缩器,旨在借助RAG实现多跳推理。
BRIEF通过一个旨在增强多跳推理感知的流程,利用合成数据进行训练,不依赖专有大语言模型。
实验结果表明,BRIEF能够生成更简洁的摘要,同时使大语言模型在问答性能上优于以往的压缩方法。
与专有大语言模型GPT-3.5相比,BRIEF在问答性能和压缩效率方面也具有竞争力。
论文链接:https://arxiv.org/abs/2410.15277
代码链接:https://github.com/JasonForJoy/BRIEF
参考文献
- BRIEF: Bridging Retrieval and Inference for Multi-hop Reasoning via Compression by Li et al. arXiv:2410.15277
- RECOMP: improving retrieval-augmented lms with context compression and selective augmentation. by Xu et al. In The Twelfth International Conference on Learning Representations, ICLR 2024
Multihop-rag: Benchmarking retrieval-augmented generation for multi-hop queries. by Tang et al.. CoRR, abs/2401.15391
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。