设备之心报告
编辑:Panda W
知识图谱从不退环境!
LLM 很强大,但亦存在有些显著缺点,例如幻觉问题、可解释性差、抓不住问题重点、隐私和安全问题等。检索加强式生成(RAG)可大幅提高 LLM 的生成质量和结果有用性。
本月初,微软发布最强 RAG 知识库开源方法 GraphRAG,项目上线即爆火,现在星标量已然达到 10.5 k。
项目位置:https://github.com/microsoft/graphrag官方文档:https://microsoft.github.io/graphrag/
有人暗示,它比普通的 RAG 更强大:
GraphRAG 运用 LLM 生成知识图谱,在对繁杂信息进行文档分析时可明显加强问答性能,尤其是在处理私有数据时。
GraphRAG 和传统 RAG 对比结果
现如今,RAG 是一种运用真实世界信息改进 LLM 输出的技术,是大都数基于 LLM 的工具的重要构成部分,通常而言,RAG 运用向量类似性做为搜索,叫作之为 Baseline RAG(基准RAG)。但 Baseline RAG 在某些状况下表现并不完美。例如: Baseline RAG 难以将各个点连接起来。当回答问题需要经过共享属性遍历区别的信息片段以供给新的综合见解时,就会出现这种状况;当被需求全面理解大型数据集乃至单个大型文档中的总结语义概念时,Baseline RAG 表现不良。
微软提出的 GraphRAG 利用 LLM 按照输入的文本库创建一个知识图谱。这个图谱结合社区摘要和图设备学习的输出,在查找时加强提示。GraphRAG 在回答以上两类问题时表示出明显的改进,展现了在处理私有数据集上超越以往办法的性能。
不外,随着大众对 GraphRAG 的深入认识,她们发掘其原理和内容真的让人很难理解。
近期,Neo4j 机构 CTO Philip Rathle 发布了一篇标题为《GraphRAG 宣言:将知识加入到生成式 AI 中》的博客文案,Rathle 用通俗易懂的语言仔细介绍了 GraphRAG 的原理、与传统 RAG 的区别、GraphRAG 的优良等。
他暗示:「你的下一个生成式 AI 应用很可能就会用上知识图谱。」
Neo4j CTO Philip Rathle
下面来看这篇文案。
咱们正在逐步认识到这一点:要运用生成式 AI 做有些真正有道理的事情,你就不可只依靠自回归 LLM 来帮你做决定。
我晓得你在想什么:「用 RAG 呀。」或微调,又或等待 GPT-5。
是的。基于向量的检索加强式生成(RAG)和微调等技术能帮到你。况且它们亦确实能足够好地处理某些用例。但有一类用例却会让所有这些技术折戟沉沙。
针对非常多问题,基于向量的 RAG(以及微调)的处理办法本质上便是增大正确答案的概率。然则这两种技术都没法供给正确答案的确定程度。它们一般缺乏背景信息,难以与你已然晓得的东西建立联系。另外,这些工具亦不会供给线索让你认识特定决策的原由。
让咱们把视线转回 2012 年,那时候谷歌推出了自己的第二代搜索引擎,并发布了一篇标志性的博客文案《Introducing the Knowledge Graph: things, not strings》。她们发掘,倘若在执行各样字符串处理之外再运用知识图谱来组织所有网页中用字符串暗示的事物,那样有可能为搜索带来飞跃式的提高。
此刻,生成式 AI 行业亦显现了类似的模式。非常多生成式 AI 项目都遇到了瓶颈,其生成结果的质量受限于这一事实:处理方法处理的是字符串,而非事物。
快进到今天,前沿的 AI 工程师和学术科研者们重新发掘了谷歌曾经的发掘:打破这道瓶颈的秘诀便是知识图谱。换句话说,便是将相关事物的知识引入到基于统计的文本技术中。其工作方式就类似于其它 RAG,只不外除了向量索引外还要调用知识图谱。亦便是:GraphRAG!(GraphRAG = 知识图谱 + RAG)
本文的目的是全面且易懂地介绍 GraphRAG。科研显示,如果将你的数据构建成知识图谱并经过 RAG 来运用它,就能为你带来多种强劲优良。有海量科研证明,相比于仅运用普通向量的 RAG,GraphRAG 能更好地回答你向 LLM 提出的大部分乃至所有问题。
单这一项优良,就足以极重地推动人们采用 GraphRAG 了。
但还不止于此;因为在构建应用时数据是可见的,因此呢其研发起来亦更简单。
GraphRAG 的第三个优良是人类和设备都能很好地理解图谱并基于其执行推理。因此呢,运用 GraphRAG 构建应用会更简单容易,并得到更好的结果,同期还更便于解释和审计(这对非常多行业来讲至关重要)。
我相信 GraphRAG 将取代仅向量 RAG,作为大都数用例的默认 RAG 架构。本文将解释原由。
图谱是什么?
首要咱们必须阐明什么是图谱。
图谱,亦便是 graph,亦常被译为「图」,但亦因此呢容易与 image 和 picture 等概念混淆。本文为方便区分,仅采用「图谱」这一译法。
图谱大概长这般:
图谱示例
尽管这张图常做为知识图谱的示例,但其出处和作者已然不可考。
或这般:
《权力的游戏》名人关系图谱,来自 William Lyon
或这般:
伦敦轻轨地图。有趣小知识:伦敦交通局前段时间安排了一个基于图谱的数字孪生应用,以提高事故响应能力并减少拥堵。
换句话说,图谱不是图表。
这儿咱们就不太多纠结于定义问题,就假设你已然明白图谱是什么了。
倘若你理解上面几张照片,那样你亦许能看出来能够怎样查找其底层的知识图谱数据(存储在图谱数据库中),并将其用作 RAG 工作流程的一部分。亦便是 GraphRAG。
两种呈现知识的形式:向量和图谱
典型 RAG 的核心是向量搜索,亦便是按照输入的文本块从候选的书面材料中找到并返回概念类似的文本。这种自动化很好用,基本的搜索都大有用途。
但你每次执行搜索时,可能并未思考过向量是什么或类似度计算是怎么实现的。下面咱们来瞧瞧 Apple(苹果)。它在人类视角、向量视角和图谱视角下呈现出了区别的形式:
人类视角、向量视角和图谱视角下的 Apple
在人类看来,苹果的表征很繁杂并且是多维度的,其特征没法被完整地描述到纸面上。这儿咱们能够充满诗意地想象这张红彤彤的照片能够在感知和概念上暗示一个苹果。
这个苹果的向量暗示是一个数组。向量的神奇之处在于它们各自以编码形式捕捉了其对应文本的本质。但在 RAG 语境中,仅有当你需要确定一段文本与另一段文本的类似度时,才需要向量。为此,只需简单地执行类似度计算并检测匹配程度。然则,倘若你想理解向量内部的含义、了解文本中暗示的事物、洞察其与更大规模语境的关系,那运用向量暗示法就无能为力了。
相较之下,知识图谱是以描述式(declarative)的形式来暗示世界 —— 用 AI 行业的术语来讲,亦便是符号式(symbolic)。因此呢,人类和设备都能够理解知识图谱并基于其执行推理。这很重要,咱们后面还会说到。
另外,你还能够查找、可视化、标注、修改和延展知识图谱。知识图谱便是世界模型,能暗示你当前工作行业的世界。
GraphRAG 与 RAG
这两者并不是竞争关系。对 RAG 来讲,向量查找和图谱查找都特别有用。正如 LlamaIndex 的创始人 Jerry Liu 指出的那样:思考 GraphRAG 时,将向量包括进来会特别有帮忙。这区别于「仅向量 RAG」—— 完全基于文本嵌入之间的类似度。
基本上讲,GraphRAG 便是一种 RAG,只是其检索路径包括知识图谱。下面你会看到,GraphRAG 的核心模式非常简单。其架构与运用向量的 RAG 同样,但其中包括知识图谱层。
GraphRAG 模式
GraphRAG 的一种常用模式
能够看到,上图中触发了一次图谱查找。其能够选取是不是包括向量类似度组件。你能够选取将图谱和向量掰开存储在两个区别的数据库中,亦可运用 Neo4j 等支持向量搜索的图谱数据库。
下面给出了一种运用 GraphRAG 的常用模式:
1. 执行一次向量搜索或关键词搜索,找到一组初始节点;
2. 遍历图谱,带回关联节点的信息;
3.(可选)运用 PageRank 等基于图谱的排名算法对文档进行重新排名
用例区别,运用模式亦会不同样。和当今 AI 行业的各个科研方向同样,GraphRAG 亦是一个科研丰富的行业,每周都有新发掘涌现。
GraphRAG 的生命周期
运用 GraphRAG 的生成式 AI 亦遵循其它任意 RAG 应用的模式,一起始有一个「创建图谱」过程:
GraphRAG 的生命周期
创建图谱类似于对文档进行分块并将其加载到向量数据库中。工具的发展进步已然让图谱创建变得相当简单。这儿有三个好信息:
1. 图谱有很好的迭代性 —— 你能够从一个「最小可行图谱」起始,而后基于其进行延展。
2. 一旦将数据加入到了知识图谱中,就能很容易地演进它。你能够添加更加多类型的数据,从而得到并利用数据网络效应。你还能够加强数据的质量,以提高应用的价值。
3. 该行业发展快速,这就寓意着随着工具愈发繁杂精妙,图谱创建只会越来越容易容易。
在之前的照片中加入图谱创建过程,能够得到如下所示的工作流程:
添加图谱创建过程
下面来瞧瞧 GraphRAG 能带来什么好处。
为何要运用 GraphRAG?
相较于仅向量 RAG,GraphRAG 的优良重点分为三大类:
1. 准确度更高且答案更完整(运行时间 / 生产优良)
2. 一旦创建好知识图谱,那样构建和守护 RAG 应用都会更易(研发时间优良)
3. 可解释性、可追溯性和拜访掌控方面都更好(治理优良)
下面深入介绍这些优良。
1. 准确度更高且答案更有用
GraphRAG 的第1个优良(亦是最直接可见的优良)是其响应质量更高。不管是学术界还是产业界,咱们都能看到非常多证据支持这一观察。
例如这个来自数据目录机构 Data.world 的示例。2023 年底,她们发布了一份科研报告,显示在 43 个业务问题上,GraphRAG 可将 LLM 响应的准确度平均提高 3 倍。这项基准评测科研给出了知识图谱能大幅提高响应准确度的证据。
知识图谱将 LLM 响应的准确度提高了 54.2 个百分点,亦便是大约提高了 3 倍
微软亦给出了一系列证据,包含 2024 年 2 月的一篇科研博客《GraphRAG: Unlocking LLM discovery on narrative private data》以及关联的科研论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》和软件:https://github.com/microsoft/graphrag(即上文开篇说到的 GraphRAG)。
其中,她们观察到运用向量的基线 RAG 存在以下两个问题: 基线 RAG 难以将点连接起来。为了综合区别的信息来得到新见解,需要经过共享属性遍历区别的信息片段,此时候,基线 RAG 就难以将区别的信息片段连接起来。当被需求全面理解在大型数据集合乃至单个大型文档上归纳总结的语义概念时,基线 RAG 表现不良。
微软发掘:「经过运用 LLM 生成的知识图谱,GraphRAG 能够大幅提高 RAG 的「检索」部分,为上下文窗口填入关联性更高的内容,从而得到更好的答案并获取证据源自。」他们还发掘,相比于其它替代办法,GraphRAG 所需的 token 数量能够少 26% 到 97%,因此呢其不仅能给出更好的答案,况且成本更低,扩展性亦更好。
进一步深入准确度方面,咱们晓得答案正确固然重要,但答案亦要有用才行。人们发掘,GraphRAG 不仅能让答案更准确,况且还能让答案更丰富、更完整、更有用。
领英近期的论文《Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering》便是一个出色的范例,其中描述了 GraphRAG 对其客户服务应用的影响。GraphRAG 提高了其客户服务答案的正确性和丰富度,亦因此呢让答案更加有用,还让其客户服务团队处理每一个问题的时间中位数降低了 28.6%。
Neo4j 的生成式 AI 研讨会亦有一个类似的例子。如下所示,这是针对一组 SEC 备案文件,「向量 + GraphRAG」与「仅向量」办法得到的答案:
「仅向量」与「向量 + GraphRAG」办法对比
请重视「描述可能受锂短缺影响的机构的特征」与「列出可能受影响的详细机构」之间的区别。倘若你是一位想要按照市场变化重新平衡投资组合的投资者,或一家想要按照自然灾害重新调节供应链的机构,那样上图右侧的信息肯定比左侧的重要得多。这儿,这两个答案都是准确的。但右侧答案显著更有用。
Jesus Barrasa 的《Going Meta》节目第 23 期给出了另一个绝佳示例:从词汇图谱起始运用法律文件。
咱们亦时不时会看到来自学术界和产业界的新示例。例如 Lettria 的 Charles Borderie 就给出了一个「仅向量」与「向量 + GraphRAG」办法的对比示例;其中 GraphRAG 依托于一个基于 LLM 的文本到图谱工作流程,将 10,000 篇金融文案整理成为了一个知识图谱:
仅检索器办法与图检索器办法的对比
能够看到,相比于运用普通 RAG,运用 GraphRAG 不仅能提高答案的质量,并且其答案的 token 数量亦少了三分之一。
再举一个来自 Writer 的例子。她们近期发布了一份基于 RobustQA 框架的 RAG 基准评测报告,其中对比了她们的基于 GraphRAG 的办法与其它同类工具。GraphRAG 得到的分数是 86%,显著优于其它办法(在 33% 到 76% 之间),同期还有相近或更好的延迟性能。
RAG 办法的准确度和响应时间评定结果
GraphRAG 正在给多种多样的生成式 AI 应用带去助益。知识图谱打开了让生成式 AI 的结果更准确和更有用的道路。
2. 数据理解得到提高,迭代速度更快
不管是概念上还是视觉上,知识图谱都很直观。探索知识图谱常常能带来新的见解。
非常多知识图谱用户都分享了这般的意外收获:一旦投入心力完成为了自己的知识图谱,那样它就能以一种意想不到的方式帮忙她们构建和调试自己的生成式 AI 应用。部分原由是倘若能以图谱的形式看待数据,那便能看到这些应用底层的数据呈现出了一副生动的数据图景。
图谱能让你追溯答案,找到数据,并一路追溯其因果链。
咱们来瞧瞧上面相关锂短缺的例子。倘若你可视化其向量,那样你会得到类似下图的结果,只不外行列数量都更加多。
向量可视化
而倘若将数据转换成图谱,则你能以一种向量暗示做不到的方式来理解它。
以下是 LlamaIndex 近期的网络研讨会上的一个例子,展示了她们运用「MENTIONS(提及)」关系提取向量化词块(词汇图谱)和 LLM 提取实体(行业图谱)的图谱并将两者联系起来的能力:
提取词汇图谱和行业图谱
(亦有非常多运用 Langchain、Haystack 和 SpringAI 等工具的例子。)
你能够看到此图中数据的丰富结构,亦能想象其所能带来的新的研发和调试可能性。其中,各个数据都有各自的值,而结构本身亦存储和传达了额外的含义,你可将其用于提高应用的智能水平。
这不仅是可视化。这亦是让你的数据结构能传达和存储道理。下面是一位来自一家著名金融科技机构的研发者的反应,当时她们刚把知识图谱引入 RAG 工作流程1星期时间:
研发者对 GraphRAG 的反应
这位研发者的反应非常符合「测试驱动的研发」假设,即验证(而非信任)答案是不是正确。就我个人而言,倘若让我百分之百地将自主权交给决策完全不透明的 AI,我会感到毛骨悚然。更详细而言,就算你不是一个 AI 末日论者,你亦会同意:倘若能不将与「Apple, Inc.」相关的词块或文档映射到「Apple Corps」(这是两家完全不同样的机构),确实会大有价值。因为推动生成式 AI 决策的最后还是数据,因此呢能够说评定和保证数据正确性才是最至关重要的。
3. 治理:可解释性、安全及更加多
生成式 AI 决策的影响越大,你就越需要说服在决策出错时需要最后负责的人。这一般触及到审计每一个决策。这就需要靠谱且重复的优良决策记录。但这还不足。在采纳或放弃一个决策时,你还需要解释其背面的原由。
LLM 本身没法很好地做到这一点。是的,你能够参考用于得到该决策的文档。但这些文档并不可解释这个决策本身 —— 更别说 LLM 还会编造参考源自。知识图谱则完全在另一个层面上,能让生成式 AI 的推理规律更加明晰,亦更易解释输入。
继续来看上面的一个例子:Lettria 的 Charles 将从 10,000 篇金融文案提取出的实体载入到了一个知识图谱中,并搭配一个 LLM 来执行 GraphRAG。咱们看到这确实能供给更好的答案。咱们来瞧瞧这些数据:
将从 10,000 篇金融文案提取出的实体载入知识图谱
首要,将数据看作图谱。另一,咱们亦能够导览和查找这些数据,还能随时修正和更新它们。其治理优良在于:查看和审计这些数据的「世界模型」变得简单了非常多。相较于运用同一数据的向量版本,运用图谱让最后负责人更可能理处理策背面的原由。
在保证质量方面,倘若能将数据放在知识图谱中,则就能更容易地找到其中的错误和意外并且追溯它们的源头。你还能在图谱中获取源自和置信度信息,而后将其用于计算以及解释。而运用一样数据的仅向量版本基本就没法做到这一点,正如咱们之前讨论的那样,通常人(乃至不通常的人)都很难理解向量化的数据。
知识图谱还能够明显加强安全性和隐私性。
在构建原型设计时,安全性和隐私性一般不是很重要,但倘若要将其打导致制品,那这就至关重要了。在银行或医疗等受监管的行业,任何员工的数据拜访权限都取决于其工作岗位。
不管是 LLM 还是向量数据库,都无很好的方法来限制数据的拜访范围。知识图谱却能供给很好的处理方法,经过权限掌控来规范参与者可拜访数据库的范围,不让她们看到不准许她们看的数据。下面是一个可在知识图谱中实现细粒度权限掌控的简单安全策略:
可在知识图谱中实现的一种简单安全策略
创建知识图谱
构建知识图谱需要什么?第1步是认识两种与生成式 AI 应用最相关的图谱。
行业图谱(domain graph)暗示的是与当前应用关联的世界模型。这儿有一个简单示例:
行业图谱
词汇图谱(lexical graph)则是文档结构的图谱。最基本的词汇图谱由词块形成的节点构成:
词汇图谱
人们常常会对其进行扩展,以包括词块、文档对象(例如表格)、章节、段落、页码、文档名叫作或编号、文集、源自等之间的关系。你还能够将行业图谱和词汇图谱组合到一块,如下所示:
将行业层和词汇层组合起来
词汇图谱的创建很简单,重点便是简单的解析和分块。至于行业图谱,则按照数据源自(来自结构化数据源还是非结构化数据源或两种源自都有)的区别,有区别的创建路径。幸运的是,从非结构化数据源创建知识图谱的工具正在飞速发展。
举个例子,新的 Neo4j Knowledge Graph Builder 能够运用 PDF 文档、网页、YouTube 视频、维基百科文案来自动创建知识图谱。全部过程非常简单,点几下按钮就可,而后你就能可视化和查找你输入的文本的行业和词汇图谱。这个工具很强大,亦特别有趣,能极重降低创建知识图谱的门槛。
至于结构化数据(例如你的机构存储的相关客户、制品、地理位置等的结构化数据),则能直接映射成知识图谱。举个例子,针对最平常的存储在关系数据库中的结构化数据,能够运用有些标准工具基于经过验证的靠谱规则将关系映射成图谱。
运用知识图谱
有了知识图谱后,就能够做 GraphRAG 了,为此有很多框架可选,例如 LlamaIndex Property Graph Index、Langchain 整合的 Neo4j 以及 Haystack 整合的版本。这个行业发展火速,但此刻编程办法正在变得非常简单。
在图谱创建方面亦是如此,此刻已然显现了 Neo4j Importer(可经过图形化界面将表格数据导入和映射为图谱)和前面说到的 Neo4j Knowledge Graph Builder 等工具。下图总结了构建知识图谱的过程。
自动构建用于生成式 AI 的知识图谱
运用知识图谱还能将人类语言的问题映射成图谱数据库查找。Neo4j 发布了一款开源工具 NeoConverse,可帮忙运用自然语言来查找知识图谱:https://neo4j.com/labs/genai-ecosystem/neoconverse/
虽然起始运用图谱时确实需要花一番功夫来学习,但好信息是随着工具的发展,这会越来越简单。
总结:GraphRAG 是 RAG 的必定将来
LLM 固有的基于词的计算和语言技能加上基于向量的 RAG 能带来非常好的结果。为了稳定地得到好结果,就必须超越字符串层面,构建词模型之上的世界模型。一样地,谷歌发掘为了把握搜索能力,她们就必须超越单纯的文本分析,绘制出字符串所表率的事物之间的关系。咱们起始看到 AI 世界亦正在显现一样的模式。这个模式便是 GraphRAG。
技术的发展曲线呈现出 S 型:一项技术达到顶峰后,另一项技术便会推动进步并超越前者。随着生成式 AI 的发展,关联应用的需求亦会提高 —— 从高质量答案到可解释性再到对数据拜访权限的细粒度掌控以及隐私和安全,知识图谱的价值亦会随之愈发凸显。
生成式 AI 的进化
你的下一个生成式 AI 应用很可能就会用上知识图谱。
参考链接:https://neo4j.com/blog/graphrag-manifesto/
|