人工智能的新突破:StructRAG框架如何让大型语言模型更聪明? 原创
01、概述
在人工智能的浪潮中,大型语言模型(LLMs)正变得越来越聪明。它们不仅能处理复杂的语言任务,还能通过检索增强生成(RAG)方法,从外部信息源获取数据,以提高其准确性和推理能力。但面对知识密集型任务,如何整合分散在多个文档中的信息,仍是一个难题。现在,StructRAG框架的出现,为这一挑战提供了新的解决方案。
02、StructRAG
StructRAG框架是由中国科学院和阿里巴巴集团的研究人员共同提出的。它借鉴了人类处理复杂问题时将信息结构化的认知理论,通过混合信息结构化机制,根据任务需求以最合适的格式构建和利用结构化知识,从而提升LLMs在知识密集型推理任务上的性能。
StructRAG框架的三大核心模块
StructRAG框架由三个主要模块组成,它们协同工作,以提高RAG的性能。
1. 混合结构路由器:确定最佳结构类型
混合结构路由器是StructRAG的核心,它负责确定给定任务最合适的结构类型。路由器接受问题和文档核心内容作为输入,输出最佳结构类型。它考虑了五种结构类型:表格、图形、算法、目录和块,每种都适用于不同类型的知识密集型任务。
为了训练路由器,研究人员提出了一种基于决策变换器与偏好优化(DPO)算法的新方法。这种方法遵循强化学习原则,不需要额外的奖励模型。路由器的训练数据通过合成-模拟-判断管道生成,为各种任务和结构类型创建高质量的合成偏好对。
2. 零散知识结构化器:构建结构化知识
确定了最佳结构类型后,零散知识结构化器开始工作。它负责从原始文档中提取相关信息,并将其重构为所选格式的结构化知识。结构化器利用LLMs的理解和生成能力,执行这一复杂任务。
结构化器接受问题、选定的结构类型和每个原始文档作为输入,提取结构化知识,并生成描述。输出的结构化知识被收集和组合,形成给定任务的总体结构化知识。
3. 结构化知识利用器:推理与答案生成
StructRAG框架的最后一个模块是结构化知识利用器,它基于构建的结构化知识进行推理以回答问题。该模块旨在处理可能阻碍直接识别和利用相关信息的复杂、组合性问题。
利用器采用基于LLM的方法来促进问题分解、精确知识提取和最终答案推断。它首先将原始问题分解为几个更简单的子问题,然后从结构化知识中提取每个子问题的精确知识。最后,利用器整合所有子问题及其相应的精确知识,生成最终答案。
训练混合结构路由器:关键步骤
混合结构路由器的性能对StructRAG框架的整体有效性至关重要。为了训练路由器,研究人员提出了一种新方法,结合了合成-模拟-判断管道来生成训练数据和DPO算法来训练偏好。
合成-模拟-判断管道由三个步骤组成:
- 任务合成:LLMs通过上下文学习合成新任务,每个合成任务包括一个问题和文档的核心内容。
- 解决方案模拟:LLMs模拟使用不同类型结构化知识解决任务的过程,为每个任务生成不同的模拟解决方案。
- 偏好判断:基于LLM的裁判比较每个任务的模拟解决方案,并生成关于结构类型的偏好对。
生成的偏好对通过DPO算法训练路由器,使其能够学习不同结构类型之间的偏好,增强其选择最合适结构类型的能力。
03、实验结果
研究人员在Loong基准上对StructRAG进行了评估,包括四个任务(Spotlight定位、比较、聚类和推理链)和四种文档长度设置。结果表明,StructRAG在大多数任务和文档长度设置中都优于基线,在总体指标上实现了最先进的性能。
随着任务复杂性的增加,StructRAG的性能提升变得更加明显。在文档长度增加、有用信息更分散的复杂场景中,StructRAG比基线有显著改进,证实了其在构建和利用结构化知识方面的有效性。
消融研究也验证了StructRAG框架中每个模块的贡献。所有三个模块(混合结构路由器、零散知识结构化器和结构化知识利用器)在整体性能中都发挥了关键作用。移除这些模块中的任何一个都会导致明显的性能下降,其中混合结构路由器的影响最为显著。
此外,研究人员还比较了StructRAG与固定结构类型(例如,仅使用表格、图形、块、目录或算法)的性能,以证明混合信息结构化的重要性。结果证实,使用单一固定结构类型对于多样化的任务是不够的,根据任务需求选择最佳结构类型的能力对于实现强大的性能至关重要。
04、结论
StructRAG通过引入混合信息结构化机制,为提升LLMs在知识密集型推理任务上的性能提供了一个有希望的方法。它不仅模仿了类似人类的思考过程,还根据任务的具体需求,以最合适的格式构建和利用结构化知识。
这项研究不仅展示了StructRAG在处理复杂任务时的潜力,还为未来LLMs的发展提供了新的方向。随着技术的不断进步,我们可以期待StructRAG将在更多领域展现其强大的能力,为人工智能的发展带来更多可能。
参考:
本文转载自公众号Halo咯咯 作者:基咯咯