港大新工作 HiGPT:一个模型,任意关系类型 !

论文标题: HiGPT: Heterogeneous Graph Language Model
论文链接: https://arxiv.org/abs/2402.16024
代码链接: https://github.com/HKUDS/HiGPT
项目网站: https://higpt-hku.github.io/
1. 导读
异质图在各种领域,如推荐系统、知识图谱、社交网络分析和生物网络等获得了广泛的关注和应用。这些图包含了各种类型的实体和多种复杂关系,使得它们能够充分表示复杂系统。异质图学习的重点就是为这些图中的节点和边衍生出有意义的表征。这些表征旨在捕捉图内复杂的关系语义,以便更深入地理解底层的结构异质性。
近年来,人们越来越认识到异质图神经网络(HGNNs)在捕捉异质图结构中复杂和多样的信息方面的巨大潜力。HGNNs利用高阶消息传递技术的表达能力,使它们能够有效地建模图中存在的复杂关系、多样实体类型和异质语义。通过在各种节点和边类型上聚合和传播信息,HGNNs促进了对异质图结构内复杂关系的更深入理解和分析。
尽管当前用于异质图学习的框架已经显示出了有效性,但是在泛化于各种异质图数据集方面存在一定的限制。这些框架通常采用"预训练"和"微调"的范式,首先在特定数据集上进行训练,然后在同一数据集上进行微调。然而,这种方法无法泛化到新的、未见过的数据上。这些框架过度依赖原始训练数据集的结点和关系类别,限制了它们有效处理不同异质图数据集中结点和关系类别不同的能力。
因此,本研究旨在通过解决一个基本问题来扩大异质图模型的界限:"我们能否开发出有高度适应性的通用的异质图模型,即使面对节点类型和关系类型分布偏移时,也能有效地处理各种下游学习任务?“即"一个模型,建模任意关系类型”。为了应对这一挑战,本文将介绍香港大学数据智能实验室(https://sites.google.com/view/chaoh/group-join-us)提出的最新图结构大语言模型(HiGPT),专门设计用于克服与泛化各种下游异质图学习任务相关的关键挑战。期待HiGPT能够吸引更多的开源社区开发者参与讨论和实践,进一步推动图结构与语言模型的有效结合。
2.概述
总得来说,我们将实现"一个模型,建模任意关系类型"的挑战归纳为以下三点,并给出了对应解决方案:
C1. 关系类型异质性偏移。本研究中我们关注的一个主要挑战是各种异质图结构中关系类型异质性的偏移。在这些图中,实体由各种类型的关系连接,而这些关系类型可能在各种数据集中有很大的差异。为了说明这一点,让我们考虑两个例子。在推荐系统中,异质图可能涉及user和item之间的节点关系。这种情况下的关系类型可能包括"点击"、“收藏”、“评论"和"购买”。另一方面,在学术图中,关系可能涉及"论文-论文"、“作者-论文"和"论文-会议”。这些例子说明了不同的异质图可能在不同领域中展示出具有不同语义的各种关系异质性。
S1. 上下文异质图Tokenizer。为了在具有不同节点和边类型的各种异质图场景中实现泛化性,我们引入了上下文异质图Tokenizer。这个Tokenizer捕捉到了不同异质图中存在的各种语义关系,提供了一个统一的建模方法。它包括两个重要组件:1)上下文参数化异质性投影器:利用语言对不同的节点和边类型进行编码;2)参数分配器:动态地为Tokenizer分配定制的参数。为了优化性能并将Tokenizer无缝集成到HiGPT框架中,我们采用了轻量级的文本-图对比对齐范式来预训练。这个预训练过程直接将Tokenizer集成到HiGPT中,提高了其语义建模能力,并确保其在整个模型架构中运行平稳。
C2. 复杂异质图结构。本研究的重点是解决将大语言模型(LLMs)集成到异质图学习中的挑战,以提高模型的泛化能力。我们的具体目标是开发一种面向图的语言模型,使得该模型在理解复杂异质图结构中所固有的复杂结构信息方面表现出色。通过这样做,我们希望使图模型不仅能够识别不同类型节点之间关系的异质性,还能够捕捉属于同一类型的实体的特征。
S2. 异质图指令微调。我们引入了一种新颖的异质图指令微调框架,该框架集成了跨类型和同类型token匹配任务来微调大语言模型(LLMs)。我们的框架专门针对提高LLMs对异质关系感知和同质关系感知的理解。通过这些任务,我们的目标是增强LLMs在以下方面的能力:(i)区分不同类型的图token,(ii)理解异质图内复杂的关系,(iii)保留同构图内实体的特定属性,以及(iv)在训练过程中有效利用各种图指令。
C3. 模型微调的数据稀缺。涉及异质图学习的实际场景中,其中一个关键挑战是数据的有限可用性。数据稀缺问题在微调模型时带来了重大障碍。例如,当使用异质图来建模推荐系统中的冷启动user/item时,用户交互数据的稀疏性限制了有监督信号的可用性。这种数据稀缺影响了下游任务模型微调的有效性,并需要开发新技术来应对这一挑战。
S3. Mixture-of-Thought指令增强。我们的方法引入了一种用于增强图指令的新机制Mixture-of-Thought(MoT),即混合各种提示技术结合使用。这种集成使我们能够生成一组多样化和全面的信息丰富的下游任务指令。通过无缝地将这些增强的图指令集成到我们的框架中,将有效地解决数据稀疏性的挑战。
3. 方法
这一部分,将阐述HiGPT图指令微调范式的技术细节,其整体框架如图1所示:

3.1 上下文异质图Tokenizer
为了使我们的HiGPT能够适应各种具有不同节点和边类型的异质图场景,我们提出了一种上下文异质图tokenizer。这种方法捕捉到了不同异质图中存在的各种语义关系,达到了统一建模的目的。它包括两个重要组件:上下文参数化异质性投影器和参数分配器。上下文自适应投影器利用语言对异质图中的不同节点和边类型进行编码,以实现模型的泛化性。同时,参数分配器动态地为tokenizer分配专门定制的参数。为了优化tokenizer的性能并将其无缝集成到HiGPT框架中,我们使用了一个简化的文本-图对比学习框架进行预训练。这个预训练过程直接将tokenizer集成到HiGPT框架中,并有效地将其与大语言模型(LLM)集成。这种方法提高了tokenizer的能力,并确保了其在整个模型架构中的平稳运行。
3.1.1 带有元投影器的图Tokenization
给定一个具有特征矩阵 X = { X T i ∈ R ∣ V T i ∣ × d T i , T i ∈ T } \mathbf{X} = \{X_{T_i} \in \mathbb{R}^{|\mathcal{V}_{T_i}|\times d_{T_i}}, T_i \in \mathcal{T}\} X={XTi∈R∣VTi∣×dTi,Ti∈T} 和邻接矩阵 A \mathbf{A} A的异质图 G \mathcal{G} G,异质图tokenizer的目标是对异质图的隐式表示进行编码,表示为 H = { H T i ∈ R ∣ V T i ∣ × f T i , T i ∈ T } \mathbf{H} = \{H_{T_i} \in \mathbb{R}^{|\mathcal{V}_{T_i}|\times f_{T_i}}, T_i \in \mathcal{T}\} H={HTi∈R∣VTi∣×fTi,Ti∈T}。这通过函数 H = HG-Tokenizer ( X , A ) \mathbf{H} = \text{HG-Tokenizer}(\mathbf{X}, \mathbf{A}) H=HG-Tokenizer(X,A)实现,其中 f T i f_{T_i} fTi表示节点类型 T i T_i Ti的隐式维度。 HG-Tokenizer ( ⋅ ) \text{HG-Tokenizer}(\cdot) HG-Tokenizer(⋅)可以使用各种基础HGNN架构来实现,例如HetGNN、HAN或HGT。
然而,这些异质GNN的泛化能力受到其固有设计的限制,这包括针对特定异质图进行的预定义参数学习。因此,训练好的异质GNN不能直接应用于其他未见过的异质图,这与使用HG-Tokenizer实现统一编码的目标相悖。例如,让我们考虑HGT。在HGT中,计算 h v ( l ) h_{v}^{(l)} hv(l)涉及使用函数如 A t t e n t i o n ( ⋅ ) \mathbf{Attention}(\cdot) Attention(⋅)和 M e s s a g e ( ⋅ ) \mathbf{Message}(\cdot) Message(⋅)来处理来自源节点的信息:
h ~ v ( l ) = ⊕ ∀ u ∈ N ( v ) ( A t t e n t i o n ( u , e , v ) ⋅ M e s s a g e ( u , e , v ) ) \widetilde{h}_{v}^{(l)} = \underset{\forall u \in \mathcal{N}(v)}{\oplus} \left(\mathbf{Attention}\left(u,e,v\right) \cdot \mathbf{Message}\left(u,e,v\right)\right) \nonumber h v(l)=∀u∈N(v)⊕(Attention(u,e,v)⋅Message(u,e,v))
h v ( l ) = F Θ 1 τ ( v ) ( σ ( h ~ v ( l ) ) ) + h v ( l − 1 ) = W 1 τ ( v ) ⋅ ( σ ( h ~ v ( l ) ) ) + b 1 τ ( v ) + h v ( l − 1 ) h_{v}^{(l)} = \mathcal{F}_{\Theta_1}^{\tau(v)} \left(\sigma\left(\widetilde{h}_{v}^{(l)}\right)\right) + h_{v}^{(l - 1)} = \mathbf{W}^{\tau(v)}_1\cdot \left(\sigma\left(\widetilde{h}_{v}^{(l)}\right)\right) + \mathbf{b}^{\tau(v)}_1 + h_{v}^{(l - 1)} hv(l)=FΘ1τ(v)(σ(h v(l)))+hv(l−1)=W1τ(v)⋅(σ(h v(l)))+b1τ(v)+hv(l−1)
F Θ 1 τ ( v ) ( ⋅ ) \mathcal{F}_{\Theta_1}^{\tau(v)}\left(\cdot\right) FΘ1τ(v)(⋅)表示一个全连接层,其参数为 Θ 1 = { W τ ( v ) , b τ ( v ) } \Theta_1 = \{\mathbf{W}^{\tau(v)}, \mathbf{b}^{\tau(v)}\} Θ1={Wτ(v),bτ(v)}。其中, τ ( v ) \tau(v) τ(v)表示节点 v v v的类型, σ ( ⋅ ) \sigma(\cdot) σ(⋅)表示激活函数。具有 h h h个heads的 A t t e n t i o n ( ⋅ ) \mathbf{Attention}(\cdot) Attention(⋅)和 M e s s a g e ( ⋅ ) \mathbf{Message}(\cdot) Message(⋅)函数的具体形式:
A t t e n t i o n ( u , e , v ) = Softmax ∀ u ∈ N ( v ) ( ∥ i ∈ [ 1 , h ] F Θ 2 τ ( u ) ( h u ( l − 1 ) ) W 1 ρ ( e ) F Θ 3 τ ( v ) ( h v ( l − 1 ) ) ) \mathbf{Attention}\left(u,e,v\right) = \underset{\forall u \in \mathcal{N}(v)}{\text{Softmax}}\left(\underset{i\in [1, h]}{\parallel} \mathcal{F}_{\Theta_2}^{\tau(u)}\left(h_{u}^{(l - 1)}\right)\mathbf{W}^{\rho(e)}_1 \mathcal{F}_{\Theta_3}^{\tau(v)}\left(h_{v}^{(l - 1)}\right)\right) \nonumber Attention(u,e,v)=∀u∈N(v)Softmax(i∈[1,h]∥FΘ2τ(u)(hu(l−1))W1ρ(e)FΘ3τ(v)(hv(l−1)))
M e s s a g e ( u , e , v ) = ∥ i ∈ [ 1 , h ] F Θ 4 τ ( u ) ( h u ( l − 1 ) ) W 2 ρ ( e ) \mathbf{Message}\left(u,e,v\right) = \underset{i\in [1, h]}{\parallel} \mathcal{F}_{\Theta_4}^{\tau(u)}\left(h_{u}^{(l - 1)}\right)\mathbf{W}^{\rho(e)}_2 Message(u,e,v)=i∈[1,h]∥FΘ4τ(u)(hu(l−1))W2ρ(e)
自适应参数的异质性投影器: 为了使我们的HiGPT能够适应各种具有不同图异质性设置的异质图,并消除提前预定义类型特定投影数量的要求,我们提出了一种类型感知参数化投影器的设计。这个投影器能够动态地将关系异质性编码到隐式表征中。更具体地说,根据以下过程自动生成类型感知投影器的参数 F Θ _ i τ ( v ) \mathcal{F}_{\Theta\_i}^{\tau(v)} FΘ_iτ(v)和 W i ρ ( e ) \mathbf{W}^{\rho(e)}_i Wiρ(e):
Θ i = { W i τ ( v ) ; b i τ ( v ) } = F Ω ( T τ ( v ) ) ; W i ρ ( e ) = F Ω ( T ρ ( e ) ) \Theta_i = \{\mathbf{W}^{\tau(v)}_i;\mathbf{b}^{\tau(v)}_i \}= \mathcal{F}_{\Omega}\left(\mathbf{T}^{\tau(v)}\right);\mathbf{W}^{\rho(e)}_i = \mathcal{F}_{\Omega}\left(\mathbf{T}^{\rho(e)}\right) Θi={Wiτ(v);biτ(v)}=FΩ(Tτ(v));Wiρ(e)=FΩ(Tρ(e))
F Ω \mathcal{F}_{\Omega} FΩ是一个带有参数 Ω \Omega Ω的全连接层,而 T τ ( v ) \mathbf{T}^{\tau(v)} Tτ(v)和 T ρ ( e ) \mathbf{T}^{\rho(e)} Tρ(e)分别是与节点类型 τ ( v ) \tau(v) τ(v)和边类型 ρ ( e ) \rho(e) ρ(e)相关联的特征。值得注意的是,提供的示例展示了在HGT框架中使用上下文参数化异质性投影器的用法,其允许集成到各种其他异质GNNs。
**语言富化的异质性表示:**我们利用自然语言来生成基于其各自类型的节点和边的通用异质性表示。例如,在异质IMDB数据集中,我们可以使用自然语言将"movie"节点描述为"This node represents a movie"。同样,边(“movie”, “to”, “director”)可以表述为"The movie is directed by the director"。为了对这些节点和边的自然语言描述进行编码,我们使用预训练的语言模型,如Sentence-BERT,来获得类型表示。为了确保不同类型之间的可区分性和多样性,我们使用多种语言来描述相同的类型。从预训练的语言模型中编码的表示被平均以获得最终的表示。这个过程可以定义如下:
T τ ( v ) = Mean-Pooling ( Sentence-BERT ( S τ ( v ) ) ) , T ρ ( e ) = Mean-Pooling ( Sentence-BERT ( S ρ ( e ) ) ) \mathbf{T}^{\tau(v)} = \text{Mean-Pooling}\left(\text{Sentence-BERT}\left( \mathbf{S}^{\tau(v)}\right)\right), \mathbf{T}^{\rho(e)} = \text{Mean-Pooling}\left(\text{Sentence-BERT}\left( \mathbf{S}^{\rho(e)}\right)\right) Tτ(v)=Mean-Pooling(Sentence-BERT(Sτ(v))),Tρ(e)=Mean-Pooling(Sentence-BERT(Sρ(e)))
S τ ( v ) \mathbf{S}^{\tau(v)} Sτ(v)和 S ρ ( e ) \mathbf{S}^{\rho(e)} Sρ(e)分别表示节点类型 τ ( v ) \tau(v) τ(v)和边类型 ρ ( e ) \rho(e) ρ(e)的描述集。例如,考虑边(“movie”, “to”, “director”)的例子。一个可能的描述是:
S ( "movie" , "to" , "director" ) = { "The movie is directed by the director" , "The film features direction by the director" , ⋯ } \mathbf{S}^{(\texttt{"movie"}, \texttt{"to"}, \texttt{"director"})} = \\ \{ \texttt{"The movie is directed by the director"}, \texttt{"The film features direction by the director"}, \cdots\} S("movie","to","director")={"The movie is directed by the director","The film features direction by the director",⋯}
3.1.2 轻量化图-文对比对齐
基于最近在跨模态语义对齐方面的进展,我们借鉴了采用文本-图对比对齐范式来预训练所提出的异质图tokenizer。这种方法旨在对齐语言和异质结构的建模能力,使tokenizer和语言模型之间更好地协作。首先,我们考虑用 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表示异质图节点 X = { X T i ∈ R ∣ V T i ∣ × d T i } \mathbf{X} = \{X_{T_i} \in \mathbb{R}^{|\mathcal{V}_{T_i}|\times d_{T_i}}\} X={XTi∈R∣VTi∣×dTi}的总数。这里, l i l_i li表示与第 i i i个节点相关联的文本内容的长度。在我们的方法中,我们采用了一个轻量级的文本-图对比对齐范式,如下所示:
H ^ = norm ( HG-Tokenizer ( X ) ) , T ^ = norm ( LM-Tokenizer ( C ) ) \hat{\mathbf{H}} = \text{norm}\left(\text{HG-Tokenizer}\left(\mathbf{X}\right)\right), \hat{\mathbf{T}} = \text{norm}\left(\text{LM-Tokenizer}\left(\mathbf{C}\right)\right) \nonumber H^=norm(HG-Tokenizer(X)),T^=norm(LM-Tokenizer(C))
L = 1 2 ( CE ( Λ , y ) + CE ( Λ ⊤ , y ) ) , Λ = ( H ^ T ^ ⊤ ) ⋅ exp ( τ ) \mathcal{L} = \frac{1}{2}\left(\text{CE}(\Lambda, \mathbf{y}) + \text{CE}(\Lambda^{\top}, \mathbf{y})\right), \Lambda = (\hat{\mathbf{H}} \hat{\mathbf{T}}^{\top}) \cdot \exp (\tau) L=21(CE(Λ,y)+CE(Λ⊤,y)),Λ=(H^T^⊤)⋅exp(τ)
我们使用对比标签 y = ( 0 , 1 , ⋯ , n − 1 ) ⊤ \mathbf{y} = (0, 1, \cdots, n-1)^{\top} y=(0,1,⋯,n−1)⊤和交叉熵函数 CE ( ⋅ ) \text{CE}(\cdot) CE(⋅)。我们的实现使用多层普通Transformer来进行 LM-Tokenizer ( ⋅ ) \text{LM-Tokenizer}(\cdot) LM-Tokenizer(⋅)。
3.2 异质图指令微调
HiGPT的目标是使语言模型能够直接为具有未见过的异质图和相应指令的下游任务生成预测。首先,使用tokenizer对自然语言指令进行编码,得到文本嵌入,表示为 X I = LM-tokenizer ( instruction ) \mathbf{X}_{\mathcal{I}} = \text{LM-tokenizer}(\texttt{instruction}) XI=LM-tokenizer(instruction)。为了对齐维度,我们使用一个投影器将图tokens映射到与文本嵌入相同的维度,表示为 X G = f P ( H ) \mathbf{X}_{\mathcal{G}} = f_{\mathbf{P}}(\mathbf{H}) XG=fP(H),这可以是一个简单的线性层。对于长度为 L L L的序列,我们确定生成目标输出 X O \mathbf{X}_{\mathcal{O}} XO的概率:
p ( X O ∣ X G , X I ) = ∏ i = 1 L p Φ ( x i ∣ X G , X I , < i , X O , < i ) p(\mathbf{X}_{\mathcal{O}}|\mathbf{X}_{\mathcal{G}}, \mathbf{X}_{\mathcal{I}}) = \prod_{i=1}^{L}p_{\Phi}(x_i|\mathbf{X}_{\mathcal{G}}, \mathbf{X}_{\mathcal{I}, <i} , \mathbf{X}_{\mathcal{O}, <i}) p(XO∣XG,XI)=i=1∏LpΦ(xi∣XG,XI,<i,XO,<i)
其中 Φ \Phi Φ表示HiGPT中的可学习参数。
3.2.1 基于异质图“语料库”的指令微调
为了使语言模型(LLM)能够根据自然语言指令有效地区分不同类型的输入异质图tokens和每种类型中的特定节点,我们提出使用包含大量异质图-指令对的"语料库"进行指令预训练。这种方法使得微调后的HiGPT在同质和异质图结构方面都有全面的理解。
-
异质关系感知: 我们的目标是增强语言模型在异质上下文中区分特定类型节点方面的能力,同时考虑复杂的关系。这通过利用图tokens中编码的信息来实现。
-
同构关系感知: 我们的目标是使模型具有在图tokens序列与其对应的自然语言描述之间建立显著的对应关系的能力,这些图tokens序列属于同一类别。
异质图指令: 在我们的图指令中,我们通过随机邻居采样生成一个异质子图,并配有一个由人类生成的问题。为了增强异质图语料库的多样性,我们对不同类型的节点进行多次采样。此外,我们在人类问题中引入<graph> token作为图示意符。i)实现异质关系感知,我们引入了跨类型token匹配任务。这个任务涉及向语言模型(LLM)提供不同类型的图tokens编码序列,使其能够区分各种类型。ii)实现同构关系感知,我们设计了同类型匹配任务,其中LLM接收特定类型的图tokens编码序列,使其能够与相关描述建立对应关系。有关此阶段指令模板的更多详细信息,如表1所示。

3.2.2 异质感知微调
为了定制语言模型在异质图特定下游任务的推理能力,我们提出了异质感知微调。这种方法涉及在初始的异质图语料库指令预训练阶段之后,使用特定下游任务的指令进行监督学习。它使我们能够完善LLM的性能,并使其适应异质图上目标任务的特定要求。
在这个阶段,我们结合了一个以目标节点为中心随机采样的异质子图,以及一个由人类生成的问题。考虑到指令预训练阶段已经使模型具有异质和同构关系感知能力,我们设计了富有异质性的人类问题。这些问题包含不同类型的图tokens序列,由多个<graph>tokens表示。此外,人类问题包括与目标节点相关的辅助信息。这些指令的设计如表1所示。
3.3 Mixture-of-Thought (MoT) 图指令微调
在异质图学习的实际应用中,数据稀少通常是一个挑战。尤其是在使用异质图对推荐系统中的冷启动user/item进行建模时,稀疏的用户交互数据限制了可用的有监督信号。为了解决数据稀少的问题,我们提出通过将增强的图指令合并到我们的HiGPT中来增强我们的模型。在异质图指令微调的背景下,我们引入了一种用于指令增强的新方法。这种方法利用提示工程技巧,特别是Mixture-of-Thought(MoT),来生成多样化和信息丰富的指令,以有效地克服数据稀少带来的挑战。通过将增强的图指令合并到我们的模型中,我们期望我们的模型能够有效地解决数据稀少问题。
3.3.1 Mixture-of-Thought (MoT) 提示
我们的重点是设计和优化提示,以有效利用语言模型。我们采用了几种技巧来增强语言模型:i)Chain-of-Thought(CoT):CoT 提示引入中间步骤,使复杂的推理和高级能力成为可能。ii)Tree-of-Thought(ToT):ToT 保持一棵由一致的语言序列组成的树状结构,称为Thought。这些Thought作为系统的中间步骤用于问题解决。iii)PanelGPT:PanelGPT 在语言模型之间引入了讨论板块,通过协作来增强提示工程过程。iv)Generated Knowledge Prompting(GKP):GKP 涉及将额外的知识合并到提示中以进行增强。通过利用这些技巧,我们的目标是增强异质图指令,尤其是在数据有限可用性的场景中。
3.3.2 带有先验知识的指令增强
我们使用七种指令增强策略,每种策略为每个问题-答案对生成七个增强的指令,有机结合了以上Mixture-of-Thought(MoT)的特征。然而,闭源语言模型(如 ChatGPT)可能会产生错误的答案,从而导致错误的指导。为了解决这个问题,我们提出将先验知识,即正确的答案合并到提示中。它使LLM能够模拟生成正确的答案,并使用不同的MoT方法产生中间的推理步骤,如图2所示。最终经过MoT增强的指令和原始指令一起用于指令微调,实现了在不增加监督信号的条件下增加指令集数量。

4. 实验
4.1 总体性能对比
Obs.1 在few-shot设置下的优越性: HiGPT在监督学习设置下始终优于最新的基线方法,即使每个类别只有一个样本。这种成功可以归功于我们在大规模异质图语料库上的有效指令微调。这使得LLM能够从图tokens中提取有价值且可传递的异质结构信息,从而在下游任务中取得了显著的性能提升。此外,我们提出的MoT图指令增强方法使LLM具有各种混合推理能力,而无需额外的监督信号。因此,它在少样本场景中有效减轻了数据稀少问题带来的影响。
Obs.2 在zero-shot设置下的优越性: 在零样本设置下,我们的HiGPT显著优于基线方法。不像传统模型受到训练图类型的限制,我们的方法利用了一个上下文异质图tokenizer。这个tokenizer根据输入图进行适配tokenization,使LLM能够无缝地结合捕捉高阶结构特征的图tokens。因此,我们的模型有效地克服了图异质性偏移的限制,即使在跨域场景下也表现出色,展示了我们HiGPT的显著泛化性。
Obs.3 Mixture-of-Thought增强的有效性: 通过采用Mixture-of-Thought(MoT)方法,我们的模型利用了强大的LLM(即GPT-3.5)的各种推理能力,并无缝地将它们集成到规模更小的语言模型中。这种集成有助于增强我们模型在数据稀少情况下的推理能力,并提高其在有限监督信号情况下的性能。MoT技巧在生成动态和多样的指令方面发挥着关键作用,从而弥补了数据的不足,使我们的模型能够在监督和零样本设置下做出显著准确的预测。

4.3 消融实验

异质图指令微调的影响。为了验证在大规模异质图语料库上的指令微调阶段的有效性,我们生成了"w/o S1"变体,即仅在下游任务数据上微调指令。通过使用不同的epoch设置(15、50 和 100)进行实验,我们观察到,仅在下游任务数据上微调的模型在所有情况下都无法提供完整和准确的答案。然而,我们的HiGPT在所有设置中仅在15个epoch内就取得了最新的成果。这种成功可以归功于我们的HiGPT从广泛的异质图上下文语料库中学习,使其能够理解和提取重要的结构信息。因此,在第二阶段,我们的HiGPT仅需要很少的监督数据(甚至在1-shot场景下)就能快速适应下游任务。相比之下,直接将LLMs与稀疏的监督数据对齐是具有挑战性的。
异质图上下文tokenizer的影响。我们测试了引入上下文tokenizer的异质图结构信息的必要性。通过不引入异质图tokens,仅在下游数据上训练LLM的嵌入权重,我们获得了一个名为"w/o HG"的变体。在不同的shot设置下,我们的HiGPT始终优于这个变体,尤其是在样本有限的场景中(例如,1或3个shot)。这种改进可归功于引入了图令牌,使LLM能够从上下文图tokenizer中提取高维异质结构信息。这种增强的理解显著提高了LLM在稀疏监督信号下的准确性。
Mixture-of-Thought(MoT)指令增强的影响。为了验证Mixture-of-Thought(MoT)图指令增强策略的有效性,我们仅使用直接回答指令训练了变体"-IA"。结果显示,在没有指令增强的情况下,模型的性能有了显著下降,突出了其在解决下游任务中标签稀缺问题方面的重要性。此外,HiGPT在零样本设置下的优异性能可以归功于其在训练过程中获得的增强推理能力,该能力是通过使用各种推理指令获得的。这种提高的能力使得可以有效地进行跨数据集和跨域的转移。
4.4 图上下文学习(Graph ICL)

使用HiGPT中的Graph ICL,1-shot模型超过60-shot模型: 结果显示,即使只有一个例子,在没有进一步训练的情况下,使用Graph ICL的大多数1-shot模型在监督和零样本设置下始终优于不使用Graph ICL的60-shot模型。增加示例的数量会增强上下文学习的效果。这种改进可以归功于HiGPT的两阶段指令调整过程,使其能够理解和分析异质图tokens,从而益处下游任务。通过提供具有图tokens的问答示例,模型对图文关系有了更深的理解。分析并模仿这些示例会导致更准确的回答。
使用Graph ICL增强HiGPT的迁移性: 在HiGPT中使用Graph ICL的优势在零样本迁移场景下尤为明显。这表明Graph ICL方法显著提高了HiGPT的迁移性,而无需优化模型参数。我们的HiGPT不仅仅是过度适应单个数据集,而是发展出了分析文本与异质图tokens的能力。通过从其他数据集中融合图示例,模型无缝地转移这种分析能力,显示出强大的迁移学习能力。
使用无关图例的好处: 我们尝试使用无关的图例(如使用DBLP Q&A 示例来测试 ACM 数据集)进行Graph ICL实验。惊人的是,使用 DBLP 图例取得了最佳结果。尽管目标任务不同,我们的HiGPT有效地利用了异质图tokens中的上下文信息,从而提高了下游任务的性能。这证实了我们的HiGPT从异质图结构中学习到了有价值的信息,而不仅仅依赖文本。使用 ACM 自己的示例表现不是很好,这是因为在对齐和阶段1的过程中,我们没有使用ACM的数据进行训练,缺失了对于ACM数据的建模能力。然而,DBLP的示例在某种程度上缓解了这个问题。
4.5 模型案例研究
我们探究了在不同提示技巧下HiGPT的行为。具体来说,我们利用各种提示技巧对在10-shot IMDB数据上训练的模型进行提示,获得六种不同的响应,预测案例如表1所示。最终答案所在的部分以粉色高亮突出显示。我们做出了以下观察:Obs. 1 在使用MoT图指令增强策略进行指令调整后,我们的HiGPT能够动态地准确地回应不同的提示。Obs. 2 表1中的CoT提示,虽然未格式化,但也显示出了一定的格式(以黄色高亮突出显示),这是因为混合各种指令也能够惠及不同的提示技巧。Obs. 3 在案例中,我们的HiGPT在进行了我们设计的两阶段图指令调整后,会自觉地从图的角度考虑问题(以绿色高亮突出显示),进一步证明我们的模型不仅从文本角度解决下游问题,还开发出了一定程度的图感知能力。

5. 总结
本工作引入了HiGPT,一个通用而多功能的图模型,它能够从各种异质图中学习,而无需下游微调过程。为了解决异质性的分布偏移,我们提出了一个上下文异质图tokenizer,它能够捕捉不同异质图中的语义关系,从而实现模型的无缝适应。通过将异质性感知的图指令集成到我们的HiGPT中,该模型变得精通于理解复杂的关系异质性,并准确地区分各种类型的图token。我们所提出的框架在各种场景下经过了广泛的评估,表现出了出色的泛化性能。
相关文章:
港大新工作 HiGPT:一个模型,任意关系类型 !
论文标题: HiGPT: Heterogeneous Graph Language Model 论文链接: https://arxiv.org/abs/2402.16024 代码链接: https://github.com/HKUDS/HiGPT 项目网站: https://higpt-hku.github.io/ 1. 导读 异质图在各种领域…...
Git版本管理使用手册 - 5 - Git的.ignore文件语法
Git的.ignore文件 1.使用 .ignore文件可以忽略指定文件的版本控制。 2.语法: (1)#开头表示注释 (2)!开头表示不忽略匹配文件 (3)* 表示除/外,任何字符串 (4)?表示除/外,任何一个字符 (5)/ 如果模式的结尾有分割符/&am…...
使用Spring Cloud Gateway构建API网关,实现路由、过滤、流量控制等功能。
使用Spring Cloud Gateway构建API网关,实现路由、过滤、流量控制等功能。 使用Spring Cloud Gateway可以轻松地构建API网关,实现路由、过滤、流量控制等功能。下面是一个简单的示例,演示如何在Spring Boot应用程序中集成Spring Cloud Gatewa…...
Matlab|电动汽车充放电V2G模型
目录 1 主要内容 1.1 模型背景 1.2 目标函数 1.3 约束条件 2 部分代码 3 效果图 4 下载链接 1 主要内容 本程序主要建立电动汽车充放电V2G模型,采用粒子群算法,在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的消…...
<QT基础(4)>QLabel使用笔记
Label 前面的文章里面把QLabel批量引入ScrollArea作为预览窗口,这篇把图像填充到QLable的PixelMap展示指定图像。 参数设置 设置QLabel的大小格式 QWidget* widget new QWidget; widget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); widget->…...
2016年认证杯SPSSPRO杯数学建模C题(第二阶段)如何有效的抑制校园霸凌事件的发生全过程文档及程序
2016年认证杯SPSSPRO杯数学建模 C题 如何有效的抑制校园霸凌事件的发生 原题再现: 近年来,我国发生的多起校园霸凌事件在媒体的报道下引发了许多国人的关注。霸凌事件对学生身体和精神上的影响是极为严重而长远的,因此对于这些情况我们应该…...
前端理论总结(css3)——css优化的方法
1:首推的是合并css文件,如果页面加载10个css文件,每个文件1k,那么也要比只加载一个100k的css文件慢 2:减少css嵌套,最好不要套三层以上 3:不要在ID选择器前面进行嵌套,ID本来就是唯一…...
项目立项管理
目录 1.概述 2.项目建议与立项申请 3.项目可行性研究 3.1.内容 3.2.初步可行性研究 3.3.详细可行性研究 4.项目评估与决策 5.总结 1.概述 本文的目录结构参考了《信息系统项目管理师教程(第四版)》。 项目立项管理是一项全面评估准备投资工程的多…...
QT的学习
代码练习 完成一个使用qss的登陆窗口界面。 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否…...
redis在docker安装并启动流程
1、启动server docker run -d -p 6379:6379 --name redis01 redis:7.2.4以上命令,每次启动新的Redis容器,数据会丢失。 我们需要挂载数据文件,在宿主机上面,这样就可以持久化数据. 2、挂载数据文件(可根据需求选择…...
Spring高频面试题
(一些来源于GitCode AI) 什么是Spring框架? Spring是一个开源的Java平台,它简化了企业级应用的开发。它提供了IOC(Inversion of Control)/DI(Dependency Injection)容器,…...
Qt篇——Qt无法翻译tr()里面的字符串
最近遇到使用Qt语言家翻译功能时,ui界面中的中文都能够翻译成英文,但是tr("测试")这种动态设置给控件的中文,无法翻译(lang_English.ts文件中的翻译已经正确添加了tr()字符串的翻译)。 上网搜了很多资料&am…...
农村分散式生活污水分质处理及循环利用技术指南
标准已完成意见征集: 本文件给出了农村分散式生活污水分质处理及循环利用的总则、污水收集、污水分质处理、资源化利用、利用模式、运维管理等的指导。 本文件适用于农村分散式生活污水分质处理及循环利用的设施新建、扩建和改建工程的设计、施工与运维。 注:本文件…...
深圳区块链交易所app系统开发,撮合交易系统开发
随着区块链技术的迅速发展和数字资产市场的蓬勃发展,区块链交易所成为了数字资产交易的核心场所之一。在这个快速发展的领域中,区块链交易所App系统的开发和撮合交易系统的建设至关重要。本文将探讨区块链交易所App系统开发及撮合交易系统的重要性&#…...
使用Shell脚本进行MySql权限修改
背景:原先数据配置文件中有bind-address127.0.0.1,注释掉此配置后,原数据库中默认带%root的权限,现在需要通过脚本实现白名单列表中的ip添加权限允许访问数据库,白名单之外的ip没有权限访问数据库。 以下是过程中记录的…...
项目中线程池的应用
1、首先我们需要在配置类中将线程池作为单例bean配置 Configuration public class ThreadPoolExecutorConfig {BeanExecutorService executorService(){return new ThreadPoolExecutor(2,3,0,TimeUnit.MICROSECONDS,new ArrayBlockingQueue<>(3),(r)->new Thread(r,&…...
前端 JS 压缩图片的思路(附源码)
前言 相信大家都做过图片上传相关的功能,在图片上传的过程中,不知道大家有没有考虑过文件体积的问题,如果我们直接将原图片上传,可以图片体积比较大,一是上传速度较慢,二是前端进行渲染时速度也比较慢,比较影响客户的体验感。所以在不影响清晰度的情况下,前端可以在上…...
C语言结合体和枚举的魅力展现
前言 ✨✨欢迎👍👍点赞☕️☕️收藏✍✍评论 个人主页:秋邱’博客 所属栏目:人工智能 (感谢您的光临,您的光临蓬荜生辉) 引言: 前面我们已经讲了结构体的声明,自引用,内存…...
基于STC12C5A60S2系列1T 8051单片机通过单个按键单击次数实现开关机应用
基于STC12C5A60S2系列1T 8051单片机通过单个按键单击次数实现开关机应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍基于STC12C5A60S2系列1T 8051单片机通过单个按…...
静态住宅IP优缺点,究竟要怎么选?
在进行海外 IP 代理时,了解动态住宅 IP 和静态住宅 IP 的区别以及如何选择合适的类型非常重要。本文将介绍精态住宅 IP 特点和,并提供选择建议,帮助您根据需求做出明智的决策。 静态住宅 IP 的特点 静态住宅 IP 是指 IP 地址在一段时间内保…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
