深入解析 Graph RAG:提升语言模型问答能力的创新策略

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

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

涵盖的主题:

  • 介绍 RAG
  • 为什么使用图?
  • Graph RAG 的应用
  • RAG 是什么?
  • 将 RAG 应用于私有数据集
  • 总结

在这里插入图片描述

介绍 RAG:

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

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

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

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

  • 将文档分割成均匀的块。
  • 每个块是一段原始文本。
  • 为每个块生成嵌入(例如,使用 OpenAI 嵌入、sentence_transformer),通过编码器并将其存储在数据库中。
  • 寻找最相似的 Top-K 编码块,获取这些块的原始文本,并将其作为上下文与提示一起提供给生成器

在这里插入图片描述

为什么使用图?

图,由节点(顶点)和边(连接)组成,自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 特别实现了两件事:

  • 提高搜索相关性。
  • 实现可能需要非常大上下文的新场景。例如,发现数据趋势、进行摘要等。

它是如何做到的?

源文档 → 文本块

  • 粒度:将源文档的输入文本分割成块。
  • 权衡:更长的块需要更少的 LLM 调用,但可能因为较长的上下文窗口而降低召回率
  • 示例:在 HotPotQA 数据集上,600 词元的块大小提取的实体引用几乎是 2400 词元块大小的两倍。

文本块 → 元素实例

  • 目标:从文本块中识别和提取图节点和边。
  • 过程:使用 LLM 提示识别实体和关系,输出限定元组。
  • 定制化:用特定领域的少数示例来定制提示。
  • 效率:多轮“收获”确保在不牺牲块大小的情况下检测到更多实体。

元素实例 → 元素摘要

  • 摘要:LLM 抽象并总结文本中的实体、关系和主张。
  • 处理重复:尽管存在实体引用的潜在不一致性,但由于检测到密切相关的实体及其摘要,该方法具有韧性。

元素摘要 → 图社区

  • 图建模:创建一个无向加权图,其中节点是实体,边是关系。
  • 社区检测:使用 Leiden 算法将图分割成层次化社区,以实现高效的全局摘要。

图社区 → 社区摘要

  • 摘要创建:为每个社区生成报告式摘要。
  • 实用性:摘要有助于理解数据集的全局结构和语义,辅助回答全局查询。

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

  • 查询处理:使用社区摘要生成回答。
  • 中间回答:将摘要分成块,LLM 根据帮助度分数生成回答。
  • 最终回答:将得分最高的中间回答合并成最终的全局回答。

在这里插入图片描述

将 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 首先能够多好地提取关系,同时并非所有数据都是或可以以图形结构展示,这样的考虑会产生什么影响,尚待观察。

程序员为什么要学大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《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大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值