GRAG: Graph Retrieval-Augmented Generation
摘要
简单检索增强生成 (Naive RAG) 聚焦于单一文档的检索,因此在处理网络化文档时表现不足,例如引用图、社交媒体和知识图谱等应用中非常常见的场景。为了解决这一限制,我们提出了图检索增强生成 (Graph Retrieval-Augmented Generation, GRAG),它针对检索文本子图和将文本与拓扑信息联合整合到大型语言模型(LLMs)中以增强生成的基本挑战。
为了实现高效的文本子图检索,我们提出了一种新颖的分而治之策略,能够以线性时间检索出最优子图结构。为了实现图上下文感知生成,GRAG通过两种互补视角——文本视角和图视角——将文本图整合到LLMs中,使其能够更有效地理解和利用图上下文。
引言
大型语言模型(LLMs) 在多种推理任务(包括基于图数据的任务)中展现了卓越能力 (Hu et al., 2023b; Chen et al., 2024; Fatemi et al., 2023)。然而,由于训练数据的局限性及缺乏实时知识,LLMs在事实性错误上仍然存在问题 (Mallen et al., 2023; Min et al., 2023)。检索增强生成(RAG) 方法通过将外部数据检索整合到生成过程中,帮助LLMs获取相关信息以生成更精准的回答,从而减少事实性错误 (Tang and Yang, 2024)。
然而,传统的RAG方法仅聚焦于单个文档,通过文本相似性检索相关内容。然而,现实世界中的文档(如社交媒体帖子、科研论文、知识条目和产品评论)通常不是孤立的,而是以文本图的形式网络化 (He et al., 2023; Jin et al., 2023; Li et al., 2023)。这种网络信息在检索相关文档和引导LLMs生成文本时至关重要 (Yang et al., 2024; Tang and Yang, 2024)。例如,科研论文形成引用图,当一个太阳物理学家想了解太阳耀斑预测的最新技术时,引用关系需要被考虑,以便全面检索相关研究并理解技术演进(如图1所示)。类似地,社交媒体交互、知识图谱中的实体关系以及产品评论系统中的购买关系在LLMs利用这些外部数据时也是不可或缺的。问题是:在执行RAG任务时,LLMs如何有效利用这类网络化文档?
为解决上述问题,我们提出了图检索增强生成(GRAG),它扩展了传统的RAG方法以整合图上下文。与仅聚焦单个文档的传统RAG不同,GRAG需要在检索和生成阶段同时考虑文档之间的网络结构,面临两大核心挑战:
- 检索阶段:如何高效地检索相关的文本子图?文本子图检索具有挑战性,因为节点和边的文本特征维度高,搜索空间巨大。
- 生成阶段:如何将文本子图的文本和拓扑信息整合到LLMs中?生成阶段需要将网络化文档传递给LLMs,同时保留文本和拓扑信息及其相互依赖性。
1. 高效文本子图检索
我们提出了一种分而治之策略,将高维组合优化问题分解为以下步骤:
(1)首先检索最相关的自中心图(ego-graphs)。
(2)然后通过图软剪枝机制对自中心图进行优化与合并。
这一方法为识别最相关的文本子图结构提供了一种近似解法,从而避免了对所有子图进行穷尽搜索的NP难题 (Johnson and Garey, 1979)。
2. 整合文本子图到LLMs中
我们从两个互补视角将文本图整合到LLMs中:
(1)文本视角(text view):通过硬提示(hard prompts)以文本标记(text tokens)形式提供输入。
(2)图视角(graph view):通过软提示(soft prompts)以图标记(graph tokens)形式提供输入。
具体步骤如下:
使用图算法将检索到的文本子图转化为层次化的文本描述,作为硬提示输入,以编码文本中的拓扑信息。
同时,使用图编码器直接对图的拓扑信息进行编码,将文本信息作为图节点或边的属性,生成软提示。
在生成过程中,硬提示和软提示共同引导LLMs更深入地理解实体间的关系,从而生成符合文本图上下文的回答。
相关工作
1.提示调优(Prompt Tuning)
与传统的微调方法(如低秩适配(LoRA),Hu等, 2021)需要更新模型参数不同,提示调优通过修改输入来更有效地引导模型的响应 (Liu等, 2023; Jia等, 2022)。
例如,Auto-Prompt (Shin等, 2020) 和 Prompt Tuning (Lester等, 2021) 引入了自动化技术,能够无需人工干预生成高效的提示。特别是,Lester等提出直接将软提示作为嵌入进行学习,在保留模型原始参数的同时实现针对特定任务的适应。
在此基础上,近期研究探索了适应提示嵌入以应对多模态上下文的应用 (Zhou等, 2022; Khattak等, 2023; Yang等, 2022; Ge等, 2023),为通过提示调优将LLM整合到不同领域提供了一种灵活的机制。
2 大型语言模型(LLMs)在图相关任务中的应用
LLMs 在图任务中的作用可以分为两方面:
文本嵌入能力:LLMs 可以对节点和边的文本属性进行编码,直接促进分类任务的效果 (Hu等, 2023b; Chen等, 2023, 2024),并支持知识图谱的构建 (Trajanoska等, 2023; Yao等, 2023)。
上下文推理能力:LLMs 在零样本场景中能进行图推理和问题回答 (Baek等, 2023; Hu等, 2023a),支持复杂的图推理任务 (Wang等, 2024; Jiang等, 2023; Luo等, 2023)。
尽管通过大规模文本语料库训练,LLMs 在处理简单图结构方面表现出稳健的语言理解能力,但它们并未被固有地赋予理解或推理复杂图结构数据的能力,因为文本数据缺乏显式的拓扑信息 (Huang等, 2023; Chen等, 2024; Merrer and Trédan, 2024)。
为此,近期提出的图提示调优(Graph Prompt Tuning) (Perozzi等, 2024; Tian等, 2024) 成为一种强大的工具,用于帮助LLMs处理和理解拓扑信息。
3 图上的检索
Yasunaga等的方法通过检索相关节点并创建一个包含问题回答上下文和相关节点的联合图。
Kang等和Kim等则聚焦于检索三元组,而非单个节点或边,以捕获更复杂的关系数据。
一些检索问题可以通过推理链解决,这些推理链可以简化为检索问题与目标实体之间的路径 (Lo和Lim, 2023; Choudhary和Reddy, 2023)。
Edge等利用社区检测算法将图划分为若干社区,随后检索和聚合相关社区以生成问题的最终答案。
Li等通过整合文本和拓扑信息提升了检索过程,使模型更好地捕捉图结构数据中的结构关系。
问题定义
模型
在本节中,我们介绍 GRAG 的解决方案。如上图 (a) 所示,为了解决文本子图检索的挑战,我们提出了一种分而治之的策略。
该策略基于以下假设:一个重要的子图由重要节点及其部分邻居组成。具体来说:
我们首先搜索重要的自中心图(ego-graph)。
然后将最相关的前 N 个自中心图合并,并通过**软剪枝操作(soft pruning)**减少冗余节点和边的影响,生成一个近似最优的子图结构。
与直接子图搜索
相比,我们的检索-剪枝方法将检索空间限制为 ∣V∣ 个自中心图,从而显著提高了效率。
如上图 (b) 所示,为了同时保留文本和拓扑信息,我们采用文本图的两种互补视角:
- 图视角:学习文本图的表示作为软提示,以保留文本间的连接关系。
- 文本视角:将文本图转换为层次化文本描述作为硬提示,保留连接方式的叙述形式。
1. 文本子图检索
文本子图索引
文本子图排序
文本子图软剪枝
2. 文本图增强生成
在本节中,我们介绍了为大语言模型(LLMs)提供文本图两种互补视角的方法:文本视角和图视角。
文本图的图视角