今天分享的是解决检索增强生成系统中预检索信息差距的一个方法:ERRR。

论文链接: https://arxiv.org/pdf/2411.07820v1
随着大型语言模型(LLM)在自然语言处理领域的广泛应用,检索增强生成(RAG)技术被提出,以解决LLM知识局限性导致的“幻觉”问题。RAG系统通过检索外部知识库来增强LLM的知识,从而生成更准确、更相关的答案。然而,现有的RAG系统存在一个关键问题:预检索信息差距。原始用户查询检索到的信息与生成准确答案所需信息之间存在差距,导致LLM无法生成准确的答案。现有的RAG系统主要采用查询重写方法来缩小预检索信息差距,例如Rewrite-Retrieve-Read(RRR)框架。RRR框架通过训练一个查询重写模块,将原始用户查询重写为更准确的查询,从而检索到更相关的文档。然而,RRR框架主要关注查询重写,而忽略了LLM的特定知识需求,导致查询重写的效果有限。为了解决预检索信息差距问题,文章提出了Extract-Refine-Retrieve-Read(ERRR)框架。与RAG中使用的传统查询优化技术不同,ERRR框架首先从LLM中提取参数化知识,然后使用专门的查询优化器对这些查询进行精炼。这个过程确保了仅检索生成准确响应所需的最相关信息。在多个问答数据集和检索系统上的实验结果表明,ERRR框架在准确性和效率方面都优于现有的RAG系统,包括RRR框架。ERRR 的整体框架如上图 (iii) 所示,其主要由参数知识提取 (Parametric Knowledge Extraction)、查询优化 (Query Optimization)、检索 (Retrieval) 和生成 (Generation) 这四部分组成。下面详细介绍每一组成部分。
1. 参数知识提取 (Parametric Knowledge Extraction):
2. 查询优化 (Query Optimization):
- 目标:根据参数知识和LLM的特定知识需求,生成一个或多个经过优化的查询,其能更准确地反映LLM的知识需求和用户的查询意图,以便检索到更相关的文档。
- 方法:使用LLM作为查询优化器,并通过提示生成优化查询。此外,为了提高灵活性和降低计算成本,文章还提出了一个可训练的方案,该方案使用一个较小的可调整模型作为查询优化器,并通过知识蒸馏从大型教师模型中进行精炼。
3. 检索 (Retrieval):
- 目标:根据优化查询检索相关文档,作为LLM生成答案的依据。
- 方法:为了提高框架在各种检索系统和数据源之间的适应性,该框架提供了两种不同的检索系统。
4. 生成 (Generation):
Extract-Refine-Retrieve-Read (ERRR)框架是一种旨在提升RAG性能的架构。ERRR框架通过参数知识提取和查询优化技术,有效地解决了预检索信息差距问题,显著提高了RAG系统的准确性和效率。ERRR框架为RAG技术的发展和应用提供了新的思路和方法。