近期,微软开源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 的优势在于能在详细信息和摘要信息之间有效切换。
如何系统的去学习AI大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
阶段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.2.1 什么是Prompt
- L2.2.2 Prompt框架应用现状
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架与Thought
- L2.2.5 Prompt框架与提示词 - L2.3 流水线工程
- L2.3.1 流水线工程的概念
- L2.3.2 流水线工程的优点
- L2.3.3 流水线工程的应用 - L2.4 总结与展望
- L2.1 API接口
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的设计理念
- L3.1.2 Agent模型框架的核心组件
- L3.1.3 Agent模型框架的实现细节 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的应用场景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特点
- L3.3.2 ChatGLM的开发环境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特点
- L3.4.2 LLAMA的开发环境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介绍
- L3.1 Agent模型框架
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的所有 ⚡️ 大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
全套 《LLM大模型入门+进阶学习资源包》↓↓↓ 获取~