卷图不卷图谱-GraphRAG最近趋势:考虑结构性、相似性、相关性等Graph思想实现策略

今天,我们继续来看最近GraphRAG进展,包括Mixture-of-PageRanks、SiReRAG、KG-Retriever三个主要工作。

其中分别对应于引入层次索引结构和混合查询机制、兼顾相关性和结构重要性、融合相似树和相关树,整个GraphRAG的思路进一步细化,也朝着Graph图结构本身(而非KG本身)越走越远了,这是一个卷的趋势,卷的是图,不是图谱

一、引入层次索引结构和混合查询机制的KG-Retriever

一种基于知识图谱的RAG框架KG-Retriever,用于解决复杂检索任务中的信息碎片化问题,说到这个碎片化问题,最好的解决方式就是建立关联。

《KG-Retriever: Efficient Knowledge Indexing for Retrieval-Augmented Large Language Models》,https://arxiv.org/pdf/2412.05547的核心,叫做层次索引图(HIG),包含知识图谱层和协作文档层的层次索引图(HIG)来增强文档内和文档间的信息连接,这个其实跟KAG里里面的很像。

在知识图谱层,LLMs提取文档中的实体和关系,增强单个文档的内部信息结构化,这块依旧是对应的llm提示抽取;

在协作文档层,文档级图基于语义相似性(利用Roberta-large获取embedding)建立连接,提高跨文档的知识相关性。

通过这种双层结构,KG-Retriever利用图结构的关联性,加强文档内部的信息组织和文档之间的知识关联,从而提高检索效率和信息整合能力。

重点看看其实现思路:

既然有了这种索引结构,那么接下来就是进行检索。

包括文档层匹配和知识图谱层匹配两种。

文档层匹配基于查询和文档的语义相似性,识别出与查询最相似的文档。这里,通过文档级别的协作策略(如One-Hop、Attentive或Multi-Hop Collaboration)获取与查询相关的候选文档。

One-Hop Collaboration(一跳协作) 比较粗暴,使用预训练的语言模型(如Roberta-large)对查询进行编码,得到查询的语义向量。然后,计算查询与文档集的语义相似度,识别出与查询最相似的前N个文档(Top-N),然后将这些Top-N文档在文档图中的邻居文档也收集到候选集中。这些邻居文档可能不直接与查询相关,但它们与高度相关的Top-N文档相邻,可能包含间接相关或补充的信息,最终的候选集包括Top-N文档及其邻居文档

Attentive Collaboration(注意力协作) 则加了个注意力过滤,同样使用预训练的语言模型对查询进行编码,得到查询的语义向量。然后,计算查询与文档集的语义相似度,识别出Top-N文档。接着计算每个邻居文档与Top-N文档的语义向量的注意力权重(cosine similarity)。最终的候选集包括Top-N文档及其通过注意力机制筛选后的邻居文档

Multi-Hop Collaboration(多跳协作)则使用预训练的语言模型对查询进行编码,得到查询的语义向量。然后,计算查询与文档集的语义相似度,识别出Top-N文档。注意,这里变了,不仅收集Top-N文档的一跳邻居,还收集多跳邻居。多跳邻居是通过多次跳跃扩展得到的邻居文档。然后计算每个多跳邻居文档与Top-N文档的注意力权重(multiply attention weights in different hops),即在不同跳跃中的注意力权重的乘积。最终的候选集包括Top-N文档及其通过多跳协作和注意力机制筛选后的邻居文档。

所以可以看到,其本质就是在扩召回

协作文档层匹配则利用邻近文档提供间接相关信息,在获取的候选文档中,进一步匹配这些文档中的实体节点,也就是并通过实体级匹配提取与查询相关的知识图谱三元组,这块就是传统的三元组召回,没啥其他东西。

所以,再总结下,其结论,去除实体图或文档图均导致模型性能显著下降,说明这种结构是由增益的。

二、兼顾相关性和结构重要性的Mixture-of-PageRanks方案

这个很有趣,RAG既需要相关性,也需结构重要性。RAG系统必须以平衡与查询的相关性以及块在文档内的(与查询无关的)结构重要性的方式分配重要性,例如,描述故事中主要事件的文本块即使与查询内容无关(例如,“总结这本书”),也会具有很高的结构重要性。

回顾下长上下文任务的RAG方法。对于许多长上下文任务而言,按时间顺序排列文本块(而不是按排名顺序)是必要的。

标准的最近邻RAG(顶部)检索与查询最相似的项目(查询相关性用红色嵌入表示)。

基于PageRank的检索器使用可以廉价计算的相似性矩阵来表示文本块之间的关系。

PageRank(底部)检索根据图结构具有最高重要性的项目(结构重要性用蓝色表示)。

个性化PageRank(中间) 平衡了查询相关性与结构重要性,最初由谷歌搜索使用,提供一种原则性的方法,用于结合查询相关性与结构重要性,并在检索过程中控制两者之间的影响。

所以,《Mixture-of-PageRanks: Replacing Long-Context with Real-Time, Sparse GraphRAG》,https://arxiv.org/pdf/2412.06078,提出基于PageRank的混合检索算法,称为混合PageRank(MixPR),用于解决长上下文任务的高效处理问题(核心就是剪枝,通过重要性来做,所以自然而然pagerank就登场了),动态调整PPR中的超参数以适应不同的查询/任务类型。

因此,核心在于个性化PageRank(PPR),这个用来做文档的重要性,在hippo-rag中就有提到;

来自邻居和/或重要邻居的更多进入连接倾向于具有更高的PR分数。通过这种方式,PR分布捕获了图中节点的结构重要性

其中,π是最终分布,A是相似度矩阵,α是一个权重参数,p是个性化向量。通过调整α,可以控制查询相关性和结构重要性的影响。随着α→0,PPR接近PR,排名变得越来越数据独立和结构依赖。随着α→1,分布变得越来越数据依赖和结构独立,也就是更喜欢用相似性。

因此,这样就有了方向,对于局部检索任务(如问答),较大的α值更有效;而对于全局检索任务(如总结),较小的α值更有效。当然,这个参数调整不容易,可以使用路由器,根据任务类型动态调整α值,LLM以上下文的前两句和第一句作为输入,并判断任务是要求局部还是全局检索

那么来了,怎么做,肯定是要构图,构建文本图。将输入的长文本分割成多个文本块(chunks),每个文本块作为一个节点。根据文本块之间的相似性或语义关系,构建节点之间的边。但这里的分块不能太长,所以,首先将文本分割成句子。然后沿换行符将任何大于N个单词的分块进行分块。如果任何分块仍然大于N个单词,则将这些分块沿着单词边界分成大致相等长度的更小分块,将所有实验的N设置为32。

然后对于每个节点,计算其新的PageRank值。

在检索阶段,将查询也分割成文本块,并为每个文本块计算其在图中的PageRank值,计算查询文本块与图中每个文本块的相似性。根据稀疏混合PageRank值和相似性得分的综合评分,对图中的文本块进行排序,选择得分最高的项目作为检索结果。

其中,为了提高计算效率,使用稀疏矩阵来存储和操作嵌入向量,将文本块嵌入到向量空间中,进行L-2归一化,然后构建邻接矩阵。

三、融合相似树和相关树的SiReRAG策略

这个又有一个新的点,又把相关性切分成相似性跟相关性,现有的索引方法要么基于语义相似性(相似性),要么基于相关信息(相关性),这种细化是好事儿;

问题来了,怎么做界定:

相似性定义为文本片段的语义距离,相关性定义为基于实体和命题等信号文本之间的连接程度。索引相似和相关信息比索引单一类型的信息更便于实现更全面的知识整合;

如图1所示,一个涉及两步推理的复杂问题需要检索和综合相关实体块。实体1和2块包含相似信息,而实体2和3块包含相关内容。由于仅基于实体1和2(或实体2和3)合成信息会导致错误答案的概率增加,因此需要一种考虑相似性和相关性的索引方法来最大化检索多步问题相关的知识。

所以,如果要兼顾这两个方面,最直接的方式,就是分别建模,分别建树;

因此,《SiReRAG: Indexing Similar and Related Information for Multihop Reasoning》,https://arxiv.org/pdf/2412.06206,就很自然的来来了,核心是相似性树的构建。

可以看看其中的几个核心点,搞了两棵树;

一个是相似性树的构建,遵循RAPTOR的方法,通过递归摘要构建相似性树。

使用预训练embedding模型(如OpenAI text-embedding-3-small)获取所有文本块的表示,使用高斯混合模型(GMM)对所有文本块进行软聚类,假设候选段落可以属于多个簇。

一个是相关性树的构建,建成这个样子:

核心是这个,使用大型语言模型(如Meta-Llama-3-70B-Instruct 2)从每个文本块/文档中提取实体(例如,“十四行诗110”和“威廉·莎士比亚”)和细粒度命题(例如,“十四行诗110是威廉·莎士比亚写下的154首十四行诗之一。”)。这里的命题,每个命题都是一个原子表达式,其中包含了一个以自然语言呈现的事实性陈述,跟许多地方讲的claim声明是一个东西。

然后将这些命题通过实体分组,简单地将它们与块/文档中的原始顺序连接起来。这些命题聚合包含了相关信息,因为它们提到了共享的实体。然后,在这些聚合命题之上构建了带有软聚类的递归摘要。最后,通过将每棵树中的节点扁平化来进行索引,以便于检索。

为啥要用命题,其本质上是检索粒度概念的外延,有多种不同的文本粒度(实体、命题、文本块和摘要)来索引数据。

而在检索阶段,可以再看RAPTOR对应的检索方式。

总结

RAPTOR通过递归摘要构建树结构,HippoRAG利用海马体索引理论进行深度知识整合,GraphRAG则构建实体引导的知识图谱,这些都是前人的一些探索。

本文介绍了最近GraphRAG进展,这几个工作分别体现了几个思想,即引入层次索引结构和混合查询机制、兼顾相关性和结构重要性、融合相似树和相关树,整个Grap hRAG的思路进一步细化,也朝着Graph(而非KG本身)越走越远,其解决的问题,都是更好的召回、更好地降成本。

如何学习大模型 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 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值