LongRAG:增强长上下文大语言模型的检索增强生成

这篇论文的标题是《LongRAG: Enhancing Retrieval-Augmented Generation with Long-context LLMs》,由滑铁卢大学的Ziyan Jiang、Xueguang Ma和Wenhu Chen撰写。论文主要探讨了在传统的检索增强生成(RAG)框架中存在的一些问题,并提出了一种新的框架LongRAG,旨在改进检索和生成的平衡性。

代码:https://tiger-ai-lab.github.io/LongRAG/

论文摘要

在传统的RAG框架中,检索单元通常较短,如100字的维基百科段落。检索器需要在庞大的语料库中搜索,这增加了检索负担。为了减轻这种负担,作者提出了LongRAG框架,包括"长检索器"和"长阅读器",将整个维基百科处理成4K-token的单位,使检索单元减少至60万,大大减轻了检索器的负担,显著提高了检索性能。在不需要训练的情况下,LongRAG在NQ和HotpotQA(全维基)上达到了62.7%和64.3%的EM(精确匹配)率,与最先进的模型相当。

主要方法

LongRAG框架包含三个重要设计:

  1. 长检索单元:通过使用整个维基百科文档或将多个相关文档分组,构建超过4K token的长检索单元,显著减少语料库的大小。
  2. 长检索器:长检索器通过搜索长检索单元来识别相关信息,将前4到8个检索单元连接起来作为长上下文。
  3. 长阅读器:长阅读器从检索的长上下文中提取答案,利用现有的长上下文LLM(如Gemini或GPT-4)进行零样本答案提取。

LongRAG示例。在左侧,展示了通过超链接将维基百科文档分组形成的长检索单元。每个检索单元平均包含4K个token,对应多个相关文档。右侧展示了来自HotpotQA的多跳问答测试案例。最终结果可以通过使用少量检索单元,并将其输入到长阅读器中实现。

文档分组算法

相似性搜索

我们使用一个编码器,记为EQ(·),将输入问题映射到一个d维向量。此外,我们使用一个不同的编码器,记为EC(·),将检索单元映射到一个d维向量。我们使用它们向量的点积来定义问题与检索单元之间的相似性:

在LongRAG设置中,由于 g 的长度,计算 EC(g) 是有挑战性的,因此我们采用如下近似方法。

我们通过最大化检索单元 g 内所有子单元 g' 的得分来进行近似。我们考虑了不同层次的粒度,包括段落级别、文档级别和完整的分组文档。在表3中展示了关于这些设置的实证研究。使用这种相似性评分设置,我们将检索与给定查询最接近的前 k 个检索单元。为了提高检索效率,我们预先计算每个检索单元 g' 的嵌入,并在FAISS中预测精确的内积搜索索引。

汇总检索结果 我们将前 k 个检索单元连接成一个长上下文作为检索结果,记为CF=。根据检索单元的选择,较大的检索单元会导致较小的k 值。例如,如果检索单元是段落,k 大约在100以上;如果是文档,k大约为10;而如果是分组文档作为检索单元,我们通常将k设定为4到8。

创新贡献

  1. 减少语料库大小:通过长检索单元,语料库大小从2200万减少到60万,减轻了检索器的负担。
  2. 提高信息完整性:长检索单元避免了语义不完整,减少了信息丢失。
  3. 无需再排序器:最佳结果可以通过仅考虑前4-8个检索单元实现。

实验结果

实验结果显示,LongRAG在NQ和HotpotQA上的表现显著优于传统方法,达到或接近最先进的RAG模型的性能。具体来说,在NQ数据集上,LongRAG的答案召回率(answer recall)从52%提高到71%,在HotpotQA数据集上,从47%提高到72%。

方法的优缺点

优点:

  • 大幅减少了检索单元的数量和大小,减轻了检索器的负担。
  • 提高了检索的准确性和信息的完整性。
  • 实验结果显示其在零样本情况下性能优异。

缺点:

  • 依赖于长上下文嵌入模型的性能,而现有的长上下文嵌入模型还有提升空间。
  • 仅使用了黑盒LLM作为阅读器,未来可以探索更优化的阅读器模型。

总结

LongRAG框架通过平衡检索器和阅读器的负担,实现了更高效的检索和生成性能,为未来RAG系统的设计提供了新的思路。

论文下载地址

链接:https://pan.quark.cn/s/0f0b35098dc5

相关推荐
FII工业富联科技服务10 分钟前
如何提升工厂空间利用率与产线 UPH?从 Omniverse 布局优化到柔性自动化改造
人工智能·机器人·自动化·智能制造·omniverse·柔性生产·ai factory
深海鱼肝油ya15 分钟前
企业级RAG问答系统(一)数据处理模块
人工智能·大模型·pdf文件解析·rag问答系统·智能分块
本原财经17 分钟前
大厂争霸AI办公:个人Agent和AI硬件哪个才是答案?
大数据·人工智能
博谷21 分钟前
2026GEO概率化观测怎么做?BUGOOAI布谷GEO的采样与指标体系拆解
人工智能·ai
强哥聊算力27 分钟前
《算力江湖·国产GPU突围:摩尔线程故事》第四集:从图形到AI:摩尔线程为什么必须冲进大模型赛道?
运维·服务器·人工智能·ai·gpu算力
空堂与归42 分钟前
百度开源 LoopVL:1B 循环视觉模型省 260 倍数据
人工智能·百度·ai·开源
哔哩哔哩技术1 小时前
Index-Translate:支持 150 种语言的多模态翻译模型是如何炼成的?
人工智能
sinat_286945191 小时前
Claude Code Review
人工智能·代码复审
尘世中一位迷途小书童1 小时前
词表(tokenizer),一个开训就改不了的决定
人工智能
Tiandaren1 小时前
么是agent、为什么要做agent、怎么做agent、怎么工程化
人工智能·python·深度学习·大模型