1. 引言
图神经网络(Graph Neural Networks)已经成为分析和学习图结构数据的强大框架,推动了社交网络分析、推荐系统和生物网络分析等多个领域的进步。图神经网络的主要优势在于它们能够捕获图数据中固有的结构信息和依赖关系。利用消息传递和聚合机制,图神经网络可以有效地在图中传播和组合信息,从而模拟复杂的关系并进行准确的预测。
近年来,各种图神经网络架构在图节点之间的信息交换和聚合方面引入了不同的创新。例如,图卷积网络(Graph Convolutional Networks)将卷积操作迁移到图结构数据,实现有效的图结构特征表示。图注意力网络(Graph Attention Networks)利用注意力机制为相邻节点分配不同的权重,实现更细粒度的信息聚合。然而,许多图神经网络方法的一个显著局限性是它们过于依赖监督学习,这可能导致在面对稀疏和噪声数据时鲁棒性和泛化能力不足。为了增强图神经网络的泛化能力,自监督学习(Self-Supervised Learning)已经成为图表示学习中的一种有前景的方法。这些方法的目标是生成可泛化到不同下游任务的图表示,但它们仍然需要使用下游图学习场景的标签进行微调。然而,这种对下游任务的标签数据的依赖可能会限制它们在实际情况中的泛化能力,特别是在难以获取高质量标签的情况下。
因此,本研究的目标是通过解决具有挑战性的实际零样本学习场景来提高图模型的泛化能力。受到大语言模型(Large Language Models)在自然语言处理任务中巨大成功的启发,本文将介绍香港大学数据智能实验室(https://sites.google.com/view/chaoh/group-join-us)提出的图结构大语言模型(GraphGPT),其能够在多种下游数据集和任务中实现高度的泛化。期待GraphGPT能够吸引更多的开源社区开发者参与讨论和实践,共同探索图结构数据挖掘领域新篇章。
论文链接: https://arxiv.org/abs/2310.13023
代码链接: https://github.com/HKUDS/GraphGPT
项目网站: https://graphgpt.github.io/
2.概述
总得来说,将大语言模型与图学习结合是一项重大的挑战。首先,在图的结构信息和语言空间之间实现适当的对齐需要深入的研究。同时,如何引导大语言模型有效地理解图的结构信息,以及如何赋予大语言模型对于图学习下游任务逐步推理的能力,都是当前面临的关键问题。
为了深入了解直接使用纯文本提示为大语言模型建模图结构的局限性,本文进行了一系列的实验和对比,如图1所示。这些实验揭示了仅依赖文本提示进行图结构建模时可能出现的潜在问题。相比之下,新框架GraphGPT能够有效地解决这些问题,通过保留和利用图的结构信息,实现了对文章类别的准确识别。此外,使用基于文本的图结构提示会导致输入token数大小增加,这在实际应用中带来了挑战。长token序列会导致更高的计算和内存成本,使其在实际应用中的可行性降低。同时,现有的大语言模型有输入长度限制,这进一步限制了用长文本提示进行大规模图结构建模的适用性。
为了应对这些挑战,本文提出了一个名为GraphGPT的全新框架,该框架旨在使用精心设计的图指令微调范式将大语言模型与图结构对齐。GraphGPT引入了文本-图结构对齐范式作为初始步骤,通过对比方式结合文本信息,实现了在图编码器中有效地对齐文本语义。进一步提出双阶段图指令微调范式,在第一阶段,利用无标签的图结构数据,通过自监督的图匹配任务,指导大语言模型获得与图数据相关的结构知识,从而增强了其对图结构的理解。在第二阶段,为了进一步定制大语言模型在多种下游图学习任务中的推理行为,使用特定任务的图数据指令对大语言模型进行微调,以提高模型的适应性。最后,通过思维链(Chain-of-Thought)将闭源大语言模型(如,ChatGPT)蒸馏整合到GraphGPT中,增强了其逐步推理能力,极大地改善了分布偏移带来的性能下降。
本研究的主要贡献如下:
- 将图领域特定的结构知识与大语言模型的推理能力对齐,以提高图学习的泛化。
- 提出的方法旨在通过图指令微调范式将大语言模型与图结构数据对齐。此范式结合了自监督指令微调,增强了大语言模型对图结构知识的理解和推理能力。此外,引入了具体任务的指令微调,以提高模型在不同图学习任务中的适应性。
- 实验评估了GraphGPT在有监督和零样本图学习任务上的表现。通过与最先进的基线进行比较,GraphGPT展现出在各种设置中优越的泛化能力。
3. 方法
这一部分,将阐述GraphGPT图指令微调范式的技术细节,其整体框架如图2所示:
3.1 用“文本-图”对齐编码结构信息
在GraphGPT中图结构编码器的选择可以非常灵活,使其能够利用从多种图预训练范式中获得的各种基础GNN架构。为了更有效地将大语言模型与图结构对齐,本节探索了能与大语言模型良好协作的图结构编码方式。受之前的研究启发,本文以对比的方式将文本信息融入图结构的编码过程中。本文直接将带有预训练参数的图编码器集成到GraphGPT模型框架中,从而无缝地整合图编码器的功能。具体来说,让一个图 G ( V , E , A , X ) \mathcal{G}(\mathcal{V}, \mathcal{E}, \mathbf{A}, \mathbf{X}) G(V,E,A,X)与原始文本内容 C = { c i ∈ R l i × d , 1 ≤ i ≤ N } \mathbf{C} = \{ c_i \in \mathbb{R}^{l_i\times d}, 1\leq i\leq N\} C={ ci∈Rli×d,1≤i≤N}对应,其中 N N N代表节点数, l i l_i li表示第i个结点的文本长度。通过任意图编码器