从GraphRAG到PIKE-RAG,微软发布复杂企业场景下的私域知识提取与推理新突破

摘要

尽管检索增强生成(RAG)系统通过外部检索扩展了大语言模型(LLM)的能力,并取得了一定进展,但这些系统在应对复杂多变的工业应用需求时仍显不足。特别是在提取深度领域知识和进行逻辑推理方面,仅依赖检索的方式存在明显短板。为此,微软推出了PIKE-RAG(sPecIalized KnowledgE and Rationale Augmentation Generation),旨在通过提取、理解和应用专业知识,构建连贯的推理链条,逐步引导LLM生成更精准的响应。github对应的地址如下: https://github.com/microsoft/PIKE-RAG

背景

当前的RAG方法主要依赖文本检索和LLM的理解能力,缺乏对多样化数据源的深度利用。在工业应用中,尤其是涉及专业知识和复杂逻辑的场景中,现有的RAG方法表现出明显的局限性。以下是RAG在工业应用中面临的主要挑战:

  1. 知识来源多样性:RAG系统依赖于多领域、多格式的文档语料库,包括扫描图像、数字文本和网络数据等,处理这些多样化数据源的能力有限。

  2. 领域专业化不足:工业应用需要RAG系统具备特定领域的专业知识和逻辑推理能力,但现有的RAG方法在提取和理解领域特定知识方面表现不佳。例如,在半导体设计领域,LLM难以准确捕捉关键的物理原理。

  3. 一刀切的问题:不同应用场景对RAG系统的能力要求各异,现有方法往往采用通用策略,无法满足特定场景的复杂需求。例如,在基于规则的查询和多跳查询场景中,RAG系统需要不同的能力来应对不同的挑战。

架构

PIKE-RAG框架主要由几个基本模块组成,包括文档解析、知识提取、知识存储、知识检索、知识组织、以知识为中心的推理以及任务分解与协调。通过调整主模块中的子模块,可以实现专注于不同能力的RAG系统,以满足现实场景中的多样化需求。

Overview of PIKE-RAG Framework

Overview of PIKE-RAG Framework

问题分类

面对RAG系统在工业应用中的挑战,微软提出了PIKE-RAG,通过提取、理解和应用专业知识,结合特定任务的推理逻辑,显著提升了RAG系统的能力。PIKE-RAG将问题分为四类:事实性问题可链接推理问题预测性问题创造性问题,并据此提出了RAG系统的能力分类,为系统优化指明了方向。

  1. 事实性问题:直接从语料库中提取明确信息,依赖检索机制识别相关事实。

  2. 可链接推理问题:需要多步推理和跨来源的知识整合,解决复杂逻辑链条。

  3. 预测性问题:通过归纳推理,将数据组织成可分析的形式(如时间序列),进行未来趋势预测。

  4. 创造性问题:结合领域逻辑和创造性思维,生成创新解决方案。

这种分类方法不仅覆盖了工业领域的多样化需求,还确保了RAG系统能够高效应对从简单检索到复杂推理的全方位挑战。PIKE-RAG的推出,标志着RAG系统在专业领域的应用迈出了重要一步。

知识库

尽管当前研究主要侧重于通过算法增强提高检索增强生成(RAG)系统的性能,但对RAG框架的全面评估仍较少。在此,我们以知识库、任务分类和系统开发三个关键视角概括RAG框架。我们认为知识库是RAG的核心,贯穿检索和生成过程。并且,RAG任务的复杂性和难度可能会根据所需的生成能力和可用支持文本有显著差异。因此,我们根据RAG系统解决不同问题的能力将其划分为不同层次。

在实际应用中,特定领域(如制造业、能源和物流)的专业知识主要来自多年积累的数据,例如药品行业的大量研发文档和药物申请文件。这些资料包含多种格式和多模态内容,如表格、图表和图片,它们间还存在功能性链接,反映了领域能知识的逻辑组织。然而,现有数据集通常只提供预分割的语料库,未涵盖现实应用复杂性,比如整合多格式数据和维护文档间引用关系。

因此,建立全面的知识库成为工业RAG应用的重要基础。我们建议构建一个多层异构图形知识库,其节点和边代表不同元素(如文档、章节、段落、图表等)及其关系。这个图由信息资源层、语料层和提炼知识层组成,每一层对应信息处理的不同阶段,象征着不同的知识粒度和抽象层次。

详细设计

L0 知识库构建

所提出的RAG系统的基础阶段被指定为L0系统,其重点在于构建一个强大且全面的知识库。这一阶段对于在后续层级中实现有效的知识检索至关重要。L0系统的主要目标是处理和结构化领域特定文档,将其转换为机器可读的格式,并将提取的知识组织成一个异构图。该图作为所有高级推理和检索任务的基础。L0系统包含几个关键模块:文件解析、知识提取和知识存储。每个模块在确保知识库既广泛又准确反映源文档中包含的底层信息方面发挥着至关重要的作用。

文档解析

文件解析模块负责处理各种类型的文件,这包括处理扫描文档、图像和复杂的表格等。为了保留多模态元素,框架采用布局分析技术,并使用视觉语言模型来描述图表内容,以确保信息的完整性。

知识组织

知识库被构建为一个多层异质图,表示不同层次的信息粒度和抽象级别。该图捕捉了数据各个组成部分(例如文档、章节、块、图表和表格)之间的关系,并将它们组织成节点和边,以反映它们的相互联系和依赖关系。如下图所示,这种多层结构包括信息资源层、语料库层和提炼知识层,能够为下游任务提供语义理解和基于推理的检索能力。

信息资源层:该层捕捉多样化的信息源,将其视为源节点,并通过边表示它们之间的引用关系。这种结构有助于交叉引用和知识的情境化,为依赖于多源信息的推理奠定了基础。

语料库层:该层将解析后的信息组织成章节和块,同时保留文档的原始层次结构。表格和图表等多模态内容由大语言模型(LLMs)进行总结,并作为块节点集成,确保多模态知识可用于检索。该层支持不同粒度的知识提取,能够实现跨多种内容类型的精确语义分块和检索。

提炼知识层:语料库进一步被提炼为结构化的知识形式(例如知识图谱、原子知识和表格知识)。这一过程通过命名实体识别(NER)和关系提取等技术驱动,确保提炼的知识捕捉关键逻辑关系和实体,从而支持高级推理过程。通过将这种结构化知识组织在提炼层中,我们增强了系统基于更深层次领域知识进行推理和综合的能力。知识提炼过程如下图所示。以下是典型知识形式的详细提炼过程。

L1: 事实性问题回答

在L0系统的基础上,L1系统引入了知识检索和知识组织,以实现其检索和生成能力。这一级别的主要挑战是语义对齐和分块。大量的专业术语和别名可能会影响分块检索的准确性,而不合理的分块可能会破坏语义连贯性并引入噪声干扰。为了缓解这些问题,L1系统采用了更复杂的查询分析技术和基本知识提取模块。其架构扩展为包含支持任务分解、协调以及知识组织(KO)初始阶段的组件,确保系统能够有效处理更复杂的查询。

增强分块

在RAG系统中,分块(Chunking)是将大量文本分解为更小、更易管理的片段的过程。常见的分块策略包括固定大小分块语义分块混合分块。分块不仅影响检索的效率和准确性,还直接决定了RAG模型的整体表现。

在我们的系统中,每个分块扮演双重角色:

  1. 信息单元:被向量化并存储在数据库中,供检索使用。

  2. 知识源:作为进一步知识提取和信息总结的基础。

不恰当的分块会导致文本向量缺失关键语义信息,甚至阻碍基于完整上下文的知识提取。为了解决这一问题,我们提出了一种文本分割算法,旨在通过保留上下文并为每个块生成有效摘要,提升分块效果。

算法核心:动态分块与摘要生成
  1. 迭代分割:算法将文本逐步分割成块,每次迭代生成初始块的前向摘要,为后续块的摘要生成提供上下文支持。

  2. 摘要生成:每个块使用预定义的提示模板进行总结,结合前向摘要和当前块内容,确保叙述连贯。

  3. 动态调整:算法根据文本内容和结构动态调整块大小,确保分块效果最优。

通过这一算法,RAG系统能够更高效地处理复杂文本,为后续的知识提取和推理奠定坚实基础。

自动标注

在RAG的特定领域应用中,如医疗问答,我们常面临语言风格差异挑战,即问题通常以口语化表述,而语料库则采用专业术语。这可能影响检索的准确性。为解决这一问题,我们设计了一个自动标记模块,能有效缩小查询和源文档间的差距。

该模块通过预处理语料库,提取全面的领域特定标签或制定标签映射规则。在检索前,我们从查询中提取标签,并利用已生成的标签集合或标签对集将其映射到语料库领域,以提高召回率和精确率。

具体来说,我们利用大语言模型(LLMs)识别语料库块中的关键信息,总结并归类为“标签类”。我们然后生成语义标签提取提示,以便更精准地提取标签。当只有语料库可用时,我们使用这些提示让LLMs从语料库中提取标签。有问答样本可用时,我们同时对查询和相应的检索答案块进行标签提取。利用这些提取的标签,LLMs可以映射跨领域标签并生成标签对集合。

在建立好语料库的标签集合和标签对集后,可以从查询中提取标签并在集合中识别相应的映射标签。这些映射标签随后用于增强信息检索过程,提升召回率和精确率。这一流程利用了LLMs的高级理解和上下文能力以实现领域适应性。

多粒度检索

L1系统是构建在L0系统之上的,旨在实现跨异质知识图的多层次、多粒度检索。这个知识图的每一层(如信息源层、语料库层、提炼知识层)代表了不同抽象层次和粒度的知识,使我们能从多个角度探索和获取信息。

查询可以映射到整个文档或特定文本块,以在正确的层次上找到所需知识。为实现此功能,系统会计算查询与图节点的相似度分数,度量检索知识的准确性。这些分数经过各层传播,聚合不同层次的信息。这种多层传播允许我们根据全局和局部视角调整检索结果。最终的相似度分数由聚合和传播的组合得出,以平衡精确性和效率。

此外,检索过程可进行迭代优化,基于任务分解产生的子查询可进一步提升生成答案的准确性和相关性。

我们以下图为例来详细说明:对于图的每一层,查询Q和图节点都被转换为高维向量嵌入以评估相似度。这个过程被表示为g(∗),其中I、C和D分别代表信息源层、语料库层和提炼知识层的节点集。传播和聚合操作则由函数f(∗)表示,最终的块相似度分数S则通过聚合其他层和节点的分数得到。

L2: 可链接推理问题回答

L2系统的核心功能在于其能够高效检索多个相关信息源并基于此进行复杂推理。为实现这一目标,L2系统集成了一个先进的知识提取模块,全面识别并提取相关信息。此外,系统还实现了任务分解与协调模块,将复杂任务分解为更小、更易管理的子任务,从而提升系统处理任务的效率。

分块文本包含多方面的信息,增加了检索的复杂性。最近的研究集中于从分块文本中提取三元组知识单元并构建知识图谱,以促进高效的信息检索。然而,知识图谱的构建成本较高,且其内在知识可能无法被完全挖掘。为了更好地呈现文档中嵌入的知识,我们在知识提取阶段提出将原始文档原子化,这一过程我们称为知识原子化。此外,工业任务通常需要多段知识,这隐含了对原始问题进行分解为多个顺序或并行原子问题的能力需求。我们将此操作称为任务分解。通过将提取的原子知识与原始分块结合,我们构建了一个原子化层次知识库。每次分解任务时,层次知识库都会提供可用知识的洞察,从而实现知识感知的任务分解。

知识原子化

我们认为,单个文档块通常包含多段知识。通常情况下,解决特定任务所需的信息仅代表整个知识的一个子集。因此,像传统信息检索那样将这些知识片段整合在单个块中,可能无法促进所需精确信息的高效检索。为了使知识的粒度与任务解决过程中生成的查询相匹配,我们提出了一种称为知识原子化的方法。该方法利用大语言模型(LLMs)的上下文理解和内容生成能力,自动为每个文档块中的原子知识片段打上标签。需要注意的是,这些块可以是原始参考文档的片段、为表格、图像、视频生成的描述块,甚至是整个章节或文档的总结块。

原子知识的呈现方式可以多种多样。我们建议使用问题作为知识索引,而不是使用陈述句或主语-关系-宾语三元组,以进一步缩小存储知识与查询之间的差距。与语义标记过程不同,在知识原子化过程中,我们将文档块作为上下文输入给LLM,要求其生成尽可能多的可以由给定块回答的相关问题。这些生成的原子问题与给定块一起保存为原子问题标签。

知识感知的任务分解

任务分解模块将复杂任务分解为更小的子任务,以提高系统的处理效率。通过生成和评估原子问题提案,动态调整检索和推理过程。

知识感知任务分解器的训练

通过收集和训练数据,使任务分解器能够更好地理解和处理领域特定的知识。通过强化学习等方法,优化任务分解和结果寻找过程。

L3: 预测性问题回答

L3 专注于处理预测性问题,强调基于知识的预测能力。

在L3系统中,更加注重基于知识的预测能力,这需要有效的知识收集、组织以及构建预测逻辑。为此,我们利用任务分解与协调模块,基于从检索知识中收集和组织的有序知识,构建预测逻辑。L3系统的框架如上图所示。为了确保检索到的知识能够为高级分析和预测做好准备,知识组织模块增强了专门用于知识结构化和组织的子模块。这些子模块简化了将原始检索知识转化为结构化、连贯格式的过程,从而优化后续推理和预测任务。

鉴于大语言模型(LLMs)在应用专业推理逻辑方面的局限性,其在预测任务中的有效性可能受到限制。为了克服这一问题,知识中心推理模块增强了预测子模块,使系统能够基于输入查询和组织知识推断结果。这一预测子模块使系统不仅能够基于历史知识生成答案,还能进行预测,从而为复杂查询提供更强大和动态的响应。通过整合先进的知识结构化和预测能力,L3系统能够有效管理和利用更复杂和动态的知识库。

L4: 创造性问题回答

L4 系统的实现特点在于集成了多智能体系统,以促进多角度思考。解决创造性问题需要基于事实信息并理解基本原理和规则的创造性思维。在这个高级阶段,主要挑战包括从检索到的知识中提取连贯的逻辑推理、在众多影响因素中导航复杂的推理过程,以及评估对创造性、开放性问题的回答质量。为了应对这些挑战,系统协调多个智能体,每个智能体都贡献独特的见解和推理策略,如下所示。

这些智能体并行运作,综合各种思维过程,生成全面且连贯的解决方案。这种多智能体架构支持并行处理和整合不同的推理路径,确保有效管理和应对复杂查询。通过模拟多样化的观点,L4 系统增强了处理创造性问题的能力,生成创新性想法而非预定义的解决方案。多个智能体的协调输出不仅丰富了推理过程,还为用户提供了全面的视角,促进创造性思维,并激发解决复杂问题的新颖方案。

测试结果

为了验证我们提出方法的有效性,PIKE-RAG在开放域基准测试和特定领域基准测试上进行了实验。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值