有效利用外部知识来提高大型语言模型 (LLM) 在基于知识的任务上的性能已成为一项重大挑战。检索增强生成 (RAG) 方法已成为一种很有前途的解决方案,它为 LLM 提供来自外部来源的相关信息,以提高其事实准确性和推理能力。然而,现有的 RAG 方法难以完成知识密集型推理任务,其中所需的信息通常分散在多个文档中,因此难以准确识别和集成关键信息以进行全局推理。
受认知理论的启发,人类在处理复杂的推理任务时将原始信息转化为结构化知识,来自中国科学院和阿里巴巴集团的研究人员提出了一种名为 StructRAG 的新框架。该框架引入了一种混合信息结构化机制,该机制根据手头任务的特定要求以最合适的格式构建和利用结构化知识。通过模仿类人的思维过程,StructRAG 旨在提高 LLM 在知识密集型推理任务上的表现。
在本文中,我们将深入研究 StructRAG 框架的细节,探索其关键组件以及它们如何协同工作以提高 RAG 性能。我们还将讨论 StructRAG 中的关键模块混合结构路由器的训练过程,并展示证明该方法有效性的实验结果。StructRAG 框架概述
框架
StructRAG 框架由三个主要模块组成,这些模块按顺序工作以确定最佳结构类型、构建结构化知识并利用该知识进行准确推理。让我们仔细看看这些模块中的每一个。
混合结构路由器:混合结构路由器是 StructRAG 的核心组件,负责为给定任务确定最合适的结构类型。它将问题和文档的核心内容作为输入,并输出最佳结构类型。该路由器考虑了五种候选结构类型:表、图形、算法、目录和块,每种类型都适用于不同类型的知识密集型任务。
选择最佳结构类型至关重要,因为它直接影响后续模块的有效性。为了训练路由器,作者提出了一种基于具有偏好优化 (DPO) 算法的决策转换器的新方法,该方法遵循强化学习原则,不需要额外的奖励模型。router 的训练数据是通过 synthesizing-simulating-judging pipeline 生成的,该管道为各种任务和结构类型创建高质量的 synthetic preference 对。
分散知识结构器:一旦确定了最佳结构类型,分散知识结构器就会发挥作用。该模块负责提取散布在原始文档中的相关信息,并将其重建为所选格式的结构化知识。Structurizer 利用 LLM 强大的理解和生成功能来执行这项复杂的任务。
structurizer 将问题、选定的结构类型和每个原始文档作为输入。然后,它从文档中提取结构化知识并生成结构化知识的描述。收集并组合输出的结构化知识,以形成给定任务的整体结构化知识。
结构化知识利用器:StructRAG 框架中的最后一个模块是结构化知识利用器,它根据构建的结构化知识执行推理以回答问题。该模块旨在处理可能阻碍直接识别和利用相关信息的复杂组合问题。
该利用器采用基于 LLM 的方法来促进问题分解、精确知识提取和最终答案推理。它首先根据结构化知识的整体描述,将原始问题分解为几个更简单的子问题。然后,它从结构化知识中提取每个子问题的精确知识。最后,utilizer 整合所有子问题及其相应的精确知识以生成最终答案。
训练混合结构路由器
混合结构路由器的性能对于 StructRAG 框架的整体有效性至关重要。为了训练路由器,作者提出了一种新的方法,该方法结合了用于生成训练数据的综合-模拟-判断管道和用于偏好训练的 DPO 算法。
综合 - 模拟 - 判断管道由三个步骤组成:
任务合成:给定一组手动收集的种子任务,涵盖可能的结构类型,LLM 用于通过上下文学习合成新任务。每个综合任务都包括一个问题和文档的核心内容。
解决方案模拟:对于每个合成任务,LLM 模拟使用不同类型的结构化知识解决任务的过程。此步骤为每个任务生成不同的模拟解决方案。
偏好判断:基于 LLM 的法官比较每个任务的模拟解决方案,并生成有关结构类型的偏好对。此管道的输出是一组可用于训练路由器的综合优先级对。
然后,生成的首选项对用于使用 DPO 算法训练路由器。training 的 input 包括问题和文档的核心内容,输出是最佳结构类型。DPO 算法使路由器能够学习各种任务的不同结构类型之间的首选项,从而增强其选择最合适结构类型的能力。
实验结果
作者在各种知识密集型推理任务上评估了 StructRAG,并将其性能与几个强大的 RAG 基线进行了比较。实验是在 Loong 基准测试上进行的,其中包括四个任务(Spotlight 定位、比较、聚类和推理链)和四个文档长度设置。结果表明,StructRAG 在大多数任务和文档长度设置中都优于基线,在整体指标中实现了最先进的性能。
值得注意的是,随着任务复杂性的增加,StructRAG 的性能改进变得更加明显。随着文档长度的增加,解决任务所需的有用信息变得更加分散,使推理过程更具挑战性。在这些复杂场景中,StructRAG 显示出对基线的显着改进,证实了它在以最合适的格式构建和利用结构化知识方面的有效性。
作者还进行了消融研究,以验证 StructRAG 框架中每个模块的贡献。结果表明,所有三个模块(混合结构路由器、分散知识结构器和结构化知识利用器)在整体性能中都起着至关重要的作用。移除这些模块中的任何一个都会导致性能明显下降,其中混合结构路由器的影响最为显著。
此外,作者将 StructRAG 的性能与固定结构类型(例如,仅使用表、图形、块、目录或算法)进行了比较,以证明混合信息结构化的重要性。结果证实,使用单一的固定结构类型不足以完成不同的任务,根据任务要求选择最佳结构类型的能力对于实现强大的性能至关重要。
结论
StructRAG 提出了一种很有前途的方法,通过引入混合信息结构化机制来提高 LLM 在知识密集型推理任务上的性能。通过模仿类似人类的思维过程,StructRAG 根据手头任务的具体要求,以最合适的格式构建和利用结构化知识。
让我们回顾一下:
该框架由三个关键模块组成:确定最佳结构类型的混合结构路由器、将原始文档转换为结构化知识的分散知识结构器,以及执行问题分解和精确知识提取以实现准确答案推理的结构化知识利用器。
混合结构路由器的训练是 StructRAG 的一个关键方面。作者提出了一个合成-模拟-判断管道来生成高质量的合成偏好对,并采用 DPO 算法进行偏好训练。这种方法使路由器能够了解各种任务的不同结构类型之间的首选项,从而增强其选择最合适结构类型的能力。
各种知识密集型推理任务的实验结果表明了 StructRAG 的有效性,该框架实现了最先进的性能,并且与强大的 RAG 基线相比有了显着改进。消融研究证实了框架中每个模块的重要性,突出了混合结构路由器在整体性能中的关键作用。
此外,StructRAG 与固定结构类型的比较强调了混合信息结构化的重要性。根据任务要求选择最佳结构类型的能力对于在不同任务中实现强大的性能至关重要。
总之,StructRAG 为利用混合结构化知识开发更强大的 RAG 系统提供了一个有前途的方向。通过模仿类似人类的思维过程,该框架根据手头任务的具体要求,以最合适的格式构建和利用结构化知识。
参考文献
GraphRAG工程落地成本详细解读和实例分析
GraphRAG类型、限制、案例、使用场景详细解析
引入GraphRAG的场景条件分析
不适用生成式人工智能的场景
知识图谱增强大模型GraphRAG全面综述解读 - 蚂蚁集团、北大、浙大、人大等
5个知识图谱KG和RAG系统的误解 — 构建和使用RAG原生图谱
OpenKG-SIG | SIGData兴趣组:利用大模型构建LLM需要的知识图谱
关于大模型和知识图谱、本体的一场讨论
什么时候(不)用GraphRAG
GraphRAG工程落地成本详细解读和实例分析
Structured-GraphRAG知识增强框架——足球游戏数据案例研究