知识密集型行业将是人工智能的主要应用方向。然而,理解庞大的非结构化信息仍然是一个重大挑战。此时,GraphRAG登场。
微软研究院刚刚发布了这一开创性方法的代码。
但它是如何运作的呢?在其核心,GraphRAG是检索增强生成(RAG)的进化。传统的RAG通过在查询处理过程中提供相关的上下文信息来增强大型语言模型(LLM)的性能。GraphRAG更进一步。它将LLM生成的知识图谱与先进的图机器学习技术相结合。
这一过程复杂而强大。
-
首先,GraphRAG使用LLM处理整个数据集,提取实体和关系。这些构成了一个全面的知识图谱的基本要素。
-
接下来,它应用社区检测算法,识别密切相关实体的集群。
-
系统然后创建这些实体和关系的嵌入,实现语义搜索功能。
-
当一个查询进来时,GraphRAG可以执行两种类型的搜索。
-
对于广泛的问题,它使用全局搜索,遍历整个图谱以总结主题和概念。
-
对于具体的查询,它采用局部搜索,提取相关的子图并结合图结构和原始文本数据以提供详细的、具有上下文的答案。
风险很大。
GraphRAG可能改变我们在各个领域与大型数据集互动的方式。从商业智能到科学研究,从法律发现到医疗分析,潜在的应用是广泛的。它承诺发现隐藏的见解,连接分散的信息片段,并提供更全面、更细致的复杂查询答案。
然而,普及GraphRAG的道路并非没有挑战。
工业化GraphRAG面临几个障碍。
可扩展性是主要关注点。随着数据集的增长,图构建和查询的计算强度呈指数增长。目前的实现可能会在处理真正庞大的数据集时遇到困难。此外,系统对于实体和关系提取依赖于LLM可能引入潜在瓶颈。
API配额和处理能力限制可能会限制图构建的速度和规模。使用诸如NetworkX之类的库进行图操作,也可能会成为处理非常大图时的性能问题。
然而,这些挑战也为改进提供了机会。实施分布式图处理框架可以显著提升可扩展性。开发更高效的实体消歧技术将提高知识图的准确性。
整合外部知识库可以提供额外上下文并填补提取知识的空白。GraphRAG的时间推理能力还有提升空间,扩展其对多模态数据的支持,并提高其可解释性。
在接下来的部分中,我们将分析GraphRAG的内部运作,探讨其主要优势,并审视这项有前景的技术的未来路线。
Graph by AI
什么是GraphRAG以及它是如何工作的?
GraphRAG演进了检索增强生成。它解决了传统RAG系统的关键局限性。标准的RAG依赖矢量相似性搜索。GraphRAG更进一步。它构建整个数据集的丰富结构化表示形式,作为知识图。
在GraphRAG的核心是其LLM生成的知识图。创作过程非常迷人:
1.首先,实体和关系提取。一个大型语言模型处理整个数据集。它提取实体和关系,由自定义提示指导。这些形成了图结构的构建块。
2.接下来是图谱构建。实体变成节点。关系形成边缘。像NetworkX这样的图数据库可能创建这种基础结构。
3.然后,社区检测算法开始工作。他们识别紧密相关实体的群集。这些社区支撑语义分组和更高级别的主题识别。
4.图嵌入跟随。实体(可能还有关系)嵌入到矢量空间中。这使得语义搜索能力超越了简单的关键字匹配。
5.最后,分层聚类组织数据。它在各个抽象层次创建语义集群,使用知识图作为基础。
有了这种牢固的结构,GraphRAG在两种类型的查询中表现出色:
全局搜索解决广泛问题。“这些数据中的主题是什么?” 它穿越完整的图结构。它分析社区群集及其关系。通盘概念和模式浮现。一种类似map-reduce的算法可能推动该过程。“map”步骤查询每个社区群集。“reduce”步骤综合回应。
本地搜索处理有关实体或概念的特定查询。这是一个多步骤过程:
-
识别相关实体。
-
提取围绕它们的子图。
-
将图结构与原始文本数据结合。
-
在这个丰富的背景下应用向量相似性搜索。
-
使用LLM生成响应,受图形和文本启发。
GraphRAG在关键领域表现优异。它擅长连接不同信息。它总结整个数据集中的概念。它探索实体之间的关系,即使这些关系在任何单个文档中并未明确说明。
GraphRAG的关键优势和使用案例
GraphRAG 是一个游戏改变者。它独特的能力为知识发现和分析带来了显著好处。让我们来探索一下。
连接不同信息
GraphRAG 擅长于“串联脉络”。它将分布在多个文件或数据集部分中的信息联系起来。微软对 VIINA 数据集的测试证明了这一点。该数据集包含了来自 2023 年 6 月的成千上万篇俄罗斯和乌克兰新闻文章。
考虑这个复杂的查询:“新罗西亚做了什么?”GraphRAG从数据集中的多个来源中编制了一个全面的答案。系统详细描述了与“新罗西亚”有关的各种行动和事件。这些包括其在冲突中的参与、政治宣言和领土要求。这样的综合远远超过了简单的关键字搜索或标准 RAG 系统。
它是如何做到的呢?图谱结构是关键。它使 GraphRAG 能够遍历实体之间的关系。它遵循的连接并非仅从文本中立即显而易见。这导致了传统分析方法可能会错过的发现。
总结主题与概念
GraphRAG 在另一个至关重要的领域表现出色:高层次摘要。它识别了整个数据集中的关键主题。这种“整个数据集推理”是无价的。它有助于了解大型文档集的总体内容和焦点。
请 GraphRAG 识别数据集中的主题。看着它施展魔法。它利用了其知识图谱结构,特别是社区群集。结果呢?一个连贯、相关的摘要。与基准 RAG 系统不同,GraphRAG 不仅仅返回提到“主题”的文本片段。它分析了概念的普遍性和相互关系。它识别了真正重要的主题。
这一能力有着广泛的应用。在商业情报方面,公司可以发现新兴趋势。科学研究人员可以追踪思想演变。记者可以揭示文件泄露中的隐藏联系。政府机构可以为决策过程提供信息。
改进的性能指标
GraphRAG性能超过基准RAG系统,初步基准测试显示关键指标一致改善
-
全面性:回答涵盖更广的内容
-
人类赋权:对主张提供更好的支持证据
-
多样性:包括不同的观点以获得微妙的理解
-
事实准确性和连贯性:保持对源数据的忠实性
这些改进很重要。它们转化为一个更可信、更有用的系统,适用于实际应用。用户对信息的完整性和准确性获得了信心。他们也对复杂主题有了更细致的理解。
潜在使用案例
GraphRAG的潜力涵盖了各个领域。让我们探索一些:
-
企业知识管理:大型组织可以理清庞大的文件存储库。他们可以识别组织知识,追踪项目历史,并展示相关信息。
-
法律发现:律师事务所可以在案件文件中发现重要联系。他们可能发现手动审查会忽略的关系。
-
医疗研究:医学研究人员可以在病例记录和临床试验中发现模式。他们可以发现潜在的治疗相关性和需要进一步研究的领域。
-
情报分析:政府机构可以识别新兴威胁。他们可以追踪感兴趣实体之间的关系并综合不同的信息。
-
教育内容分析:机构可以创建更有效的学习资源。他们可以追踪教科书和学术论文中思想的发展。
-
金融分析:投资公司可以发现趋势并评估风险。他们可以在财务报告和市场数据中发现隐藏的潜在投资机会。
-
产品开发:公司可以引导创新努力。他们可以从客户反馈和市场调研中识别改进机会。
在每种情况下,GraphRAG增强了洞察发现。它连接信息,总结主题,并回答复杂的查询。结果呢?从庞大的非结构化数据集中获得更快、更高质量的洞察力。
工业化和改进GraphRAG
GraphRAG展现出巨大的潜力。然而,挑战依然存在。随着我们向更广泛的采用和工业化迈进,几个领域需要关注。
可扩展性:关键关注点
处理大型数据集并不容易。GraphRAG正面临这一挑战。让我们逐一分析:
-
图构建:这在计算上是密集的。使用LLM进行实体和关系提取需要大量资源。批处理有所帮助,但API配额和处理能力仍然限制了可扩展性。
-
存储:Azure Blob Storage和Cosmos DB构成了坚实的基础。但数据集在增长。仔细管理这些资源变得至关重要。必须保持性能。必须控制成本。
-
图处理:NetworkX目前表现良好。但对于非常大的图呢?我们可能需要更多的解决方案。像Apache Giraph或GraphX这样的分布式框架可能是答案。它们可以在构建和查询中提升可扩展性。
-
嵌入生成:这是另一个计算障碍。为实体和文本单元创建和更新嵌入并非易事。对于非常大的数据集,优化变得至关重要。
-
社区检测:随着图的扩大,我们面临的挑战也在增加。当前的算法可能不够用。我们需要更多可扩展的替代方案来保持高性能。
生产系统策略:让它奏效
在生产系统中部署GraphRAG?考虑这些策略
-
增量更新。只处理新的或变更的数据。这是高效的。它使知识图谱保持最新。
-
异步处理,使用基于队列的系统。处理大规模的更新和查询而不阻塞其他操作。
-
缓存和物化视图。提升查询性能。专注于常见问题和热门实体。
-
分片。将非常大的图谱分布在多个机器上。改善存储容量和查询性能。
-
流式更新。持续集成新数据。实时保持知识库的最新状态。
-
API管理。控制成本。确保一致的性能。实施排队 限速和优化提示。
当前的限制:改进的空间
GraphRAG 是一个重大进步。但它并不完美。这里是我们可以做得更好的地方:
-
实体消歧:这是一个大问题。目前,GraphRAG 在这方面存在问题。同一实体的不同提及可能会变成单独的节点。有歧义的引用可能无法正确解析。我们需要一个强大的消歧模块。它可以利用来自 SciSpaCy、自定义算法或外部知识库的技术。
-
外部知识集成:GraphRAG 从给定数据集中提取见解得很好。但它可以做得更多。与 Wikidata、DBpedia 或特定领域本体论的集成可以填补知识空白。
-
可解释性:GraphRAG 提供了一些出处。但复杂的查询需要更多。我们应该改进它解释其结论的方式,特别是对多跳知识图查询。
-
时间推理:增强 GraphRAG 对时间的理解。它可以更有效地跟踪事件或思想的演变。
-
多模态支持:文本只是个开始。想象一下 GraphRAG 处理图像、视频和结构化数据。其适用性将大幅扩展。
-
微调能力:让用户自定义。允许他们调整图构建和查询处理以满足特定领域的需求。
-
不确定性处理:实施方法来表示并推理不确定性。用户将更好地理解系统对输出的信心度。
前进的道路是清晰的。GraphRAG 有潜力。通过这些改进,它可以彻底改变我们与复杂数据集互动的方式。
结论
GraphRAG是一个改变LLM游戏规则的技术。它代表着从非结构化数据中获取洞察的改进。微软已经将大型语言模型与知识图谱融合在一起,创造出了一些非凡的东西。这个系统揭示了隐藏的联系,总结了复杂的主题,以前所未有的深度和细微之处回答了错综复杂的查询。
应用范围广泛而多样化。从企业应用到科研知识发现,从新闻编辑室到政策智库,GraphRAG的潜力无限。它为复杂查询提供了全面、多样化且有力支持的回应。现在,各个领域的知识工作者都有了一个强大的新盟友。
然而前方的道路并非一帆风顺。随着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 的正确特征了。