近期,微软开源GraphRAG的新闻成为热门话题。GraphRAG (Graph-Augmented Retrieval-Augmented Generation) 是一种基于图的检索增强生成技术,结合了知识图谱和传统的检索增强生成(RAG)方法,旨在提升大语言模型处理私有数据集问答的能力。
本文从知识图谱的原理等角度,结合一个 GraphRAG 的生动类比,说明了为什么知识图谱+RAG 的方案优于传统的 RAG 方案。
以下为译文:
01
什么是知识图谱?
你是否曾觉得自己的大脑充斥了一团乱麻般的随机事实?知识图谱模拟了我们大脑思考事物,以及事物间关系的方式,同时又规避了大脑会遗忘和错误决策等问题。
我们可以将知识图谱视为带了主语、谓语和宾语的三元组。它们将信息表示为一个由相互连接的实体组成的网络,以及实体之间的关系。本质上,知识图谱利用基于图的数据模型,其中节点代表实体(如人、地点或概念的主体和宾语),边表示这些实体之间的关系或谓语。
OpenSPG 是一个语义增强的可编程知识图谱,GitHub地址如下,欢迎大家Star关注~
https://github.com/OpenSPG/openspg
换句话说,你可以把知识图谱看做是对经典"六度分隔"理论的数据层面的呈现,而且它不仅仅是将你连接到 Kevin Bacon,而是在一个广阔而多维的关系网络中链接所有可能的实体。
图片来源:Langchain
知识图谱的真正魔力在于其近乎超自然的连接数据能力,而且灵活且可扩展。知识图谱能无缝整合各种数据源,包括结构化和非结构化数据。这种融合创造出信息的统一视图,常常揭示出隐藏的联系和模式。先进的知识图谱融合了本体和语义 Schema,为领域中的概念及其相互关系提供了正式的定义。
这个语义层提升了图谱的逻辑推理能力,支持诸如传递闭包这样的操作,可以根据已有的关系推导出新的关系。例如,如果图谱中包含"约翰住在旧金山"和"旧金山在加利福尼亚"的信息,即使没有明说,知识图谱也能正确地推断出"约翰住在加利福尼亚"这个事实。
图片来源:Neo4j 博客
02
知识图谱的应用场景
那么知识图谱的应用场景有哪些呢?
我们可以通过延时、持久性和查询类型这三个维度的框架,去理解知识图谱在各种应用场景中的多样化。 在分析方面,知识图谱在处理即时查询和系统性分析方面表现出色,从实时的客户洞察到复杂的财务建模都能实现。
另外,知识图谱具有持久数据存储和快速检索的能力,这在复杂的推荐系统和以用户为中心的界面中至关重要。在算法方面,知识图谱非常擅长处理系统查询,尤其是高级自然语言处理和链路优化。这进一步佐证了我们之前提到的灵活性,即既能处理实时分析,又能支持持久的系统数据结构。
这也是为何去年年底知识图谱技术会这么流行的原因,也就引出了今天的话题——GraphRAG 才是王道!
03
什么是 GraphRAG?
今年 4 月,微软研究团队 GraphRAG 的论文一经发布,就得到了业界的关注。7 月初,Graph RAG 在 GitHub 上开源,短短半个月,star 数量就达到 12k!
那么,GraphRAG(GRAG)究竟是什么呢?下面我们将从 GraphRAG 的论文开始介绍:
图片来源:Arxiv,《GRAG: Graph Retrieval-Augmented Generation》
为了让你更容易理解,我和 Sonnet 3.5 一起头脑风暴讨论出了一个关于 GraphRAG 的形象解释:
GRAG 就像是信息世界中最优秀的城市规划师。传统的 RAG 方法就像游客随意向行人问路,而 GRAG 则是了解城市每个角落的市长。它不仅了解单个建筑(或信息片段),还能看到整个城市的全貌,牢记错综复杂的街道、街区和社区网络。这种鸟瞰式的视角让 GRAG 能够像一个熟知所有捷径的老司机一样,高效地在这些街道中穿梭。
图片来源:arXiv,《GRAG: Graph Retrieval-Augmented Generation》
GRAG 之所以引人注目,是因为它能够识别并探索任何给定问题的相关“街区”(子图)。利用其“软修剪”技术(主要针对无关信息),GRAG 可以清理这些邻域,去除杂乱无章的信息,突出最相关的特征。然后,通过同时运用城市规划语言(图结构)和地方方言(文本信息)的双重提示,GRAG 作出的回答不仅能捕捉事实,还能揭示城市景观的丰富背景和内在联系。这就好比从一位长期居住在本地的历史专家那里获取的内部信息,远胜于任何旅游指南所能提供的信息。
微软《From Local to Global》的论文,将其应用于聚焦查询的总结,用自然语言总结知识图谱的内容以便检索。沿用之前的类比,我们可以将 GraphRAG 看作是知识库(或城市)的高级城市规划和信息检索系统。这个系统的运行主要分为两个阶段:索引和检索。
在索引阶段,城市规划者(LLMs)首先将城市景观(原始文档)划分为可管理的区域(文本片段)。然后,他们调查每个区域,识别关键地标和连接(元素实例)——这就像标定重要的建筑物、公园以及连接它们的道路。这些个体元素随后被总结为简洁的描述(元素摘要),就像为每个社区地标创建简短的概况。
接着,利用先进的城市分析工具(如 Leiden 社区检测算法),规划者将这些元素分组为自然社区,就像在城市中识别出不同的街区或行政区一样。最后,他们为每个社区制作详细的“社区报告”(社区摘要),提供一个丰富、多层次的全城指南。通过索引阶段,我们就创建了一个全面、分层次的、从单个建筑到整个区域的城市景观理解。
图片来源:Arxiv,《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》
当需要进行检索时,GraphRAG 在处理全局范围的查询时表现出色。它不会向随机位置派遣调查员,而是参考预先准备的社区报告。每个社区以其本地视角对全局问题作出贡献,就像城市规划师结合各个行政区的反馈来理解全市趋势一样。这种方法在处理“全局”问题时特别有效,给到答案的广度和多样性方面都优于传统方法。
论文中还提到了一个非常有趣的结论,文本块的大小至关重要。例如,使用 600 个 token 比使用 2400 个 token 可以获得更多的提取实体(见上图)。但这需要做一些平衡,因为文本块太小可能会导致上下文信息丢失。
正如我们之前多次讨论过的,在使用大模型时,我们总是要在成本、延迟、隐私和准确性之间进行平衡。图的性能伴随着更多的 token 数量和推理时间,因此采用与否在很大程度上取决于具体的应用场景,以及基于图的摘要是否是最优方案。
图片来源: Gradientflow 博客
04
关键区别:GraphRAG vs PAPTOR
这时可能有人会问,GraphRAG 与目前 RAG 技术中常用的 RAPTOR 有何不同。可以沿用之前的比喻概括一下,如果把 RAPTOR 看作是建筑师在设计一栋多层的高楼,从每一层楼向下看,都能看到城市的不同细节:
-
一楼有特定地点的详细信息;
-
随着楼层的上升,每层都提供一个更概括的视角,覆盖更大的区域;
-
顶层可以鸟瞰整个城市。
回答问题时,Raptor 会在这栋大楼中上下移动,根据需要从不同楼层收集信息。对于需要结合具体细节和宏观背景的复杂问题,它尤其有效。
图片来源:Arxiv,《RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval》GraphRAG vs RAPTOR 的主要区别如下:
-
GraphRAG 侧重于城市不同部分之间的联系(实体之间的关系),而 Raptor 则按信息的抽象程度来组织信息;
-
GraphRAG 最适用于需要全面了解整个城市的问题,显示所有事物之间的相互关系。Raptor 则擅长处理需要将城市不同部分的具体细节拼凑在一起,同时保留更广泛背景的问题。
-
GraphRAG 的优势在于展示城市的多样性和相互关联性。Raptor 的优势在于能在详细信息和摘要信息之间有效切换。
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓