微软:RAG并不是你唯一的解决方案!

发布于 2024-9-25 12:56
浏览
0收藏

将外部数据整合到LLMs中的技术,如检索增强生成(RAG)和微调,得到广泛应用,但在不同专业领域有效部署数据增强LLMs面临着重大挑战:

  • 检索相关数据准确解释用户意图充分利用LLMs的推理能力来处理复杂任务
  • 对于数据增强LLM应用来说,没有一种放之四海而皆准的解决方案。
  • 应用落地性能不佳往往是由于未能正确识别任务的核心焦点,或者任务本身就需要多种能力结合,必须被分离出来以获得更好解决方案。

数据增强LLM应用中不同查询层次的主要技术总结​

微软:RAG并不是你唯一的解决方案!-AI.x社区

微软亚洲研究院(MSRA)提出了一种RAG任务分类方法,根据所需的外部数据类型和任务的主要焦点将用户查询分为四个层次

  1. 显式事实查询(Level-1):直接从数据中检索明确的事实。
  2. 隐式事实查询(Level-2):需要推理或整合数据中的隐含信息。
  3. 可解释推理查询(Level-3):需要理解并应用领域特定的理由和逻辑。
  4. 隐式推理查询(Level-4):需要从数据中推断出隐含的推理逻辑。​

四个层次查询的主要焦点​

微软:RAG并不是你唯一的解决方案!-AI.x社区

同时,也将外部数据整合到LLMs中的形式归为三种:上下文、小型模型和微调,强调了它们各自的优势、局限性以及它们适合解决的问题类型。

将特定领域数据注入到大型语言模型(LLM)的三种方式:a) 根据查询提取部分领域数据作为LLM的上下文输入,b) 用特定领域数据训练一个较小的模型,然后指导后续输入到LLM的外部信息的整合,以及 c) 直接使用外部领域知识对通用的大型语言模型进行微调,使其成为领域专家模型。

微软:RAG并不是你唯一的解决方案!-AI.x社区

L1:显式事实查询

定义:

  • 显式事实查询(L1)是最简单的数据增强查询类型,可以直接通过访问特定领域的文档或文档片段来回答。
  • 答案通常在文档的纯文本中,需要最小的推理或简单的逻辑。

提供事实信息的常见数据集分层

微软:RAG并不是你唯一的解决方案!-AI.x社区


挑战:

  1. 数据处理困难:外部数据通常是高度非结构化的,包含多种模式(如表格、图像、视频等),处理这些数据时保持原始上下文和意义是一个挑战。
  2. 数据检索困难:从大型非结构化数据集中检索相关数据段计算密集且容易出错。
  3. 评估困难:评估RAG系统的性能,尤其是在组件级别,需要开发能够准确评估数据检索和响应生成质量的稳健指标。

解决方案:

  1. 数据预处理增强:包括文档解析和多模态文档解析,将非文本内容转换为文本形式或使用多模态嵌入技术。
  2. 数据检索增强:使用信息检索(IR)技术,包括建立数据索引、处理查询、检索和匹配、重新排序和评估。
  3. 检索增强生成(RAG):结合了LLMs的生成能力和从大量数据库或文档中检索信息的能力。

三种查询-文档对齐类型

微软:RAG并不是你唯一的解决方案!-AI.x社区

关键点:

  • 显式事实查询依赖于直接从特定数据段中检索答案,不需要复杂的推理。
  • RAG是处理这类查询的常用技术解决方案,它通过动态检索外部信息来增强语言模型的自然语言生成能力。
  • 尽管RAG非常有效,但在构建一个健壮和高质量的系统时仍面临重大挑战。​

L2:隐式事实查询

定义:

  • 隐式事实查询涉及的数据依赖性并不直接明显,可能需要一些常识推理或基本逻辑推理。
  • 所需信息可能分散在多个文档中,或者需要从数据集中收集和处理多个事实简单的推理,然后通过常识推理将这些事实结合起来得出答案。

挑战:

  1. 自适应检索量:不同的问题可能需要不同数量的检索上下文,固定数量的检索可能造成信息噪声过多或信息不足。
  2. 推理与检索的协调:推理可以指导需要检索的内容,而检索到的信息可以迭代地细化推理策略。

解决方案:

  1. 迭代RAG:类似于多跳RAG任务的方法,动态控制多步骤RAG过程,直到获得正确答案。
  2. 基于规划的:在检索前阶段生成逐步检索计划,或者在检索过程中动态生成,以精细化每次检索的焦点。
  3. 信息差填补:基于现有知识和检索到的信息生成答案,然后继续检索和生成未知部分的答案。
  4. 图/树问题回答:使用图或树来自然地表达文本之间的关系结构,适合这种类型的数据检索问题。
  5. 自然语言到SQL查询:将自然语言查询转换为SQL查询,以便从结构化数据库中检索信息。

关键点:

  • 隐式事实查询要求从多个文档中收集信息,并且可能需要进行多步骤的推理。
  • 这类查询的解决方案通常涉及将复杂问题分解成一系列简单的问题,然后逐一解决。
  • 迭代RAG、图/树问题回答和NL2SQL是处理这类查询的有效方法。

L3:可解释推理查询

推理查询的示例

微软:RAG并不是你唯一的解决方案!-AI.x社区

定义:

  • Interpretable Rationale Queries:这类查询需要外部数据来提供解决问题的推理过程。辅助数据通常包括对决策过程的明确解释。
  • 数据形式:可以是纯文本,如指南或手册,也可以是结构化的指令,如工作流程或决策树。

挑战与解决方案

  • 主要挑战:

Prompt优化成本:优化提示(Prompt)的过程耗时且计算量大。

有限的可解释性:LLMs对提示的反应不透明,难以一致理解和验证LLMs对不同提示的反应。

  • 解决方案:
  • Prompt Tuning:通过调整提示来提高LLMs遵循外部指令的能力。
  • CoT Prompting:使用链式思考(Chain-of-Thoughts)或思维图(Graph-of-Thoughts)方法来处理复杂的推理问题。


L4:隐式推理查询

定义:

  • Hidden Rationale Queries:这类查询需要从外部数据中推断出隐含的推理方法。这些推理方法可能没有明确记录,需要从数据模式和结果中挖掘出来。
  • 数据类型:

领域内数据:可能包括历史问答记录或人工生成的数据。

预备知识:可能包括全面的公理系统或中间结论,如法律代码或数学证明。

挑战与解决方案

  • 主要挑战:

逻辑检索:需要更复杂的检索算法来识别与查询逻辑上相关的文本段。

数据不足:外部数据可能没有明确包含与当前查询相关的指导或答案。

  • 解决方案:
  • 离线学习:通过离线分析数据集来识别和提取规则和指导。
  • 上下文学习:利用示例进行上下文学习,利用LLMs的少量样本学习能力。

离线学习

  • 方法:

STaR 和 LXS:使用LLM生成推理理由。

GL、LEAP、RICP:通过错误识别和原则概括来改进任务。

上下文学习 (ICL)

  • 方法:

OpenICL:探索不同的传统方法对ICL效果的影响。

Auto-CoT:通过聚类示例来构建更好的支持学习过程的示例。

微调

  • 方法:

指令调整:使用监督微调来增强LLMs在特定领域的能力。

适配器调整、前缀调整、提示调整:通过优化输入前的可训练向量来提高LLMs的性能。​

最后:数据增强LLM应用中查询层次的总结

微软:RAG并不是你唯一的解决方案!-AI.x社区

本文转载自​​PaperAgent​


收藏
回复
举报
回复
相关推荐