写点什么

下一代 RAG 技术来了!微软正式开源 GraphRAG:大模型行业将迎来新的升级?

  • 2024-07-05
    北京
  • 本文字数:3947 字

    阅读完需:约 13 分钟

下一代 RAG 技术来了!微软正式开源 GraphRAG:大模型行业将迎来新的升级?

这是增强大语言模型能力的一大进步,也是一种彻底改变企业私有数据分析的技术。


7 月 2 日,微软开源了 GraphRAG,一种基于图的检索增强生成 (RAG) 方法,可以对私有或以前未见过的数据集进行问答。在 GitHub 上推出后,该项目快速获得了 2700 颗 star!


开源地址:https://github.com/microsoft/graphrag


通过 LLM 构建知识图谱结合图机器学习,GraphRAG 极大增强 LLM 在处理私有数据时的性能,同时具备连点成线的跨大型数据集的复杂语义问题推理能力。普通 RAG 技术在私有数据,如企业的专有研究、商业文档表现非常差,而 GraphRAG 则基于前置的知识图谱、社区分层和语义总结以及图机器学习技术可以大幅度提供此类场景的性能。


微软在其博客上介绍说,他们在大规模播客以及新闻数据集上进行了测试,在全面性、多样性、赋权性方面,结果显示 GraphRAG 都优于朴素 RAG(70~80% 获胜率)。


与我们传统的 RAG 不同,GraphRAG 方法可以归结为:利用大型语言模型 (LLMs) 从您的来源中提取知识图谱;将此图谱聚类成不同粒度级别的相关实体社区;对于 RAG 操作,遍历所有社区以创建“社区答案”,并进行缩减以创建最终答案。




这个方法用微软高大上的说法是:



微软研究院于 4 月首次宣布推出 GraphRAG ,仅看到论文就让很多人有点等不及上手一试了,如今这项成果终于开源了,开发者们对此表现得超级兴奋:



太棒了,微软开源了 GraphRAG!看完演示视频后,我的脑海里充满了 GraphRAG 带来的各种可能性。我打算在  MacBook 上尝试使用 GraphRAG + Llama3,因为它有 96GB 的统一内存 (VRAM)。我认为这个工具绝对会带来颠覆性的改变。



从看了论文后,我就一直期待着能玩玩它。我曾想过根据论文自己实现它,不过我想官方的代码应该只会晚几周发布,事实证明我的耐心确实得到了回报 :)



我一直在等这一天!知识图谱并不是传统语义搜索的替代品,但它们确实在执行 RAG 操作时解锁了一系列全新能力,例如既可以沿着非常长的上下文向下遍历,又可以以一种连贯、高效的方式跨越不同的上下文进行遍历。


但值得一提的是,所有性能改进技术都有一个缺陷:token 的使用和推理时间都会增加…


解锁 LLM 在私有数据集中的探索能力


大语言模型最大的挑战和机遇或许在于如何将其强大的能力,应用到训练数据以外的问题解决中,利用大语言模型没有见过的数据取得可对比的结果。这将为数据调查开拓新的可能性,例如根据数据集的上下文和 ground 确定其主题和语义概念。


下面我们将具体介绍下微软研究院创建的 GraphRAG,这是增强大语言模型能力的一大进步。


检索增强生成(RAG)是一种根据用户的查询语句搜索信息,并以搜索结果为 AI 参考从而生成回答。这项技术是多数基于 LLM 工具的重要组成部分,而多数的 RAG 都采用向量相似性作为搜索的技术。在文档中复杂信息的分析时,GraphRAG 利用 LLM 生成的知识图谱大幅提升了问答的性能,这一点是建立在近期关于私有数据集中执行发现时提示词增强能力的研究之上。微软将私有数据集定义为未被 LLM 训练使用,且 LLM 从未见过的数据,例如某企业的专有研究、商业文件或通讯。


  • 基线 RAG(Baseline RAG)因此而生,但基准 RAG 在某些情况下表现非常差,例如:基线 RAG 很难连点成线。这种情况出现在问题的回答需要通过共用属性遍历不同信息片段以提供新的综合见解时。

  • 基线 RAG 在需要全面地理解大型数据集或单一大型文档的语义概念时,表现会很差。


为解决这一问题,业界正在努力开发扩展和增强 RAG 的方法(如 LlamaIndex)。微软研究院的新方法 GraphRAG 便是基于私有数据集创建知识图谱,并将图谱与机器学习一同用于在查询时执行提示词的增强。在回答上述两类问题情况时,GraphRAG 展示了显著的改进,其智能或者说精通的程度远超先前应用私有数据集的其他方法。


应用 RAG 于私有数据集


为证明 GraphRAG 的有效性,GraphRAG 先以新闻文章中暴力事件信息(VIINA)数据集为例,该数据集复杂且存在相左的意见和不完整的信息,是一个现实世界中杂乱的测试示例,又因其出现时间过于近期,所以并未被纳入 LLM 基础模型的训练中。


在这项研究中,微软采用了俄罗斯和乌克兰双方新闻来源在 2023 年 6 月中的上千篇新闻报道,将其翻译为英文后建成了这份将被用于基于 LLM 检索的私有数据集。由于数据集过大无法放入 LLM 上下文的窗口,因此需采用 RAG 方法。


微软团队首先向基线 RAG 系统和 GraphRAG 提出一个探索查询:


查询语句:“Novorossiya 是什么?”



通过结果可以看出,两个系统表现都很好,这是基线 RAG 表现出色的一类查询。然后他们换成了一段需要连点成线的查询:


查询语句:“Novorossiya 做了什么?”



基线 RAG 没能回答这一问题,根据图一中插入上下文窗口的源文件来看,没有任何文本片段提及“Novorossiya”,从而导致了这一失败。



图一:基线 RAG 检索到的上下文


相较之下,GraphRAG 方法发现了查询语句中的实体“Novorossiya”,让 LLM 能以此为基础建立图谱,连接原始支持文本从而生成包含出处的优质答案。举例来说,图二中展示了 LLM 在生成语句时所截取的内容,“Novorossiya 与摧毁自动取款机的计划有所关联。”可以从原始文本的片段(翻译为英文后)中看出,LLM 是通过图谱中两个实体之间的关系,断言 Novorossiya 将某一银行作为目标的。



图二:GraphRAG 出处


通过 LLM 生成的知识图谱,GraphRAG 大幅改善了 RAG 的“检索”能力;在上下文窗口中填充相关性更高的内容、捕捉出处论据从而提供更为优质的答案。


信任和验证 LLM 所生成的结果始终是重要的。微软希望结果总是事实性正确、连贯一致,并且能准确地反映原始材料中的内容。GraphRAG 每次生成回答时总会提供出处或源基础信息,表明它的回答时以数据集为基础的。每个论断的引用来源都一目了然,人类用户能够直接对照原始材料,快速且准确地审核 LLM 的输出结果。


不过这还不是 GraphRAG 可以实现的全部功能。


完整数据集推理


基线 RAG 不擅长处理需要汇总全部数据集信息才能得出答案的查询。类似“数据中排行前五的主题是什么?”的查询表现不佳,是因为基线 RAG 依赖对数据集中语义相似文本内容的矢量搜索,而查询语句中却没有任何能引导它找到正确信息的关键词。


但 GraphRAG 却可以回答这类问题。LLM 生成的知识图谱结构给出了数据集的整体结构和其中主题,让私有数据集也能被组织成有意义的语义集群并对其进行预总结。在回应用户查询时,LLM 会使用这些聚类对主题进行总结。


通过下面这条语句,可以展示出两套系统对数据集整体的推理能力:


查询语句:“数据中排行前五的主题有哪些?”



从基线 RAG 的结果来看,列出的主题中没有一个提及两者之间的纷争。正如预期,矢量搜索检索到了无关的文本,并将其插入 LLM 的上下文窗口中。生成的结果很可能是根据关键词“主题”进行搜索,导致了其对数据集内容的评估不够有用。


再看 GraphRAG 的结果,可以清楚看到其生成的结果与数据集整体内容更为吻合。回答中提供了五大主题及其在数据集中观察刀的辅助细节。其中参考的报告是由 LLM 为 GraphRAG 根据每个语义集合预先生成,提供了对原始材料出处的对照。


创建 LLM 生成的知识图谱


支持 GraphRAG 的基本流程是建立在先前对图机器学习的研究和代码库上的:LLM 处理全部私有数据集,为源数据中所有实体和关系创建引用,并将其用于创建 LLM 生成的知识图谱。利用生成的图谱创建自下而上的聚类,将数据分层并组织成语义聚类(在图三中由颜色标识)。这种划分让预先总结语义概念和主题成为可能,从而更全面地理解数据集。在查询时,两种结构均被用于填充 LLM 回答问题时的上下文窗口。


图三为图谱可视化的示例,每个圆圈都代表一个实体(如人物、地点或组织),圆圈大小代表该实体拥有的关系数量,颜色代表相似实体的分组。颜色分区时建立在图结构基础上的一种从下至上的聚类方法,让 GraphRAG 能回答不同抽象程度的问题。



图三:利用 GPT-4 Turbo 和私有数据集创建 LLM 生成的知识图谱


结果指标


上述示例中表现了 GraphRAG 在多个跨领域数据集上的持续改进。微软采用 LLM 的一个评分器给 GraphRAG 和基线 RAG 的表现进行评估和对比,设定了一系列定性指标,其中包括全面性(问题指向背景框架内的完整性)、人性化(提供辅助原始材料或其他背景信息),以及多样性(提供问题回答的不同角度或观点)。初步结果显示,GraphRAG 在这些指标上始终优于基线 RAG。


除了对比评估,他们还采用 SelfCheckGPT 对 GraphGPT 进行了忠实性的测试,以验证其基于原始材料的真实且连贯的生成结果。结果显示,GraphRAG 达到了与基线 RAG 相似的忠实度水平。


通过将 LLM 生成的知识图谱与图机器学习相结合,GraphRAG 能回答重要的问题类别,而这些问题是无法单独使用基线 RAG 完成的。在将这项技术应用于社交媒体、新闻文章、工作中生产力及化学等场景后,微软已经观察到了可喜的成果,未来他们将继续在各类新领域中应用这项技术。


参考链接:


https://www.youtube.com/watch?v=r09tJfON6kE


https://news.ycombinator.com/item?id=40857174https://arxiv.org/html/2404.16130v1


https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/


https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/


活动推荐:


在 8 月 18-19 日即将举办的 AICon 上海站,我们设置了【RAG 落地应用与探索】专题,本专题将深入探讨 RAG 的最新进展、成果和实践案例。我们将详细分析面向 RAG 的信息检索的创新方法,包括知识抽取、向量化、重排序、混合检索等在不同行业和场景下的微调和优化方法。感兴趣的同学请锁定大会官网:https://aicon.infoq.cn/2024/shanghai/track


大会火热报名中,7 月 31 日前可以享受 9 折优惠,单张门票节省 480 元(原价 4800 元),详情可联系票务经理 13269078023 咨询。



2024-07-05 09:4316119

评论

发布
暂无评论
发现更多内容

国产接口管理工具APIPOST中的常见设置项

Proud lion

大前端 后端 Postman 开发工具 接口文档

❤️用武侠小说的形式来阅读LinkedList的源码,绝了!

沉默王二

Java

API与ESB 、ServiceMesh、微服务究竟关系如何?

BoCloud博云

云管理

聊聊什么样的代码是可读性强的代码?

卢卡多多

代码质量 代码 9月日更

华为云IoT如何连接边缘和云,实现海量IoT数据就地处理的技术实践

华为云开发者联盟

IoT 边缘 IoT边缘 实时数据 IoT Edge

企业级即时通信市场能否告别“孤岛时代”?

BeeWorks

移动数字化底座 企业即时通讯平台 移动数字化平台 即时通讯IM 移动办公

祝贺 StreamNative 工程师张勇成功跻身 Apache BookKeeper Committer

Apache Pulsar

bookKeeper Apache Pulsar StreamNative

敏捷团队的最佳测试实践:自动化金字塔

禅道项目管理

测试 自动化测试

华为云PB级数据库GaussDB(for Redis)揭秘:如何搞定推荐系统存储难题

华为云开发者联盟

数据库 推荐系统 存储 华为云 GaussDB(for Redis)

全球教育行业机构遭受的攻击增长了 29%

BeeWorks

阅读

携手伙伴,共赴星海-百度飞桨应急行业AI私享会成功举办

百度大脑

人工智能 飞桨

服务器运维是什么意思?日常工作包含哪些?

行云管家

运维 服务器 IT运维 服务器运维

波场链DAPP智能合约系统搭建|波场链DAPP开发

Geek_23f0c3

DAPP智能合约交易系统开发 波场DAPP 波场链DAPP开发

Dogfooding-爱奇艺移动端后台灰度环境优化实践

爱奇艺技术产品团队

测试 开发 灰度发布

电信运营商基于 MQTT 协议构建千万级 IoT 设备管理平台

EMQ映云科技

物联网 IoT mqtt 通信运营商 emq

浪潮云说丨上云迁移——快,准,稳!

云计算

深入分析3种线程池执行任务的逻辑方法

华为云开发者联盟

Java 线程 线程池 ThreadPoolExecutor类

如何采购ARM六核RK3399安卓工控开发主板?

双赞工控

安卓主板 工控主板 rk3399主板

第一波场DAPP系统搭建,DAPP介绍

合肥艾数199四②43⑧797

架构学习模块一

George

国资云横空出世,云上安全监管再加码

行云管家

云计算 数据安全 企业上云 国资云

就靠这一篇文章,我就弄懂了 Python Django 的 django-admin 命令行工具集

梦想橡皮擦

9月日更

拥抱开源,云智慧发布AIOps社区

BeeWorks

阅读

一周信创舆情观察(8.23~8.29)

统小信uos

柯基数据通过Rainbond完成云原生改造,实现离线持续交付客户

北京好雨科技有限公司

云原生 需求落地 离线部署 可持续交付

netty系列之:搭建自己的下载文件服务器

程序那些事

Java Netty io nio 程序那些事

IDC:2021年全球大数据和分析支出预计达2157亿美元

BeeWorks

阅读

云小课|细数那些VMware虚拟机的恢复招式

华为云开发者联盟

vmware 云小课 云备份 VMware恢复 恢复数据

值钱的数据放在云上安全吗?怎样才能保障其安全性?

行云管家

网络安全 信息安全 数据安全 企业上云

再启动!零代码第四期训练营报名开放中

明道云

如何设计企业特色的数字化转型架构?

博文视点Broadview

下一代 RAG 技术来了!微软正式开源 GraphRAG:大模型行业将迎来新的升级?_生成式 AI_Tina_InfoQ精选文章