AI 文摘

自适应检索增强生成(Adaptive-RAG):根据问题复杂性动态调整策略





作者: 子非AI 来源: 子非AI

大型语言模型作为人工智能的重要力量,在诸多自然语言处理任务上表现出色。然而,它们受制于内部参数化记忆,难以覆盖全部知识。检索增强大型语言模型(Retrieval Augmented LLMs)就是为了解决这一问题而提出的新方法,通过整合外部知识库弥补语言模型的知识盲区,从而提高答复的准确性和时效性。

不过,现有的检索增强方法还有些不足之处。单步检索增强适用于相对简单的查询,但面对复杂的多跳查询就力有未逮了。而多步迭代检索增强虽然可以应对复杂查询,但在处理简单查询时,多次访问语言模型和检索模块就产生了不必要的计算开销。

现实世界中,用户的查询复杂程度千差万别。一种"一刀切"的方法显然不太合理,我们需要一种自适应的框架,能够根据查询的复杂程度动态选择合适的检索增强策略。

** Adaptive-RAG框架**

针对上述需求,我们提出了一种新的自适应检索增强框架——Adaptive-RAG。该框架的核心思想是:根据查询属于简单、中等复杂度还是高度复杂,采取不同的应对策略。

  1. 简单查询

对于非常简单的查询,语言模型自身已经具备解答的能力,这时无需检索外部知识库,直接由语言模型生成答案即可,最大程度节省计算资源。

  1. 中等复杂度查询

这种情况下,语言模型的知识存在盲区,需要查阅外部知识库获取补充信息。我们采用单步检索增强策略,根据查询先检索获取相关文档,然后将文档与查询一并输入语言模型生成最终答复。

  1. 高度复杂查询

对于需要多步推理的复杂查询,单步检索显然已经不够,需要多次迭代检索和推理。我们采用多步迭代检索增强策略,语言模型和检索模块将反复交互,利用检索到的新文档逐步完善中间答复,直至生成最终结果。

总的来说,Adaptive-RAG能够灵活调整策略,在简单、中等和复杂三种查询情况下采取最适当的方式,做到"优柔寡击",权衡好效率和质量。

查询复杂度分类器

****

1) 训练数据的自动构建

训练复杂度分类器需要大量的查询-复杂度级别配对数据,但目前并没有这样的标注语料。因此,我们提出了一种自动构建训练数据的新颖方法。

首先,我们利用三种检索增强策略(不检索、单步检索增强、多步迭代检索增强)在现有数据集上的预测结果,反向标注部分查询的复杂度级别。例如,如果不检索策略生成了正确答案,则将该查询标注为最简单级别。

对于剩余未标注的查询,我们借助于构建数据集时的固有偏差。一般来说,单跳问答数据集查询的复杂度较低,多跳推理数据集查询复杂度较高。基于这一点,我们将单跳数据集的查询初步标注为中等复杂度,多跳数据集的查询初步标注为高度复杂。

2) 小型语言模型分类器的训练

在获得自动标注的训练数据后,我们使用它训练一个小型语言模型,作为查询复杂度分类器。在推理时,输入查询经过该分类器后,我们就可以得到其复杂度级别,进而根据Adaptive-RAG框架选择对应的检索增强策略。

实验评估

  1. 数据集和评估指标

我们在包括单跳(SQuAD、Natural Questions、TriviaQA)和多跳(MusiQue、HotpotQA、2WikiMultiHopQA)的6个开放域问答数据集上评估了Adaptive-RAG的性能,并采用EM、F1和准确率等指标进行测评。

  1. 基线对比

我们的基线有:不检索方法、单步检索增强方法、多步迭代检索增强方法,以及其他自适应检索方法如Adaptive Retrieval和Self-RAG。

  1. 结果分析

实验结果表明,我们提出的Adaptive-RAG框架显著提升了开放域问答系统的整体精度和效率。

精度方面,Adaptive-RAG在所有数据集上的EM、F1和准确率等指标均超过了大多数基线方法,尤其在复杂的多跳问答场景下,精确匹配指标EM相比多步迭代检索增强方法有10%以上的提升。这得益于Adaptive-RAG能够根据查询复杂度选择最优策略,避免了多步方法在简单查询时的低效率,也避免了单步或不检索方法在复杂查询时的精度下降。

效率方面,Adaptive-RAG比多步检索增强方法节省了50%以上的推理时间,接近于单步检索增强,但精度却有显著提高。这凸显了Adaptive-RAG在查询复杂度判断和策略选择的优越性。

我们还在多种大型语言模型上验证了Adaptive-RAG,如FLAN-T5、GPT-3.5等,实验结果证明该框架具有良好的通用适用性,可以广泛应用于各种语言模型,全面提升其检索增强能力。

创新点

  1. 自适应于现实查询复杂度不一的场景

与现有"一刀切"的单步或多步检索增强方法不同,Adaptive-RAG能够根据查询复杂度动态调整策略,真正贴合实际应用需求,平衡计算效率与答复质量。

  1. 无需人工标注即可训练复杂度分类器

我们提出的基于模型预测结果和数据集偏差的自动标注方法,可以避免人工标注的巨大成本,为训练复杂度分类器提供了一种全新的高效路径。

总结和展望

综上所述,我们提出的Adaptive-RAG框架旨在解决现有单步和多步检索增强策略的不足,通过根据查询复杂度动态选择最合适的策略,实现了开放域问答系统的整体精度和效率的提升。该框架创新之处在于真正贴合现实查询复杂度不一的场景,避免"一刀切"。

同时,我们设计的自动标注方法,为训练复杂度分类器提供了一条新路径,降低了人力成本。

未来,我们计划在更多领域和场景下应用和延伸Adaptive-RAG框架,探索其在多模态、对话等领域的潜力。此外,我们也将继续优化复杂度分类器的性能,使其能更精准地判断查询复杂度,为策略选择提供更可靠的依据。

总之,伴随着大模型时代的到来,如何高效利用大语言模型和外部知识成为了关键问题。我们相信,Adaptive-RAG这种自适应检索增强的方法,必将为大模型的实际应用提供有力支撑,成为解决多样化需求的新武器。

论文:https://arxiv.org/abs/2403.14403

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具