论文地址:https://arxiv.org/pdf/2410.05983v1
论文来源:google
摘要
检索增强生成(RAG)使大型语言模型(LLMs)能够利用外部知识源。LLMs 处理更长输入序列的能力不断提升,为提供更多检索信息开辟了新的可能性,从而可能提高生成输出的质量。我们可以合理地假设,较大的检索集将包含更多相关信息(更高的召回率),可能会导致性能的提升。然而,我们的实证研究表明,对于许多长上下文 LLMs,生成输出的质量最初会提高,但随着检索段落数量的增加,随后会下降。本文探讨了这一现象,识别出检索到的“硬否定”对性能下降的关键影响。为此,我们提出了无训练和有训练的方法,以增强基于长上下文 LLM 的 RAG 的鲁棒性。我们首先展示了检索重新排序作为一种简单而强大的无训练优化方法的有效性。此外,我们探索了有训练的方法,特别是 RAG 特定的隐式 LLM 微调和带有中间推理的 RAG 导向微调,展示了它们在性能提升方面的潜力。最后,我们对这些有训练方法的设计选择进行了系统分析,包括数据分布、检索器选择和训练上下文长度。
无训练方法
- 重排序:为解决“lost in the middle”的问题,从两端开始放置相关片段。
微调方法
- 隐式鲁棒性微调:标准 LLM 训练过程中未处理噪声检索数据,使用包含查询和检索片段的数据进行微调,提高模型鲁棒性。
- 显式相关性微调:显式教 LLM 识别相关文档,在生成最终输出之前分析检索到的片段并识别相关片段,提高在噪声中识别相关信息的能力。
一般评判基准的局限性
一般评判基准通常依赖随机反例,并不能体现现实世界中硬否定片段带来的挑战。
- 检索到的上下文数量对 RAG 的影响:取决于检索器的能力,强检索器呈现倒 U 型能力曲线,弱检索器呈现正比增长。
- 检索质量和 LLM 处理检索信息的能力的相互作用:即使召回了相关片段,LLM 不一定能准确回复,说明硬否定片段对 LLM 有影响。检索器的精度指标具有局限性,强检索器召回的硬否定片段可能比弱检索器召回的对 LLM 影响更大。
- 硬否定对长上下文 LLM 评估的重要性:增加硬否定片段数量会影响 LLM 的性能,检索器的强弱与检索到的硬否定片段的难度直接相关,LLM 对随机片段具有鲁棒性,但容易受到硬否定片段的影响。
重新排序检索文档的顺序
检索重新排序在较小的检索集下产生了微不足道的改进,但当检索到的段落数量很大时,它显著且始终优于原始排序。这种行为归因于两个因素的相互作用,这些因素随着更大的检索集变得越来越显著:(1)放大的“中间丢失”现象,其中 LLM 在输入序列的开始和结束处优先考虑信息,以及 (2) 硬否定的日益普及,可能会阻碍准确的答案生成。通过战略性地放置段落,检索重新排序缓解了这些问题,突出了位置工程作为提示工程优化 RAG 中长上下文 LLM 的补充技术的潜力。
数据增强微调
通过硬否定数据的构造,隐式增强 LLM 对相关文档的识别能力。
推理增强微调
通过增加中间推理结果识别相关文档,显式增强 LLM 识别相关文档并作为回复。
结论
本文研究了增加检索到的段落数量对检索增强生成 (RAG) 系统中长上下文 LLM 的性能的影响。与预期相反,我们观察到性能最初有所提高,然后随着包含更多段落而降低。这种现象归因于检索到的“硬否定”的不利影响。为了缓解这个问题,我们提出并评估了三种解决方案:无训练检索重新排序、RAG 特定的隐式 LLM 微调和具有中间推理的面向 RAG 的 LLM 微调。