链载Ai

标题: 深入解析 Graph RAG:提升语言模型问答能力的创新策略 [打印本页]

作者: 链载Ai    时间: 8 小时前
标题: 深入解析 Graph RAG:提升语言模型问答能力的创新策略

引言

之前的文章已经深入探讨了 RAG(检索增强生成)。今天,我们要介绍一篇名为 Graph RAG 的新论文。大语言模型(LLM)问世后不久,RAG 就成为了生成式 AI 领域的热门话题。但这些系统并非没有挑战。虽然它提升了 LLM 的功能,同时也带来了一系列新问题,每个问题都需要独特的解决方案。去年以来,已经发展出多种策略,让 RAG 系统变得更稳定、更灵活。今天,我们同样努力地将介绍 Graph RAG。

RAG 在处理针对整个文本集的全局性问题时表现不佳,比如询问“数据集的主要主题是什么?”,因为这本质上是一个查询聚焦的摘要任务,而不是一个直接的检索任务。Graph RAG 正是为了解决这类问题而设计的。那么,让我们开始吧。

涵盖的主题:

介绍 RAG:

简而言之,RAG 就是为我们的大语言模型(LLM)提供额外上下文的技术,以生成更准确、更具针对性的回答。虽然 LLM 在公开可用的数据上训练得非常聪明,但它们缺乏回答特定问题所需的上下文。通过 RAG,我们能为它们提供解答我们问题的必要上下文。

RAG 是一种向我们的 LLM 插入新知识或能力的方式,但这种知识插入并不是永久的。另一种向 LLM 添加新知识或能力的方法是通过对特定数据进行细致调整(Fine Tuning)。

通过细致调整添加新知识相当复杂、困难、昂贵,并且是永久的。甚至,细致调整添加的新能力可能会影响它之前拥有的知识。在细致调整过程中,我们无法控制哪些权重会被改变,因此哪些能力会增强或减弱。

现在,我们选择细致调整、RAG 还是两者的结合,完全取决于我们面对的任务。没有一种方法能适用于所有情况。

为什么使用图?

图,由节点(顶点)和边(连接)组成,自18世纪以来就在数据表示中扮演着核心角色。它们在现代 AI 中尤为重要,理由有几个:

知识图谱用于存储关系:

知识图谱表示现实世界实体及其相互关系。在现实世界中,数据的自然排列往往就是图形结构的。比如,我们在社交媒体上形成的联系就遵循图形结构。

图有两个基本组成部分,节点代表实体(人、地点、事件),边代表关系,通常带有描述这些关系性质的标签。例如,用节点代表 Susannah 和 Salesforce,并通过一个标有“工作于”的边连接它们来表示“Susannah 在 Salesforce 工作”。

知识图谱帮助机器理解和模拟语义,提高 AI 响应的质量,并增强预测模型,如推荐引擎。

数据图用于在 AI 规模下存储和检索:

数据图存储复杂关系,并能高效检索数据。这里,节点代表数据对象,边代表这些对象之间的关系。例如,数据云中的数据图将层次关系简化为单一记录,提高查询处理速度。这种结构也有助于高效地实时数据检索,这对于需要快速响应大量数据集的许多 AI 应用至关重要。

Graph RAG 的应用是什么?

Graph RAG(图检索增强生成)是一种先进的方法,将基于图的数据结构与检索增强生成技术结合起来,以增强语言模型的能力。Graph RAG 旨在对规模化的私有文本库进行问答,能够处理用户问题的普遍性和需要索引的源文本数量。Graph RAG 使用 LLM 构建基于图的文本索引,然后利用它来回答全局性的问题。该过程分为两个阶段:

给定一个问题,每个社区摘要用于生成部分回答,然后将所有部分回答汇总成最终用户的回答。

对于数据集规模在 100 万词元范围内的全局性问题,该论文显示,Graph RAG 在生成答案的全面性和多样性方面,相比于基础 RAG 模型有显著提升。

Graph RAG 是什么?

Graph RAG 是一个两步骤过程:首先,通过对私有数据进行索引创建由 LLM 派生的知识图谱。这些图谱作为 LLM 的记忆表示,可以被后续步骤用于更有效的检索。

系统的第二部分是利用这些预建索引的 LLM 协调机制,创建了一个更优的 RAG 流程,能够一次性理解整个数据集。

Graph RAG 特别实现了两件事:

它是如何做到的?

源文档 → 文本块

文本块 → 元素实例

元素实例 → 元素摘要

元素摘要 → 图社区

图社区 → 社区摘要

社区摘要 → 社区回答 → 全局回答

将 RAG 应用于私有数据集

为了展示 GraphRAG 的有效性,研究人员提供了一个示例案例,我们从使用新闻文章中的暴力事件信息(VIINA)数据集开始进行调查。由于其复杂性和存在不同观点及片面信息,选择了这个数据集。这是一个足够新的、不包括在 LLM 基础模型训练中的现实世界测试案例。

我们从 2023 年 6 月的俄罗斯和乌克兰新闻来源的新闻文章开始,翻译成英文,以此创建我们将进行基于 LLM 检索的私有数据集。数据集的规模远远超出了 LLM 上下文窗口的容量,因此需要采用 RAG 方法。

我们首先进行一个探索性查询,将其提交给基线 RAG 系统和我们的新方法,GraphRAG:

查询:“Novorossiya 是什么?”

在这些结果中,我们可以看到两个系统都表现良好——突出显示了基线 RAG 表现良好的查询类型。让我们尝试一个需要连接点的查询:

查询:“Novorossiya 做了什么?”

基线 RAG 无法回答这个问题。查看插入到上下文窗口的源文档(图 1),没有文本段讨论 Novorossiya,导致这一失败。

相比之下,GraphRAG 方法发现了查询中的一个实体,Novorossiya。这使得 LLM 能够在图中定位自己,并产生了一个包含原始支持文本链接的优越回答。例如,下面的图 2 显示了 LLM 用于生成声明“Novorossiya 被涉嫌计划炸毁 ATM 机”的确切内容。我们看到了 LLM 用来支持特定银行是 Novorossiya 目标的断言的原始源文档的片段(经过英文翻译),通过图中存在的两个实体之间的关系。

通过使用 LLM 生成的知识图谱,GraphRAG 大大改进了 RAG 的“检索”部分,用更高相关性的内容填充上下文窗口,从而获得更好的答案并捕获证据来源。

能够信任并验证 LLM 生成结果的重要性始终存在。我们关心结果是否事实正确、连贯,并准确代表源材料中的内容。GraphRAG 提供了证据来源或源定位信息,因为它生成每个响应。拥有每个断言的引用来源也使人类用户能够快速、准确地直接针对原始源材料审计 LLM 的输出。

结论

这个想法看起来很酷,但其成功取决于 LLM 首先能够多好地提取关系,同时并非所有数据都是或可以以图形结构展示,这样的考虑会产生什么影响,尚待观察。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5