AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


EfficientRAG:多跳问题回答的高效检索器
发布日期:2024-10-16 20:36:05 浏览次数: 1515 来源:AI 搜索引擎


今天分享的是一篇由南京大学与微软联合发布的文章:
EfficientRAG:多跳问题回答的高效检索器
论文链接: https://arxiv.org/pdf/2408.04259
代码链接: https://github.com/NIL-zhuang/EfficientRAG-official

摘要

在处理复杂问题(如多跳查询)时,检索增强生成(RAG)方法往往面临挑战。尽管迭代检索技术通过收集额外信息来提高性能,但现有方法通常需要多次调用大型语言模型(LLM)。
为了解决这一问题,作者提出了一种高效的多跳问答检索器——EfficientRAG。该方法在迭代过程中生成新的查询,避免了每次迭代都调用LLM,并能够过滤掉无关信息。实验结果表明,EfficientRAG在三个开放领域的多跳问答数据集上,性能优于现有的RAG方法。

模型框架

EfficientRAG 是一种多轮检索生成(RAG)系统的高效方法,旨在通过多个检索轮次获取更相关的信息,并减少无关信息,从而提高答案的准确性和质量。上图显示了 EfficientRAG 如何集成到传统的 RAG 系统中,它的工作流程包括以下关键步骤和组成部分:

1. 检索阶段

  • 步骤:首先,给定一个查询,EfficientRAG 从知识库中检索到与查询相关的内容块(chunks)。

  • 目的:获取初步的相关信息,作为后续生成答案的基础。

2. 标签器和标注器(Labeler & Tagger)

  • 组成:EfficientRAG 的核心模块之一,标签器和标注器共享相同的模型结构,作为 token 级别的分类器。

  • 功能

    • 标签器:在检索到的内容块中标注一系列 token,表示可以部分或全部回答问题的有用信息。

    • 标注器:对每个检索到的内容块进行标记,指示该块是否有助于回答问题。如果标记为“继续”(<Continue>),表示需要更多信息;如果标记为“终止”(<Terminate>),表示该块提供了足够的答案。

3. 过滤器(Filter)

  • 功能:过滤器模块根据标签器标注的 token 和当前的查询,构建新的查询,指导下一轮的检索。

  • 步骤

    • 过滤器将原始问题与之前标注的有用 token 结合起来,生成新的查询。

    • 新的查询替换了原始查询中未知的部分,目标是检索到更多有用信息。

4. 多轮检索迭代

  • 步骤:EfficientRAG 通过多轮次的检索不断改进查询。每一轮检索后,标签器对内容块标注有用信息,过滤器生成新的查询。该过程一直持续到所有内容块都被标记为“终止”(<Terminate>),或达到预设的最大检索轮次数。

  • 目的:获取更全面的答案,特别是用于回答复杂的多跳问题(multi-hop questions),需要跨越多个信息点来最终得出答案。

5. 终止条件与答案生成

  • 步骤:当 EfficienRAG 认为已经获取了足够的信息来回答问题时,它将停止检索。

  • 功能:所有检索到的信息会传递给基于 LLM(大语言模型)的生成器,生成最终的回答。

综合数据构建

利用大语言模型(LLM)合成用于标注器和过滤器的训练数据。该过程包括以下几个步骤:
  1. 多跳问题分解:首先,给定一个多跳问题和相关片段,提示LLM将原始问题分解为多个单跳问题,每个单跳问题对应一个片段,并解析子问题的依赖关系。
  2. 令牌标记:对于每个子问题和相应片段,提示LLM标记与子问题回答相关的重要词语,使用二进制标签注释片段中的每个词,以确定其重要性。采用SpaCy工具包进行标记。
  3. 下一步问题过滤:给定单跳问题及其依赖问题的标记令牌,提示LLM生成下一步问题,提取下一步问题的令牌,过程与令牌标记相同。
  4. 负采样:对于每个过滤后的下一步问题,检索最相似但不相关的片段作为困难负片段,这些负片段将被标记。

训练

训练EfficientRAG Labeler以完成两个任务:令牌标记和片段过滤,这两者都使用相同的输入。具体过程如下:
  1. 编码与嵌入:使用自编码语言模型作为编码器,以推导连接序列query, chunk中每个令牌的嵌入。
  2. 令牌投影:使用一个全连接层将令牌嵌入投影到二维空间,指示“有用令牌”和“无用令牌”。
  3. 片段标签投影:另一个全连接层将序列嵌入的平均池化投影到二维空间,表示片段标签<Continue>和<Terminate>。
  4. EfficientRAG过滤器:以类似方式训练EfficientRAG过滤器,其输入序列是查询和标记令牌的连接。过滤器提取单词并将它们连接以形成下一步查询。

总结

EfficientRAG 通过标签器、过滤器和多轮检索迭代的设计,解决了传统检索生成方法在处理复杂问题时的效率和准确性问题。它既能减少不必要的信息冗余,又能有效获取关键信息,提升最终答案的质量。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询