2024年GraphRAG代表性工作的调研与总结

2024年GraphRAG代表性工作的调研与总结

2024年被誉为“RAG发展元年”,尽管这一称号尚未得到普遍认可,但全年的显著进展无疑为其赋予了充分的理由。在大型语言模型(LLM)广泛应用的背景下,检索增强生成(Retrieval-Augmented Generation,简称RAG)技术始终扮演着不可或缺的重要角色。特别是基于图结构的RAG(GraphRAG),凭借其在知识组织与检索上的独特优势,成为推动智能问答系统和信息处理技术革新的关键力量。下面我将从构建图谱和检索优化两个方面,为大家总结一下2024年GraphRAG的相关工作。

构建图谱

今年在GraphRAG领域最火的词莫过于“Hierarchical”,也就是所谓的知识分层。

图1:生物学上的知识分层

在我们的日常生活中,知识的组织往往是基于其抽象程度的不同而划分出不同的层次。比如生物学家在对各类生物的分类上会划分“界门纲目科属种”如图一所示,下层是具体的动物名称,向上具有相同特征的动物被概括成一个种类,再向上动物们又会被概括成更抽象的知识“属”…

这种知识分层的思想在今年被应用在了GraphRAG的构图领域,为系统带来了前所未有的灵活性和高效性。通过将知识图谱(Knowledge Graph, KG)按照不同的层次进行组织,GraphRAG能够更精准地匹配用户的查询需求,无论是需要综合总结的宏观问题,还是需要具体细节的微观问题,都能快速定位到相应的知识层次,提供精准的回答。

一、知识分层的开山

知识分层的概念最早在今年二月由RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)引入到RAG领域,因为现有的RAG方法仅从检索语料库中提取短而连续的文本片段。这种方式限制了对整个文档上下文的全面理解,无法有效整合长篇文档中的信息。RAPTOR 首先把文本内容预聚类,接着利用 LLM 对聚类后的文本生成摘要,形成一个多层次的树形索引。

图2:RAPTOR树结构知识分层

这些摘要数据连同原始文本一起被送到搜索系统。由于这些摘要数据提供了对文本更加宏观的理解,因此对一些意图不明的提问,还有需要跨 Chunk 的多跳提问,都可以产生合适的回答。

二、知识分层在GraphRAG上的应用

看到知识分层在Naive RAG上取得了如此显著的效果,我们很容易想到这个思想可以应用到GraphRAG上,因为图结构天然就存在可以分层的特性,层次图的概念已经应用到了计算机的各个领域中,并且在知识图谱上有着比树复杂多倍的关系类型和知识种类。采用知识分层的思想也一定能够提升GraphRAG的生成质量。

也就是在两个月之后,也就是今年的四月微软发表论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》并开源GraphRAG框架(为了避免名字冲突,我们之后称为Microsoft GraphRAG).标志着知识分层首次应用在GraphRAG领域。

图3:Microsoft GraphRAG建图和推理流程

Microsoft GrapRAG采用Leiden算法高效地检测图的层次社区结构,每层社区划分互斥且覆盖所有节点,支持不同粒度的社区划分。对于每个社区,系统生成相应的摘要文本。对于细粒度的叶级社区,按照边的分数降序排列,将相关描述、和边信息依次加入LLM的上下文窗口,生成社区总结;对于高层级社区,则进行粗粒度的总结,以此类推形成层次图。

在检索和生成阶段,用户需要指定检索层次,之后Microsoft Graph会调用大模型对这一层的所有摘要进行打分,把分数高的摘要与用户问题进行结合,喂入大模型生成答案。

三、知识分层带来的问题和解决方案的探索

尽管知识分层为GraphRAG带来了诸多好处,但是它依然不适合我们在生活中去使用

首先我们都不像微软公司一样财大气粗,构建多层次的知识图谱需要大量的时间和资源,尤其是在处理大规模数据时,建图成本显著增加。其次是有很高的推理延迟,大模型平行打分导致检索和推理过程中的延迟增加,影响系统的响应速度。第三是在问答上还不够灵活,需要用户手动指定检索的社区层次。而且这种用大模型总结出的文本描述不适用于相关专业领域。

为了克服知识分层在GraphRAG应用中带来的这些挑战,研究者们在2024年陆续提出了多种创新解决方案,旨在降低建图成本、减少推理延迟并提升系统的灵活性。

首先是今年7月香港大学推出的LightRAG,正如它的名字一样它可以认为是Microsoft GrapRAG的轻量化。只实现了一个双层的图结构。但是在每一层中都做了向量化,避免了GraphRAG的社区遍历。在保证生成质量的同时,提高了建图和检索的效率。

图4:LightRAG建图和推理流程

在今年的12月微软同样不甘示弱,连续推出了两个轻量化版本,Fast GraphRAG和Lazy GraphRAG。Fast GraphRAG 同样利用 LLM 抽取实体和关系,这点跟微软的 GraphRAG 并没有什么不同,但它省掉了“社区”及其摘要的生成,降低了对 LLM 请求的频率。在检索时, Fast GraphRAG 根据查询在知识图谱上找到最接近的实体,然后采用个性化 PageRank 在知识图谱上随机游走,获取子图,然后依靠子图生成最终答案。LazyGraphRAG采用了一系列简化的技术方法来优化知识的检索和生成过程。首先,在数据索引阶段,系统利用NLP技术提取名词短语,识别关键概念及其关联,构建初步的知识图谱。接着,通过图统计优化,对这些概念进行精细化处理,形成层次化的社区结构,帮助快速找到相关信息。

为了使大模型构造的三元组更适用于专业领域,在今年四月蚂蚁的OpenSPG最新版发布,它通过提前定义一些适用于专业领域的schema来指导大模型对实体的提取入下图所示。这样在相关专业领域大模型对实体的属性提取的更加精确。

图5:OpenSPG设定schema样例

四、国产GraphRAG的突破KAG

在这一年里,各大 GraphRAG 系统可谓争奇斗艳,无论是微软的 GraphRAG、LazyGraphRAG,还是轻量化的 Fast GraphRAG,都在知识检索与生成领域不断推陈出新。而就在这一片热闹中,我们终于在今年 12 月等到了国产化的 GraphRAG 突破——KAG

KAG的发布,是蚂蚁团队常年对知识图谱领域深耕的结果,从OpenKG到OpenSPG再到KAG,我们国产化的GraphRAG也一步步走到了舞台中央。

在KAG的论文中,首次提出了知识分层的概念,它把我们的知识比作金字塔,下层的知识完整具体,上层的知识简单抽象。并且指出回答不同的问题,我们需要的知识的层级是不同的。这像是对这一整年GraphRAG发展的总结,也同时为之后的发展指明了方向。

图6:KAG定义的知识金字塔结构

在建图方法上,KAG 并未沿用以往工作中通过构造多层图社区的方法,而是基于其自主开发的 OpenSPG 框架,在实体顶点内部实现知识的分层(如图左侧所示)。这种分层方式对每个实体类型(如“人”或其他预定义属性)进行细化,确保实体内部的知识能够被更有效地组织和管理。

与此同时,图右侧展示了一个概念图,它可以类比 Microsoft GraphRAG 中的图社区结构,但 KAG 将概念进一步系统化,通过概念将实体中的信息逐步抽象,从而实现多层次的知识表示。每个概念类型(如“人的概念分类”)通过树形结构关联到具体的概念节点,而每个节点都对应一个独特的概念类型类。

KAG 更加侧重于知识图谱的完整性和可解释性,为了追求垂直领域的专业性,其建图过程融合了人工维护和领域专家知识元素。这种方式不仅解决了以往图社区结构可能带来的层次冗余问题,还强化了知识表达的准确性,使其在垂直领域的应用中表现尤为出色。

在 KAG 的建图体系中,实体和概念的表示还包含了多种类型的属性和关系,具体包括:

领域专家预设部分:由领域专家预先定义的核心属性和关系。

临时添加内容:动态扩展的属性和关系,用于适应知识的实时更新需求。

系统预设属性:如支持块(supporting_chunks)、描述(description)、摘要(summary)和归属(belongTo)等。

对于每个实例,系统还提供以下功能:

支持块(supporting_chunks):指包含该实例的所有相关文本块,块的生成策略和长度由用户定义。

描述(description):为每个实例提供通用的描述信息,帮助大型语言模型(LLM)更好地理解特定实例或类型的意义,广泛应用于信息提取、实体识别和摘要生成。

摘要(summary):通过对实例或关系的上下文信息进行概要提炼,便于快速理解。

归属(belongTo):建立实例与概念类型之间的语义归属关系,使实体类型或事件类型能够与概念类型自然关联。

KAG 的这一创新性建图方式充分利用了实体和概念的分层结构,将实体内部的细化分层与概念图的逐级抽象相结合,不仅优化了知识的组织方式,还为复杂语义推理提供了强有力的支持。KAG 的这一设计标志着国产 GraphRAG 系统在知识建模上的重大突破,兼顾了高效性与灵活性,为垂直领域的知识处理和问答系统提供了更加精准和专业的解决方案。

图7:KAG的知识表示方式样例

五、知识分层总结

至此,2024年的知识分层大戏落下帷幕。从Microsoft GraphRAG 到国产化的 KAG,知识分层成为推动GraphRAG领域发展的关键思路。一年的研究和应用充分展示了知识分层在提升知识检索效率、优化系统性能以及适应复杂语义关系方面的巨大潜力。

尽管知识分层在今年取得了诸多成果,但目前的解决方案仍存在一些显著的不足,主要包括以下几个方面:

1.建图成本问题

当前的知识分层方法在构建和维护多层次知识图谱时,依然需要较高的资源和时间投入,特别是面对大规模数据集时,建图成本成为应用推广的瓶颈。

2.推理延迟问题

多层次分层结构带来的复杂性增加了推理路径的长度,使得检索和推理的延迟较高,特别是在实时问答和动态数据处理场景中,用户体验受到影响。

3.系统灵活性不足

当前的知识分层方法在问答场景中的灵活性依然较差。例如,某些系统需要用户手动指定知识层次或社区,而非根据问题动态适配检索路径。在建图上有时还需要人工设定不同的模式融合人工维护和领域专家知识,这些都难以满足用户日常使用需求。

4.知识分层的标准化缺失

各系统在分层方法、抽象层级和知识表示上存在差异,尚未形成统一的分层标准。这种缺乏标准化的现状增加了系统之间的互操作难度。

检索优化

在过去的一年里,我们见证了各大厂商在建图方法上的激烈探索。从微软的 GraphRAG 到国产 KAG,无一不在追求更高质量、更高效率的知识图谱构建。然而,这些顶尖系统的背后,往往需要投入大量的时间、人力和财力。高质量图谱的构建不仅“烧钱”,还“废人”,对于资源有限的高校研究团队或小规模开发团队来说,往往难以承担这种高昂的成本。因此,今年在 GraphRAG 领域,我们也看到了许多团队聚焦于检索优化,试图在不依赖过于复杂的建图方法的前提下,通过更高效的检索策略来提升系统的整体性能。接下来,我将分为“无参数检索器”,“GNN检索器”,“大模型检索器”三个板块为大家介绍2024年检索优化的工作。

一、无参数检索器

无参数检索器基于启发式规则或传统图搜索算法,不依赖深度学习模型,因而具有高效性和低成本的特点,除了多跳路径和最短路径这些传统的图算法,今年最值得讨论的工作是新国立在今年五月发表的G-Retriever。

图8:G-Retriever整体流程

G-Retriever 提出了基于经典 Prize-Collecting Steiner Tree (PCST) 算法的改进方法。通过引入边的价格模型,G-Retriever能够更精准地优化相关子图的提取。

二、GNN检索器

GNN 检索器利用图神经网络强大的图结构建模能力,对复杂知识图谱中的节点和边进行深度编码和语义分析,从而在高效检索与深度语义理解之间取得了良好的平衡。相较于无参数检索器基于启发式规则的传统方法,GNN 检索器显得更加智能化,能够根据查询动态生成精确的子图或路径。

但是GNN检索器有它自己一个致命的缺点,就是需要借助于用户数据进行额外训练,例如借助于客户已有的问答数据对知识图谱中的命名实体产生更好的 Graph Embedding 表示,这些工作涉及到很高的定制化成本,对于普通用户来说并不能应用到日常使用。

图9:GNN-RAG整体流程

今年GNN检索器最经典的一篇工作是GNN-RAG,它是一种结合图神经网络的检索增强生成模型。它首先对整个知识图谱进行编码,为每个节点生成高维嵌入向量。在检索阶段,系统根据查询计算每个节点与查询的相似性得分(similarity score),并将得分高于阈值的节点视为与查询相关的实体节点。最后将得分高的实体节点到查询实体节点的最短路径结合用户问题喂入大模型。

三、大模型检索器

大模型检索器(LM-based Retriever)利用大型语言模型(LLMs)强大的自然语言理解能力,根据用户提出的问题对知识图谱的检索过程提供指导。这类方法充分发挥了大模型在自然语言语义分析和推理方面的优势,能够动态生成推理路径,为复杂查询提供高效的解决方案。这类方法有一个和GNN检索器类似的缺点,那就是需要用用户的数据对大模型进行微调。

图10:REASONING ON GRAPHS训练和推理流程

比如今年ICLR的一篇工作REASONING ON GRAPHS,它用知识图谱中的知识和特定的生成关系路径的任务去微调大模型,在推理时大模型会根据用户问题生成推理路径,再根据推理路径生成回答。

这类检索器虽然很好的运用了大模型的生成能力,但是前期的微调任务依然使它不能够很好的为用户所用。

总结

2024年无疑是GraphRAG领域充满突破与变革的一年。从知识分层的提出到检索优化的不断探索,我们见证了从Microsoft GraphRAG到国产KAG的技术跃迁,也看到了各类方法在灵活性、效率和可解释性上的不断迭代。今年的研究不仅让GraphRAG的应用更加广泛,同时也揭示了其发展过程中的不足和挑战。

知识分层作为今年最重要的研究方向,不仅赋予了知识图谱更强的组织能力,也显著提升了检索的精度和生成质量。然而,建图成本高、推理延迟以及系统灵活性不足的问题,依然是知识分层技术需要面对的重要挑战。而针对这些问题,从轻量化的LightRAG到Fast GraphRAG、Lazy GraphRAG,再到国产的KAG,各类创新方法在建图和推理效率上取得了显著的进展,充分展现了不同团队的技术智慧与实际应用能力。

与此同时,检索优化的探索为GraphRAG的实际应用提供了更多可能性。从高效的无参数检索器到强大的GNN检索器,再到语义理解能力卓越的大模型检索器,每一种方法都在特定的场景中发挥了重要作用。尽管无参数检索器因其高效性和低成本仍占据一席之地,但GNN检索器和大模型检索器则通过深度学习和语义推理能力,为复杂多跳问题和动态场景提供了更强的支持。然而,这些方法对用户数据的依赖和微调的高成本,也使它们的广泛应用面临一定的瓶颈。

今年的知识分层思想为今后GraphRAG发展指明了方向,但是分层之后如何进行更快,更准,更灵活的检索依然是今后需要研究的内容。此外减少构建知识库的时间和成本也是今后GraphRAG能够普及的重要一环。

在检索器的优化方向上,为了真正实现广泛适用的检索系统,未来的检索器设计应更加关注其通用性,能够在不同领域和任务中自适应地提供高质量的检索结果,而无需依赖领域特定的微调。

如何学习大模型 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、付费专栏及课程。

余额充值