来自计算所发布的 研究分布式GNN训练中使用的各种优化技术,提供了分布式GNN训练的全面综述。
图神经网络(GNNs)在图学习方面的有效性已被证明是广泛应用领域的一种强大的算法模型。为了扩大GNN训练以适应大规模和不断增长的图,最有前途的解决方案是分布式训练,它将训练工作量分布到多个计算节点。然而,对分布式GNN训练的工作流程、计算模式、通信模式和优化技术仍有初步了解。在本文中,我们通过研究分布式GNN训练中使用的各种优化技术,提供了分布式GNN训练的全面综述。首先,根据分布式GNN训练的工作流程将其分为几类;此外,还介绍了它们的计算模式和通信模式,以及最新工作提出的优化技术。其次,介绍了分布式GNN训练的软件框架和硬件平台,以加深对分布式GNN训练的了解。第三,将分布式GNN训练与深度神经网络的分布式训练进行了比较,强调了分布式GNN训练的唯一性。最后,讨论了该领域的研究热点和发展机遇。
https://www.zhuanzhi.ai/paper/e85caecb1c45f7412fc38a4f681097ab
1. 概述
图具有强大的数据表示能力,特别是在表示对象之间的关联[1],[2]等方面有着广泛的应用。许多真实世界的数据可以自然地表示为由一组顶点和边组成的图。以社交网络为例[3],[4],图中的顶点表示人,边表示人在Facebook上的互动[5]。如图1 (a)所示,圆圈代表顶点,箭头代表边。另一个众所周知的例子是知识图[6]、[7],其中顶点表示实体,而边表示实体之间的关系[8]。图神经网络(GNNs)在图[9]-[11]的学习中表现出优于其他算法模型的性能。深度神经网络(DNNs)已广泛应用于分析图像[12]等欧几里德数据。然而,由于图[13]的任意大小和复杂的拓扑结构,非欧氏域的图数据对它们提出了挑战。此外,工业界识别的深度学习范式的一个主要弱点是不能有效地进行因果推理,这大大降低了智能系统[14]的认知能力。为此,GNN已成为图学习的主要范式,并赋予智能系统认知能力。如图1 (b)所示。GNN在获取图数据作为输入后,使用前向传播和后向传播来更新模型参数。然后将训练好的模型应用于图任务,包括顶点预测[15](预测特定顶点的属性),链接预测[16](预测两个顶点之间是否存在一条边),图预测[17](预测整个图的属性),如图1 (c)所示。
由于GNN的优越性,它们在许多关键领域的各种实际应用中得到了广泛的应用。这些实际应用包括知识推理[18]、自然语言处理[19]、[20]、机器翻译[21]、推荐系统[22]-[24]、视觉推理[25]、芯片设计[26]-[28]、交通预测[29]-[31]、网约车需求预测[32]、垃圾邮件评论检测[33]、分子属性预测[34]等等。GNN在处理广泛的现实应用时增强了机器的智能,例如在谷歌地图[29]中为>实时ETAs提高50%的准确率,在Pinterest[22]中生成>40%更高质量的推荐,在滴滴[32]中实现了>10%的网约车需求预测提高,在阿里巴巴[33]中以90%的准确率提高>66.90%的召回率。然而,工业界和学术界仍然热切期待GNN训练的加速,原因如下[35]- [38]:
图数据的规模迅速扩大,消耗了GNN训练大量的时间。随着互联网上信息的爆炸,新的图表数据不断产生和变化,比如社交中人际关系的建立和消亡,人们在网络购物中对商品偏好的变化。图中的顶点和边的规模分别接近甚至超过数十亿和万亿的数量级,[39]-[42]。图形规模的增长速度也是惊人的。例如,Facebook社交网络的顶点(即用户)数量正以每年17%的速度增长[43]。因此,随着图数据规模的不断增长,GNN的训练时间急剧增加。
新型GNN模型的快速开发和部署涉及到重复训练,大量的训练时间是不可避免的。由于[9]-[11]需要反复训练,因此要建立高精度的GNN模型还需要大量的实验工作。此外,将GNN模型的使用扩展到新的应用领域也需要大量的时间来用真实数据训练模型。如此庞大的计算负担需要更快的训练方法。
分布式训练是加速GNN训练[35]-[38],[40],[44]-[58]的流行解决方案。它试图通过向计算系统添加更多的计算资源或“节点”,并采用并行执行策略来加速整个计算过程,如图1 (d)所示。2019年提出的NeuGraph[44]是分布式GNN训练的第一篇发表作品。从那以后,近年来,人们不断尝试提高分布式GNN训练的效率,使用了各种各样的优化技术,包括工作负载分区[44]-[47],传输规划[37],[44]-[46],缓存策略[35],[51],[52]等。尽管做出了上述努力,但仍然缺乏对分布式GNN训练的综述。多个计算节点之间的管理和合作需要导致不同的工作流程,导致复杂的计算和通信模式,并使优化分布式GNN训练成为一个挑战。然而,尽管在这方面已经或正在做出大量的努力,但几乎没有任何关于这些挑战和解决方案的调研。目前的研究主要集中在GNN模型和硬件加速器[9]-[11],[59]-[62],但并不打算对GNN的分布式训练进行仔细的分类和总体概述,特别是从工作流、计算模式、通信模式和优化技术的角度。
介绍分布式GNN训练的基本概念。
分析分布式GNN训练的工作流程、计算模式和通信模式,总结优化技术。
强调分布式GNN训练与分布式DNN训练的区别
讨论分布式GNN训练领域的有趣问题和机遇。
2. GNN分布式训练
3 分布式GNN训练分类
本节介绍分布式GNN训练的分类。如图5所示,我们首先根据第II-C节介绍的训练方法,即每轮是否涉及整个图,将其分为分布式全批训练和分布式小批训练,并显示两种类型的关键区别。通过分析这两种类型的工作流程,将它们分别划分为两个详细的类型。本节介绍了第一级类别,即分布式全批训练和分布式小批训练,并对它们进行了比较。这两种类型的第二级类别稍后将分别在第四节和第五节介绍。