【AI论文精读4】RAG论文综述2(微软亚研院 2409)P6(完)-隐含推理查询L4

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】


P1P2P3P4P5

六、隐藏推理查询(L4)

ps:P2有四种查询(L1,L2,L3,L4)的举例对比

6.1 概述

隐含推理查询(Hidden rationale queries)是所有查询中最具挑战性的一类问题。与可解释推理查询(interpretable rationale queries)不同,后者提供了明确的推理指导来响应查询,而隐含推理查询涉及的是特定领域的推理方法,这些方法通常没有明确说明,且数量众多,难以在典型的上下文窗口内穷尽。这类推理通常包含大量难以在单一上下文中全面探讨的隐性知识,并且往往缺乏清晰的指引,代表了一种隐含在数据中的领域专长。这样的数据可能包括但不限于:

  • 领域内数据(In-domain Data):隐含推理查询可能利用来自同一领域的数据,如历史问答记录或人工生成的数据。这类领域内数据本身包含了解决当前查询所需的推理技能或方法。例如,在Python编程难题的背景下,解决历史问题的方案通常包含经典算法和问题解决策略,这些方案可以帮助解决当前问题。
  • 初步知识(Preliminary Knowledge):另一种形式的隐含推理是广泛分布的知识库,这些知识库在不同场景中的应用各有不同。这种初步知识可能构成一个完整的公理系统,比如所有的本地法律法规,它们是法律判决的基础。它也可能包括简化推理过程的已证明的中间结论,如数学证明中的推论。在使用外部数据解决现实问题时,这种先验知识还可能源于人类经验和经验总结的复杂积累。

因此,处理隐含推理查询需要复杂的分析技术,以解码并利用分散的数据源中隐含的智慧。这为RAG系统在有效解释和应用这些复杂且隐含的信息带来了巨大的挑战。

示例:
  1. 经济状况将如何影响公司的未来发展?(给定一系列财务报告,需要经济和财务推理)。
  2. 如何用数字5、5、5和1凑出24点?(给定一系列24点游戏示例及对应答案)。
  3. 阿富汗是否允许父母将其国籍授予在国外出生的子女?(给定GLOBALCIT国籍法律数据集【136】)。

6.2 挑战与解决方案

在构建数据增强的LLM应用时,隐含推理查询(Hidden rationale queries)面临着诸多挑战,主要困难表现在以下几个方面:

1. 逻辑检索(Logical retrieval):

对于涉及隐含推理的问题,外部数据的有用性不仅依赖于实体级别的或语义上的相似性,更关键的是逻辑上的一致性或主题的对齐。传统的检索方法通常难以捕捉到查询的真正目标,或者无法识别在逻辑上相关的文本段落。因此,需要开发更复杂的检索算法,这些算法不仅能解析和识别潜在的逻辑结构,还能突破单纯依赖文本表面相似性的局限。

  • 例如,传统的语义检索可能会返回包含相同关键词的片段,但未必能找到逻辑相关的内容。假如一个查询涉及法律案例分析,系统不仅需要检索包含相同法律条款的文档,还需要找到逻辑上类似的判例或相关的法律解释。

2. 数据不足(Data insufficiency):

从根本上说,外部数据可能并不直接包含解决当前查询的所有必要信息。相关信息通常散布在不同的知识领域中,或者通过示例间接体现。这种间接呈现要求LLM具备强大的数据解释和综合能力,能够从分散的或间接相关的数据源中推导出连贯的答案。这表明LLM不仅需要具备基础的检索能力,还必须能够在不同数据片段之间建立关联,提供合理的推理。

  • 例如,在预测公司未来发展的经济分析场景中,可能无法通过单一的财务报告直接回答问题,而需要LLM结合多个报告中的经济趋势、市场动态和行业信息,进行合理的综合推断。

这些挑战表明,处理隐含推理查询需要LLM具备更复杂的数据整合和推理能力。这不仅包括基础的信息检索,还涉及更高级的逻辑推理和数据解释能力,以便有效应对复杂问题中的隐含逻辑和知识结构。


6.3 离线学习(Offline Learning)

为了解决隐含推理查询(Hidden rationale queries),一种常见的方法是通过离线方式从数据集中识别和提取规则和指导方针,然后检索相关项目。在推理生成方面,一些研究,如 STaR【137】和 LXS【138】,使用了LLM进行推理生成。STaR采用一种迭代的小样本到大样本的方法,逐步扩展数据集进行生成,而LXS引入了双角色的解释提取过程,其中一个学习者模型生成解释,另一个评论者模型对其进行验证和评估。

GL【139】通过上下文学习(in-context learning)识别错误,并将这些错误概括为未来任务的指导方针。LEAP【140】通过生成错误、低层次的原则和高层次的原则,将这些原则整合到提示中以进行最终推理。RICP【141】使用训练数据中的错误生成高级推理和具体的见解,然后利用层次聚类对错误模式进行分组,生成任务级和问题级的原则,并将其组合并检索以获得问题级别的洞见。Buffer-of-Thought【142】使用一个问题提炼器在许多推理任务中提炼出一个元缓冲区。

一些集成方法,例如 MedPrompt【143】,结合了GPT-4生成的链式思维进行训练示例,并通过自验证与KNN检索上下文学习相结合。Agent Hospital【144】通过反思生成推理,并在生成的数据上利用记录检索和经验检索。

尽管这些概念有许多不同的名称——如指导方针、原则、经验和思维模板——其核心思想是提取通用且有用的推理,以增强推理查询。这些推理可能来自自生成的链式思维(如MedPrompt和Buffer-of-Thought),来自训练集中的错误(如GL、RICP、Agent Hospital),或故意生成的错误(如LEAP)。此外,一些原则适用于所有任务(如Agent Hospital、RICP),而另一些则是为特定问题动态检索的(如MedPrompt、Buffer-of-Thought)。这些研究表明,从案例中学习,积累经验作为推理依据,有助于在各种推理任务中提高表现。


6.4 上下文学习(In Context Learning,ICL)

使用示例进行上下文学习(In Context Learning, ICL) 是发现隐含推理(hidden rationales)的常用方法。经过预训练的大型语言模型(LLM)展现出强大的上下文学习能力,通过基于相似性的示例检索可以增强这些模型的少样本学习(few-shot learning) 能力【145, 146】。然而,提示中包含不相关的信息可能会分散LLM的注意力,导致错误的回答【147, 148】。OpenICL 是由 Wu 等人开发的框架,该框架探讨了不同的传统检索示例和推理方法对ICL效果的影响【149】。

此外,基于LLM对上下文示例反馈,训练较小模型,可以更有针对性地选择最佳示例,改进特定任务上下文的构建【150, 5, 151】。为了应对基于语义相似性的示例检索可能无法涵盖实际测试中所需的广泛关联这一问题,Su等人提出了一种无监督、基于图的选择注释方法,称为vote-k,该方法构建了一个更具多样性和代表性的少样本学习示例数据库【152】。Zhang等人提出了Auto-CoT方法,将示例聚类为各种代表性类型,通过多样化地采样问题并生成推理链,构建更好支持学习过程的示例【153】。

然而,想要通过少样本学习让LLM掌握其训练领域之外的推理能力仍是一个重大挑战。 Wang等人通过采样多种推理路径,并对这些路径进行边缘化处理,选择最一致的答案,增强了LLM选择正确推理链的概率【154】。Agarwal等人引入了两种可扩展的生成可用示例的方法,即强化ICL无监督ICL,旨在替代人类生成的示例,从而扩展了可用示例库【155】。DIN-SQL【156】试图将任务分解为更简单的子任务,并将这些子问题的解决方案作为提示提供给LLM,显著提升了LLM将文本生成SQL的性能。同样,DUP【157】确定了LLM在使用链式思维(chain of thought)解决复杂数学问题时面临的三个主要问题:语义误解、计算错误和步骤缺失,其中语义误解是限制因素之一。鼓励LLM深入理解问题并提取解决问题的核心信息可以显著增强其解决数学问题的能力。

上下文学习正越来越多地应用于数学、法律、医学和金融等领域【158, 159, 160】,在数据增强型LLM应用程序的发展中发挥着至关重要的作用。这种方法不仅扩展了LLM的功能,还增强了它们在各个领域的实际应用价值。


6.5 微调

尽管大型语言模型(LLMs)在上下文学习能力上非常强大,但在面对复杂、冗长的逻辑链时,准确识别推理过程或找到最佳示例依然是一个巨大的挑战。此外,为LLMs提供大量的外部先验知识也可能对其推理能力带来困难。在这种背景下,微调(fine-tuning) 成为一种有效的方法。微调不仅能利用LLMs在预训练期间获得的广泛基础知识,还能帮助它们快速掌握新的领域推理。通过这种方法,LLMs能够更好地适应和处理高级且专门化的任务。

1. 指令微调

指令微调(Instruction tuning) 是一种常见的为LLMs注入新能力的方法,通常通过配对的(指令、输出)数据进行有监督的微调。构建指令数据集的方法主要有三种:

  1. 从现有数据集中获取 【161, 162】,
  2. 手工创建,通过手工编写的指令生成 【163, 164, 165】,
  3. 使用强大的LLMs生成合成数据 【166, 154】。

此外,许多研究【167, 168, 169】还探索了如何优化指令数据集中的数据分布,以提高微调的效果。然而,在构建数据增强的LLM应用时,微调依然是一个相对昂贵的操作,涉及大量时间和计算资源。

2. 降低微调成本

为了降低微调大型模型的成本,近年来出现了一些新的尝试。例如:

  • Adapter Tuning(适配器微调):在LLMs中集成小型适配器模型,在微调期间冻结LLM的参数,仅优化适配器的权重 【170, 171, 172, 173】。
  • Prefix TuningPrompt Tuning:在输入前添加一组可训练向量,并在训练过程中优化这些向量,以提高LLM的性能 【174, 175, 176, 177, 178】。
  • Low-Rank Adaptation(低秩适应):通过对每个密集层施加低秩约束,近似更新矩阵,从而减少适应下游任务所需的可训练参数 【179, 180, 181, 182, 183】。

3. 专门领域的微调应用

近年来,许多研究通过有监督的微调来提升LLMs在特定领域的能力,包括数学推理、金融、法律和医疗等。例如:

  • ChatTimeLlama 【187】 引入了一个可解释的时间推理指令微调数据集,并在LLaMA 【188】上进行微调,显著提升了模型在复杂时间推理、未来事件预测以及可解释性方面的能力。
  • LISA 【189】 通过一小部分包含推理的段落数据样本微调多模态LLM LLaVA,显著提升了推理分割的能力。
  • MAmmoTH 【190】 精心构建了一个结合了“思维链(Chain of Thought)”和“程序思维(Program of Thought)”的数学示例数据集,覆盖了不同的数学领域,从而提升了LLM解决数学问题的能力。
  • ReFT 【191】 提出了一个从多个标注推理路径中学习的方法,它为给定的数学问题自动生成多条推理轨迹,并利用正确答案生成奖励信号。
  • ChatDoctor 【192】 利用一个包含10万个患者与医生对话的庞大数据集(来自广泛使用的在线医疗咨询平台)对LLaMA进行微调,显著增强了模型理解患者需求并提供有效建议的能力。
  • FinGPT 【193】 开发了一个基于金融数据微调的开源LLM,通过自动数据整理和轻量化的低秩适应技术来实现。
  • DISC-LawLLM 【194】 为中国司法领域创建了一个有监督的微调数据集,微调LLMs以便在不同法律场景下更有效地为用户提供服务,并增强其法律推理能力。

通过这些微调方法,LLMs不仅能够在通用任务中表现出色,还能够在复杂、专门的领域中展现出更强的适应性和推理能力。


七、结论

在本文中,我们将数据增强的LLM(Large Language Model)应用根据查询的主要焦点划分为四个不同的类别,每个类别面临独特的挑战,因此需要量身定制的解决方案,如图5所示。
在这里插入图片描述

  • 静态常识性查询:对于涉及静态常识性问题的查询,通过思维链(Chain of Thought, CoT) 的方法部署通用LLM是有效的。
  • 明确事实查询:对于明确的事实性问题,主要的挑战是精确定位数据库中的事实位置,因此基础的RAG(Retrieval-Augmented Generation) 方法成为首选。
  • 隐含事实查询:当查询涉及需要汇总多个相关事实的隐含事实时,迭代RAG以及基于图或树结构的RAG实现是理想选择,因为这些方法能够同时检索单个事实并连接多个数据点。
  • 大量数据链接查询:当需要大量数据关联时,文本到SQL(Text-to-SQL) 技术是不可或缺的,它利用数据库工具来促进外部数据的搜索。
  • 可解释推理查询提示调优(Prompt Tuning)CoT提示的进展,对于提高LLMs对外部指令的遵从性至关重要。
  • 隐藏推理查询:最具挑战性的是隐藏推理查询,它要求从大量数据集中自主学习综合解决问题的方法。在此情况下,离线学习(offline learning)上下文学习(In-Context Learning, ICL)微调(fine-tuning) 成为关键方法。

在开发针对性的LLM应用程序之前,作为领域专家,我们必须深入理解预期的任务,确定相关查询的复杂程度,并选择相应的技术方法来解决问题。这些方法主要通过三种机制将知识注入LLMs,如图6所示:

  1. 根据查询从领域数据中提取部分内容作为LLM的上下文输入
  2. 使用特定领域数据训练一个较小的模型,然后引导该模型整合外部信息并输入LLM;
  3. 直接使用外部领域知识对通用大型语言模型进行微调,使其成为领域专家模型。

这些策略在数据量、训练时间和计算资源需求上各不相同,依次递增

  1. 上下文:通过上下文进行的知识注入具有更好的可解释性和稳定性,但由于上下文窗口的有限性和信息可能在中途丢失,存在局限性 【40】。这种方法适用于可以简洁地解释在较短文本中的场景。然而,它对模型的检索能力和知识提取能力提出了挑战。

  2. 小模型:小模型方法的优点在于减少训练时间能够吸收大量数据,但其效果依赖于模型本身的能力,这可能会限制LLM在处理更复杂任务时的性能。此外,随着数据量的增加,这种方法的训练成本也会上升。

  3. 微调 :微调则能够利用大型模型的容量并结合大量特定领域数据,但其效果强烈依赖于所使用数据的设计。如果使用域外事实数据进行微调,可能会导致LLM生成更多的错误输出,同时也有可能导致之前已知的领域知识丢失,并且在微调过程中忽略未曾遇到的任务 【110, 195】。

因此,选择适当的数据注入策略需要对数据源有深入的了解,并基于此做出明智的决策。

此外,在实际应用中,数据增强的LLM应用通常涉及多种类型的查询,要求开发者设计一个集成多种方法的路由管道,以有效应对这些复杂的挑战。


完结撒花🎉😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值