【论文阅读】BlendFilter: Advancing Retrieval-Augmented Large Language Models via Query Generation

1 研究背景

这篇论文的研究背景主要聚焦于检索增强生成(RAG)系统中的两个关键问题:

  1. comlex queries在处理复杂任务输入时,传统的检索方法往往难以捕捉到所有相关信息,从而导致不完整的检索结果。这是因为复杂查询可能缺少一些关键词,限制了检索文档的质量。

  2. noisy retrieved knowledge challenges检索到的知识常常包含无关或误导性信息,这会降低大语言模型(LLM)的生成性能,导致不准确的输出。

为了解决这些问题,作者提出了一个新框架BlendFilter,通过结合内部和外部知识的查询生成增强技术,改善复杂查询的检索质量,并通过一个新的知识过滤模块来剔除不相关的知识,从而提升模型性能。 

相比于其他query改写或者query增强的工作,有以下的不同点:

 

2 研究贡献

  • query generation blending approach:与以往依赖单一知识源的增强方法不同,本文通过结合外部知识和语言模型内部知识,提升了复杂查询的覆盖面,使得模型能够获取更全面的相关信息。

  • knowledge filtering module:作者提出了一种新的知识过滤机制,利用大语言模型本身的能力来自动过滤掉检索到的无关知识,从而减少噪声数据对生成结果的负面影响。这是首次在检索增强生成任务中将LLM用作知识过滤器。

  • open-domain question answering evaluation:本文在三个开放领域问答数据集上进行了实验,结果表明,提出的BlendFilter方法在不同模型骨干上都显著优于现有的最先进基线模型​

3 研究方法

3.1 Query Generation Blending

  • External Knowledge Augmentation

类似two-top推理的方式,也可以扩展到多跳,但是要平衡效率和准确度

        step1: 基于原始q检索外部知识

        step2:  基于qK_{ex}组成COT prompt,大模型回答得到a_{ex}, 基于外部知识生成的答案

        step 3: 组合原始q和生成的a_{ex}

  •  Internal Knowledge Augmentation

        step1: 大模型基于原始q和自身知识生成回答,同样组合qa_{in}

       

3.2 Knowledge Filtering

        step1: 分别使用三类query做检索,得到对应的检索结果

         step2: 应用LLM自身的知识过滤能力,分别对3种知识源进行过滤

 

        step3:  将过滤结果取并集

也可以先组合再进行过滤,这样做的优势是只用调用一次LLM,但是作者提到对较大的知识集合坐过滤难度会增大。先过滤在组合,涉及多次调用LLM,但是过滤效果更好,

3.3 Answer Generation 

 整个流程如下表:

4 实验

4.1 研究问题

  • RQ1 How does BlendFilter perform compared to state-of-the-art retrieval-augmented baselines? - 相较于先进基线提升
  • RQ2 Can the proposed BlendFilter generalize well with respect to different backbones and retrievers? - 泛化性:替换LLM和retrievers
  • RQ3 Is the LLM effective to filter unrelated knowledge documents? - LLM作为filter是否有效?
  • RQ4 What are the roles of the original query, external knowledge-augmented query, and internal knowledge-augmented query in model performance improvements respectively? - 消融实验,探索原始query、外部知识增加query、内部知识增强query分别有多少提升
  • RQ5 How does the performance change with varying numbers of knowledge documents? - 对检索超参数K的研究
  • RQ6 Will the proposed BlendFilter be improved by sampling multiple times with different temperatures? - 对生成参数temperature的研究

4.2 实验配置

4.2.1 数据集

开源问答数据集

  • 多跳问答:HotPotQA、2WikiMultiHopQA
  • 常识推理:StrategyQA

4.2.2 评估指标

问答指标:

  • 多跳问答:exact match(EM), F1
  • 常识推理:Accuracy

检索指标:Recall、Precision 

对无关信息的过滤能力:S-Precision,问题数(该query检索到的文档是标准答案)占比

 4.2.3 Baseline选择

  • Direct Prompting:模型根据输入的查询直接生成答案,不包含解释或推理步骤。 w/wo retrieval。
  • CoT Prompting: 要求模型生成伴随推理步骤的答案。w/wo retrieval。
  • ReAct: 结合推理、行动和观察的步骤来生成答案。
  • selfAsk: 通过生成后续问题、检索并回答这些后续问题来逐步解决原始问题。该方法与ReAct类似,区别在于它如何定位检索的知识。
  • ITER-RETGEN: 一种最先进的检索增强生成方法,它迭代地使用外部知识库增强问题,并采用知识蒸馏来提高检索性能

4.3 实验结果

4.3.1 对比不同backbone,baseline

对于不同的backbone,对比各个基线,有无检索的情况下,均有提升。另外,加上检索模块反而在strategyQA常识问题上有所下降,说明检索有可能带来了干扰信息。

 

 

4.3.2 对比BM25和ColBERT v2

ColBERT v2 表现比BM25更好

4.3.3 knowledge filter带来提升

三个指标上,无论colBERT v2还是BM25检索方法,使用knowledge filter都能带来提升

 4.3.4 不同类型的query效果对比

三种query共同作用效果最好,去除q_{ex}看起来影响比较大,但原文强调去掉q_{in}对BM25的影响更大,有点疑惑。

Additionally, we can find the internal knowledge-augmented query plays a more important role when BM25 is employed.

4.3.5 检索文档数量K的影响

随着K增大,模型表现先增后减,表明增加检索文档数量可以在一定程度上提高模型的表现,但过多的文档可能会引入更多的噪声信息,从而影响生成结果的准确性。与ITER-RETGEN相比,BlendFilter在增加K值时表现出更显著的性能提升。这是因为BlendFilter引入了知识过滤机制,能够有效去除无关文档,因此即使在检索到更多文档的情况下,噪声对模型的影响也较小。

4.3.6  temperature和sampling对问答的影响

在0,0.5,1下采样3个回答,无论是只采样一次答案还是多次采样答案,BlendFilter始终优于基线方法,BlendFilter在多次采样下的性能方差较小,这表明它在生成答案时更加稳定和鲁棒。

 

4.4 case study 

论文展示了一个具体的例子来说明BlendFilter方法如何工作。该案例来自HotPotQA数据集,问题是:

问题“superMansion中的女演员在Workaholics中反复扮演了哪个角色?”

通过这个案例,作者展示了不同查询方法在检索相关知识文档时的表现:

  1. 原始查询:检索到了与SuperMansion相关的文档,但没有找到完全正确的答案。

  2. 外部知识增强查询:引入了有关SuperMansion的更多知识,部分知识是相关的,但仍然不够全面。

  3. 内部知识增强查询:通过语言模型内部存储的知识,补充了更多相关信息,最终检索到了正确的文档。

结果:通过结合原始查询、外部知识增强查询和内部知识增强查询,BlendFilter能够找到两个正确的相关文档,即SuperMansionJillian Bell(在Workaholics中扮演角色“Jillian Belk”)。经过知识过滤后,BlendFilter有效地去除了不相关的文档,并生成了正确答案:Jillian Belk

5 结论 

  1. 通过结合查询生成融合(query generation blending)和知识过滤(knowledge filtering)机制,有效提高了检索增强生成任务中的表现。该方法通过处理复杂输入和减少检索噪声,大大改善了语言模型的生成质量。
  2. 通过内部和外部知识的结合,增强了输入查询的全面性,确保检索的知识覆盖更多的相关信息。知识过滤模块则利用了大语言模型自身的能力,能够自动去除无关的检索内容,从而提高生成的准确性。
  3. 通过在多个基准数据集上的实验,证明了BlendFilter在不同语言模型(如GPT3.5-turbo-Instruct、Vicuna 1.5-13b和Qwen-7b)和不同检索器(如ColBERT v2和BM25)中的性能显著优于当前最先进的基线模型。
  4. BlendFilter不仅在不同类型的语言模型上表现良好,还可以广泛应用于不同的任务和领域。这表明BlendFilter具备较强的通用性和扩展性,能够适应多种知识密集型场景。

附录

补充知识:

ReAct ReAct: Synergizing Reasoning and Acting in Language Models

ReAct 的核心思想是让模型生成推理过程(即“思考”)与任务相关的具体行动交替进行。这种方法允许模型通过推理来跟踪、更新和调整行动计划,同时让模型与外部系统(如 API 或环境)进行交互,以获取更多信息并相应地采取行动。

通过将推理和行动结合起来,ReAct 解决了仅依赖推理(如幻觉问题)或仅依赖行动(如由于缺少推理步骤导致的行动错误)带来的局限性。例如,在问答任务中,ReAct 允许模型先生成推理步骤,然后再采取行动,如查询外部资源(例如 Wikipedia),以找到支持其答案的事实信息。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值