Type something to search...
LongRAG:让人工智能在信息海洋中捕捞更多鱼

LongRAG:让人工智能在信息海洋中捕捞更多鱼

我之前的文章 中,我介绍了RAG是否会因长上下文LLMs而变得过时。今天,让我们看看如何将长上下文LLMs应用于RAG场景。

在检索增强生成(RAG)领域,传统方法一直依赖于短检索单元,通常约为100个单词,这迫使检索器在庞大的语料库中筛选以提取必要信息。这种设计虽然可行,但对检索器施加了不平衡的负担,往往因其必须处理的单元数量庞大而导致表现不佳。

本文介绍了一项新研究,标题为“LongRAG: 使用长上下文LLMs增强检索增强生成”。它旨在通过提出一种新颖的框架来解决这种不平衡,从而将检索单元的长度扩展到4,000个标记,显著提高检索器的效率和读者的表现。

传统 RAG 与 LongRAG

如图 1 所示,LongRAG 的核心创新在于其对传统 RAG 框架的重构。通过将检索单元的大小扩展到 4K tokens——是典型单元的 30 倍——LongRAG 将单元数量从数百万减少到可管理的几十万个。

这种方法不仅减轻了检索器的负担,还增强了所检索信息的语义完整性,从而提高了下游性能。

LongRAG

LongRAG框架由两个主要组件组成:Long RetrieverLong Reader。这两个组件的示例如图2所示。

Long Retriever通过将相关文档分组为保持语义完整性的统一体来组织检索过程。一旦识别出相关的长检索单元,它们将被传递给Long Reader,该组件能够处理广泛的上下文(大约30K个标记)。

以下是工作流程的逐步分解:

1. 制定长检索单元

LongRAG的第一步是创建长检索单元。

在传统的RAG框架中,检索单元较短,通常只有几百个标记,这可能导致信息碎片化,并且给检索器带来重大的负担,需要将相关上下文拼凑在一起。

LongRAG解决了这个问题,通过将相关文档分组为连贯的长检索单元,这些单元显著更大 — 每个单元可达4,000个标记。

为了形成这些长单元,LongRAG采用了一种分组算法,根据文档之间的关系组织文档,例如维基百科文章中嵌入的超链接。

例如,关于特定主题或实体的文档被分组在一起,以创建一个综合的检索单元(图2)。这确保了每个单元保持语义完整性,并为读者提供了更丰富的上下文,以便从中提取答案。

2. 相似性搜索与排名

一旦形成了长检索单元,下一步就是执行相似性搜索,以识别哪些单元与查询最相关。

查询通过编码器函数 E_Q 编码为一个向量,每个检索单元也通过另一个编码器函数 E_C 进行类似的编码。查询 q 与每个检索单元 g 之间的相似性通过它们各自向量的点积来计算。

然而,考虑到检索单元的长度,直接编码整个单元可能计算开销大且效果较差为了解决这个问题,LongRAG 通过将长单元分解为更小的块来近似相似性,并计算这些块之间的最大相似性得分。

这种方法类似于以往工作的 MaxP 设计,使 LongRAG 能够高效地识别每个长检索单元中最相关的部分,而不会牺牲性能。

3. 聚合检索结果

在计算相似度分数后,基于与查询的相关性选择前 k 个检索单元。这些选定的单元随后被连接起来形成一个单一的长上下文,通常包含约 30,000 个标记。 这个聚合的上下文将被传递给 Long Reader。

k 的大小或检索单元的数量对于平衡工作负载至关重要。如果检索单元太短,则需要更多单元,这可能会使阅读器不堪重负。相反,如果单元太长,则需要的数量较少,但必须高度相关,以避免包含多余的信息。

LongRAG 通过使用适量的结构良好的长检索单元来优化这种平衡,通常在 4 到 8 之间,具体取决于任务。

4. 通过长阅读器处理

长阅读器是负责从长上下文中提取最终答案的组件。此步骤利用先进的长上下文语言模型,如GPT-4o或Gemini-1.5-Pro,能够处理大量文本序列而不丢失关键信息。

对于较短的上下文(少于1,000个tokens),长阅读器直接提取答案。然而,对于典型的长RAG的较长上下文,该过程更加细致。最初,模型生成一个涵盖几句话的详细响应,确保捕捉到所有相关信息。然后,通过第二轮处理,长阅读器对初始输出进行精炼,将响应浓缩为一个精确、简洁的答案。

这种两步法确保长阅读器能够有效处理长检索单元提供的大量信息,同时仍然提供准确且集中的答案。

评估

本文对 LongRAG 在知名数据集上的表现进行了全面评估,如 Natural Questions (NQ) 和 HotpotQA。结果令人信服,检索性能有所提升,NQ 的答案召回率从 52% 提升至 71%(图 4),HotpotQA 的答案召回率从 47% 提升至 72%(图 5)。

结论

本文探讨了创新的 LongRAG 框架,这是一种通过扩展 RAG 框架以处理长文档的创新方法,使模型能够有效地处理和生成来自扩展上下文的答案。它结合了一个多步骤检索过程,动态检索长文本的相关部分,确保在生成阶段使用最相关的信息。这使得 LongRAG 在需要理解和综合来自冗长复杂文档的信息的任务中表现出色,在这种情况下优于传统的 RAG 模型。

然而,这种方法并非没有挑战。对强大的长上下文模型的依赖意味着该框架的性能与这些模型的能力紧密相关。此外,用于创建长检索单元的分组算法可能需要进一步改进,以便在超越基于维基百科的语料库时进行泛化。

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多