Advertisement

【GNN-KD】2022 ICLR GLNN Graph-Less Neural Networks: Teaching Old MLPs New Tricks Via Distillation

阅读量:

目录

0 简介

1 Background

2 Motivation

3 Method

4 Experiment

4.1. GLNN与MLPs和GNNs相比如何?

4.2. GLNN在两种不同的实验设置下都能很好地工作吗?

4.3. GLNN与其他推理加速方法相比如何?

4.4. GLNN如何从KD中获益?

5. GLNN是否有足够的模型表现力?

6. GLNN何时会失效?

5 Ablation Study

5.1 Noisy node features

5.2 Inductive split rate

5.3 Teacher GNN architecture

6 Conclusion

7 Personal Comments


0 简介

将GNN蒸馏给MLP:实现准确且快速的图机器学习模型部署

论文标题:

Graph-Less Neural Networks: Teaching Old MLPs New Tricks Via Distillation

收录来源:

ICLR 2022

论文来源:

https://arxiv.org/abs/2110.08727

1 Background

图神经网络(Graph Neural Networks GNNs)最近引起了图机器学习(Graph Machine Learning GML)研究领域的广泛关注,并在节点分类(node classification)任务中展现出显著性能。然而,在大规模工业应用场景中,主流的模型仍以多层感知机(Multilayer Perceptron MLP)为主,其表现相对较弱(PS:通常情况下,MLP在性能上较GNNs有一定差距)。这种学术界与工业界之间的差距,部分原因在于GNNs对图依赖性(graph dependency)的高度敏感性。这使得GNNs在需要快速推理(推理速度)和对延迟(latency)敏感的应用部署中存在较大挑战。

由拓扑依赖性(topological dependency)导致的邻居节点收集(neighborhood collection)是引起 GNN 延迟性主要原因之一。对目标节点的推断/预测(inference)需要从多个邻居节点获取其拓扑结构(topology)和特征(feature/attribute)信息。目前的研究主要集中在如何实现 GNN 的推理加速(inference acceleration)。

主流的加速模型包括剪枝和量化。这些方法通过减少乘加运算(Multiplication-and-Accumulation, MAC)来一定程度上提升GNN的推理速度。然而,尽管这些方法在一定程度上提升了推理速度,但受限于GNN固有的图依赖性,剪枝和量化的效果仍然有限。

2 Motivation

▲ 图1:GNN和MLP在不同层数下的所需邻居节点个数和推理时间

与 GNNs 相比,MLPs 由于其输入仅限于节点的特征(node attribute),因此在处理图数据时并不依赖于图结构(graph structure),且在部署上更为便捷。此外,MLPs 还具有的另一个显著优势是,它能够有效避免图数据在线预测过程中经常出现的 cold start issue(冷启动问题)。这表明,即使新节点的邻居信息尚未完全获取,MLP 依然能够合理推断出新节点的表征。

然而,由于 MLP 不依赖于邻居信息,其在实际应用中往往不如 GNN 的表现。针对这一问题,我们提出以下思考:是否能在 GNN 和 MLP 之间建立一种有效结合的方式,既能继承 MLP 的低延迟和无图依赖性,又能达到与 GNN 相媲美的性能?

即,该文章旨在构建一个模型,该模型兼具MLP的低延迟和无需依赖图结构的优点,其预测准确率与GNN相当,从而有效缓解了GNN延迟较高的问题。具体分析如下:

基于图依赖性(graph dependency)的特性,GNNs 在推理过程中会面临显著的时间开销(inference time)。每增加一层,GNN 就需要获取下一跳(1-hop)的邻居信息。在平均度数为 R 的图中(每个节点平均拥有 R 个邻居节点),使用 L 层的 GNN 来推断一个节点时,需要获取其所有相关邻居信息。在现实世界中的图中,平均度数 R 通常较大,例如,在 Twitter 数据集中,平均度数 R 达到了 208。由于邻居信息必须逐层获取,GNN 的推理时间会随着层数 L 的增加而显著增长。

图 1 描述了 GNNs 随着深度增加所需邻居数量及推理时间呈指数增长趋势。相比之下,MLP 在相同深度下推理时间显著降低,呈现线性增长特征。这一差距的形成有助于理解为何 MLP 在实际应用中更受欢迎。

进一步研究表明,邻居节点获取(node-fetching)的延迟受到两个主要因素的显著影响:其一,随着架构深度的显著提升,从64层增加至1001层,导致系统性能下降;其二,在工业场景中,图数据规模庞大,无法完全加载至单机内存中,因此,邻居节点的获取过程需要通过内存与磁盘的交互进行,这种机制的引入进一步加剧了延迟问题。

另一方面,MLPs 未能充分利用图的拓扑结构(topological structure),这导致其在节点分类(node classification)任务上的性能显著下降。 具体而言,GraphSAGE 在 ogbn-Products 数据集上的准确率为 78.61%,而相同层数的 MLP 则仅有 62.47%。然而,近期在计算机视觉(CV)和自然语言处理(NLP)领域的研究表明,经过适当调整的大型 MLPs 可以达到与卷积神经网络(CNN)和Transformer相当的性能。

该研究致力于将图神经网络和多层感知机的优势融合,以实现高精度预测和低延迟响应。

3 Method

为了整合 GNN 和 MLP 的优势,从而构建一个高精度且低延迟的模型,该研究提出了一种称为 Graph-less Neural Network(GLNN)的新模型。具体而言,GLNN 是一种基于教师 GNN 和学生 MLP 的知识蒸馏机制。经过训练后,学生 MLP 便成为最终的 GLNN 实例。因此,在训练过程中,GLNN 利用了图拓扑结构的优势,但在推理过程中,GLNN 不依赖于图结构。

知识蒸馏技术(Knowledge Distillation KD)是由Hinton及其同事于2015年提出的一种方法,其核心在于将知识从一个复杂教师模型转移到一个更简洁的学生模型。本文旨在通过知识蒸馏技术从复杂的教师模型GNN中训练一个性能优异的MLP模型。

具体而言,我们通过教师GNN对每个节点创建其软目标(soft targets),随后,我们利用真实标签(true label/ground truth)与学生MLP预测的标签,结合教师GNN生成的软目标,来进行训练。GLNN的目标函数,如公式1所示,由两部分组成。首先, 是权重参数;其次, 是真实标签(true label/ground truth)与学生MLP预测出的标签之间的交叉熵(cross-entropy)函数;最后, 是KL散度(KL-divergence)。

▲ 公式1

通过知识蒸馏训练后生成的学生模型GLNN本质上等同于一个多层感知机。因此,GLNN在推理过程中完全不受图结构的影响,并且推理速度与MLP相当。通过知识蒸馏,GLNN的参数经过优化后不仅具备与GNN相同的预测能力和泛化性能,而且推理速度更快,部署更加便捷。图2展示了GLNNs的框架图。

▲ 图2:GLNN框架

4 Experiment

基于GLNN的模型相对简单,因此实验部分成为本文的核心内容。通过从多个角度证明和阐述GLNN的有效性及其有效原因,实验部分成为本文的核心内容。实验部分主要回答了以下六个问题:

4.1. GLNN与MLPs和GNNs相比如何?

在分析过程中,我们将GLNN与其在相同层数和隐藏维度设置下的MLP和GNN,在标准直推环境下进行对比。

实验结果如表1所示,所有GLNN的性能指标都较MLPs实现了显著提升。在较小的数据集中(前五行),GLNNs的性能甚至可以超越教师GNNs的性能。换句话说,在相同的实验条件下,存在一组MLP参数配置,其性能指标可以与GLNN相媲美。对于大规模(large-scale)OGB数据集(最后两行),GLNN的性能有所提升,但仍然未能达到教师GNN的水平。然而,这种GLNN与教师GNN在大规模数据集上的性能差距可以通过增加MLP层数来缓解,如表2所示。

由图 3右侧的图所示,一方面,逐步提升 GLNN 的层数能够使其性能趋近于 SAGE 的水平。另一方面,当 SAGE 的层数减少后,其准确率会骤降至低于 GLNNs 水平。

▲ 表1:GLNN与MLPs和GNNs在常规数据集上的表现比较

表2展示了在大规模数据集上,加深的GLNN与MLPs和GNNs的表现对比。在Arxiv数据集上,GLNN的网络深度是MLP的4倍;在Product数据集上,GLNN的网络深度是MLP的8倍。

▲ 图3:加深的GLNN与GNN的表现比较

4.2. GLNN在两种不同的实验设置下都能很好地工作吗?

在transductive框架下,节点分类任务常被采用,但该框架仅能预测训练集中的节点(基于完整的邻接矩阵构建)。为了更全面地评估GLNN的效果,本文还探讨了在inductive框架下的实验(即训练时使用的邻接矩阵不是完整的,而是去除了测试集的节点及其关联的边)。具体实验设置可参考原文,实验结果如表3所示。

在表 3 中,表 3 显示,GLNN 在归纳设置下的性能仍能显著优于 MLP。在 6/7 个数据集上,其性能接近 GNNs。然而,在大规模的 Arxiv 数据集上,GLNN 的性能明显低于 GNNs,具体原因在于 Arxiv 数据集的数据分割(data split)具有特殊性,导致测试节点与训练节点之间的分布转移(distribution shift),从而使 GLNN 难以通过知识蒸馏机制(knowledge distillation,简称 KD)获取邻居信息。

▲ 表3:GLNN与MLPs和GNNs在直推(transductive)和归纳(inductive)设置下的表现

4.3. GLNN与其他推理加速方法相比如何?

常用的推理加速技术包括剪枝和量化。这些方法通过减少乘加运算(MAC)来实现加速。然而,这些方法未能有效解决由于需要获取邻居信息而导致的延迟问题。因此,在GNNs中的加速提升相对较少,而对普通神经网络(NNs)的提升更为显著。

在GNN模型中,邻居采样技术(neighbor sampling)也被用来降低通信延迟。在本实验中,我们采用了四个基准线(baseline)进行对比,包括传统的SAGE模型、基于FP32到INT8量化优化的QSAGE量化模型、带有50%权重剪枝的PSAGE剪枝版本,以及采用邻居采样策略的Neighbor Sample,其中邻居采样策略下设置fan-out为15。实验结果显示,在表4中,GLNN的表现明显优于所有基准线。

表4展示了GLNN及其基线模型在归纳设置(inductive setting)下的推理时间性能。

另外两种用于推理加速的技术是基于GNN的KD机制,例如TinyGNN和GA-MLPs,如SGC和SIGN。基于GNN的KD机制的推理速度通常会比相同层数的普通GNN慢,主要归因于一些额外的开销,例如TinyGNN中的Peer-Aware Module(PAM)。

GA-MLPs 通常需要预先计算增强的节点特征并对这些特征应用MLPs。由于预计算(预计算不计入推理时间),因此 GA-MLPs 的推理时间与 MLPs 相同。因此,对 GLNN、GNN-to-GNN 以及 GA-MLPs 的推理时间比较,可以等价于对 GLNN、GNN 和 MLP 进行比较。

实验结果如图3左图所示,GNN在推理任务中的表现不如MLP。尽管GA-MLPs受限于无法对归纳节点进行完全的预计算,但它们仍然需要获取邻居节点,因而即使在归纳设置中,其表现也比MLP慢得多,甚至比剪枝优化后的GNN和TinyGNN还要差。因此,GLNN在性能上超越了GNN-to-GNN和GA-MLPs的基准线。

4.4. GLNN如何从KD中获益?

利用损失曲线的图,表明 KD 可借助正则化方法和归纳偏见转移机制,从而优化 MLP 的参数,使其与 GNN 类似地表现出色。进一步分析表明,GLNN 的优势在于其教师输出中所包含的图拓扑结构信息(graph topology knowledge)。具体细节,有兴趣的读者可以自行查阅原文。

5. GLNN是否有足够的模型表现力?

从直觉上看,在节点分类任务中,GNN通过邻居信息展现出的性能在节点分类任务中具有显著优势。因此,MLP是否能够以与GNN相当的表现力来代表图数据这一问题,这篇文章给出了肯定的回答:当节点属性非常丰富时,MLP与GNN在表现力上是相当的。具体细节,有兴趣的读者可以自行阅读原文。

6. GLNN何时会失效?

当每个节点的度(degree)或是否形成三角形来标记时,MLP无法有效拟合,而GLNN也无法有效学习。但这种情况是非常罕见的。对于实际的图机器学习任务,节点特征和该节点在拓扑结构中的角色往往是高度相关的。因此,即使仅基于节点特征,MLPs也能取得合理的效果,而GLNNs则可能表现出更优的性能。

5 Ablation Study

我们对带噪声的节点特征、归纳设置下的分割率(简称:ISRs)以及教师型 GNN 结构进行了系统性消融研究。以下仅呈现研究结论,实验细节有兴趣的读者可自行查阅原文。

▲ 图4

5.1 Noisy node features

为了降低节点特征(node features)与其标签的相关性,我们引入了不同级别的高斯噪声。其中,α 用于表示噪声引入的程度。实验结果如图4-左图所示,当 α 值增大时,MLP 和 GLNN 的性能比 GNN 下降得更快。而当 α 较小时,GLNN 和 GNN 的性能表现相当。

5.2 Inductive split rate

在图 5 中,我们展示了不同分割率下 MLP、GNN 和 GLNN 的性能对比。实验结果表明,随着分割率的增加,即归纳能力的提升,GNN 和 MLP 的性能基本保持稳定,而 GLNN 的归纳性能则略有下降。在面对大量新数据时,从业者可以选择在部署前基于所有数据重新训练模型以提升性能。

5.3 Teacher GNN architecture

在图 5-右图中,我们展示了使用不同 GNN 作为教师的实验结果,包括 GCN、GAT 和 APPNP。通过实验结果可以看出,GLNN 从不同教师那里学习,其性能普遍优于 MLPs。在四个教师中,基于 APPNP 的 GLNN 在性能上略逊于其他教师。一个可能的原因是,APPNP 的第一步利用了节点自身的特征进行预测(在图上传播之前),这与学生 MLP 的处理方式非常相似,因此,相比于其他教师,MLP 接收到的额外信息量较少,导致其性能略逊一筹。

6 Conclusion

该研究探讨了如何结合图神经网络(GNN)和多层感知机(MLP)的优势,以实现图机器学习模型的高效部署。研究发现,通过从GNN到MLP的知识蒸馏(knowledge distillation),可以有效消除推理图的依赖性,从而使得图卷积神经网络(GLNN)在推理速度上较传统GNN提升了146倍至273倍,同时保持了原有的性能水平。研究者对GLNN的特性进行了系统分析,并在多个领域中的7个典型数据集上进行了实验验证。结果表明,GLNN不仅在性能上具有显著优势,而且在满足延迟约束的场景下展现出良好的适用性,因此可以被视为一种值得推广的部署方案。

7 Personal Comments

本文探讨了一个具有重要实用价值的科研问题,即探讨如何解决图神经网络(GNN)推理时间过长的局限性,使其能够在实际应用场景中得到广泛应用。研究者采用了知识蒸馏(knowledge distillation)方法作为解决方案,通过将GNN的知识转移到多层感知机(MLP)中,使MLP能够达到与GNN相当的性能水平。本文作者对此深表认可,认为该研究简洁高效,通过多维度实验验证了GLNN的性能。

ICLR 2022 | 通过知识蒸馏将GNN迁移到MLP:实现准确且高效的图机器学习模型部署

全部评论 (0)

还没有任何评论哟~