一种基于增量聚合策略的分布式图神经网络训练方法

专利检索2025-01-10  31


本发明属于图神经网络、图学习、深度学习系统以及深度学习领域,尤其涉及一种基于增量聚合策略的分布式图神经网络训练方法。


背景技术:

1、图神经网络是一种以图作为输入的深度学习模型,可以方便地处理各种图上的学习任务。由于图数据复杂且稀疏的关联结构,如何在超大规模图数据上训练图神经网络一直是一个极具挑战的问题。目前大多数可扩展的图神经网络训练系统采用一种子图采样的范式:通过从数据图上采样出一个较小的子图,以减少训练过程中的显存开销。然而,基于子图采样的训练模式并不能覆盖所有的场景,且存在采样方差大、模型精度下降等问题。为此,直接在全图上训练可扩展的图神经网络成为一个新兴的研究方向。在全图上训练可扩展的图神经网络主要采用分区并行范式:首先将图数据划分成多个分区,每个分区对应一块gpu。在训练时,图神经网络的每一层在所有gpu上运行,通过gpu通信实现分区间的节点的数据交换。因此,这种分布式分区并行训练的研究重点在于减少分区间通信量以及提高分区数据交换的额外存储成本。


技术实现思路

1、本发明的目的在于解决现有技术中存在的问题,并提供一种基于增量聚合策略的分布式图神经网络训练方法。

2、本发明所采用的具体技术方案如下:

3、第一方面,本发明提供一种基于增量聚合策略的分布式图神经网络训练方法,具体步骤如下:

4、s1.将待训练的原始社交网络图数据进行数据预处理,得到预处理社交网络图数据;利用可实现点分割的图划分算法将预处理社交网络图数据划分成n块,得到n个预处理社交网络图数据块;

5、s2.启动分布式进程组,所述分布式进程组由n块gpu组成,将每个预处理社交网络图数据块对应存储在每块gpu上,且每块gpu上均带有一个图神经网络;

6、s3.在每个迭代轮次内,由每块gpu加载每个预处理社交网络图数据块,并对每个预处理社交网络图数据块进行二次分片,得到m个预处理社交网络图数据块分片;所述二次分片的具体方式为:将每个预处理社交网络图数据块的节点集合进行划分,同时得到m个社交网络图数据的节点分片以及m个社交网络图数据的边分片,由每个节点分片以及每个边分片构成每个预处理社交网络图数据块分片;

7、s4.按照每个预处理社交网络图数据块分片的编号进行编组,得到m组社交网络全图数据分片;其中,每组社交网络全图数据分片包含全图节点集合以及全图节点的出边集合;

8、s5.将第i组社交网络全图数据分片输入到每块gpu上的图神经网络中,在前向传播过程中利用节点更新公式将目标节点未聚合的邻居消息信息进行补全,采用分布式数据并行策略管理所有的图神经网络权重,由每块gpu对应保存每个图神经网络的权重副本以及对应的优化器状态,根据标签数据计算损失函数,最后执行反向传播算法从后向前计算每层图卷积层权重的梯度,当每块gpu计算出权重梯度后,立即异步执行分布式通信算子all reduce对所有gpu上的权重梯度求和,每块gpu调用各自的优化器更新图神经网络权重,利用优化器更新梯度后将每块gpu上的权重梯度再次分发给每块gpu,当所有gnn权重的梯度计算且求和完成后,每块gpu调用优化器算法更新图神经网络权重,完成一个迭代轮次;

9、s6.不断迭代执行步骤s3-s5,直至所有的社交网络全图数据分片均参与了模型训练且模型收敛训练完毕,完成基于增量聚合策略的分布式图神经网络训练。

10、作为优选,每个预处理社交网络图数据块均可表示为有向图gk=(vk,ek,xk,yk),其中,vk表示预处理社交网络图数据块的节点集合,节点集合中的每个节点表示社交网络中的每个用户;ek表示预处理社交网络图数据块的边集合,预处理社交网络图数据块的边集合中的每条边表示社交网络中用户之间的关注关系;xk表示预处理社交网络图数据块的节点和边的特征向量集合;yk表示预处理社交网络图数据块的对应的标签数据。

11、作为优选,所述图神经网络模型由若干个图卷积层依次级联而成,在图神经网络的前传播过程中,在第k块gpu上的第l层图卷积层的具体执行过程为:

12、s51.将第(l-1)层图卷积层的输出源节点特征和目标节点特征输入到第l层图卷积层,利用边上特征计算第i组社交网络全图数据分片的出边消息

13、s52.获取每个预处理社交网络图数据块的边消息聚合表示历史值利用第i组社交网络全图数据分片的出边消息计算每个预处理社交网络图数据块在当前迭代轮次内的边消息聚合表示

14、s53.结合所述边消息聚合表示历史结果与所述边消息聚合表示,利用所述节点更新公式得到每个预处理社交网络图数据块在当前迭代轮次内的边消息聚合表示更新值zk;

15、s54.对所述边消息聚合表示更新值zk执行图卷积层的节点更新计算,得到第(l+1)层图卷积层的目标节点特征

16、作为优选,所述节点更新公式的函数形式为:

17、

18、

19、其中,表示当前轮次实际计算的边消息数量;nk表示目标节点的入边数量。

20、作为优选,在训练过程中,由每块gpu周期性保存最近的图神经网络模型权重及其对应的优化器状态;当出现故障时,每块gpu自动中断训练过程;在排除故障后,每块gpu可加载最近一次可用的模型权重参数继续训练。

21、作为优选,在进行二次分片对每个预处理社交网络图数据块的节点集合vk进行划分时,采用随机分片的方式。

22、作为优选,在进行二次分片对每个预处理社交网络图数据块的节点集合vk进行划分时,可以根据每块gpu在每个训练过程的实际运行时间动态估计下一个迭代轮次的耗时,实现分片方案的动态负载均衡。

23、第二方面,本发明提供一种基于增量聚合策略的分布式图神经网络预测系统,包括数据获取模块和分类模块,所述数据获取模块,用于获取社交网络图数据;所述分类模块,用于将所述动态社交网络图数据输入到利用上述第一方面的基于增量聚合策略的分布式图神经网络训练方法训练的图神经网络中,输出用户之间关注关系的预测值。

24、第三方面,本发明提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述第一方面任一方案所述的基于增量聚合策略的分布式图神经网络训练方法。

25、第四方面,本发明提供了一种计算机电子设备,其包括存储器和处理器;

26、所述存储器,用于存储计算机程序;

27、所述处理器,用于当执行所述计算机程序时,现如上述第一方面任一方案所述的基于增量聚合策略的分布式图神经网络训练方法。

28、本发明相对于现有技术而言,具有以下有益效果:

29、本发明将图数据划分到gpu集群上实现全批量图神经网络训练。为了进一步提高迭代训练效率,本发明对分块后的图数据进行二次分片,得到m个互不相交的边集合。每次迭代只在一个分片上进行,通过缓存历史嵌入以及增量更新来保证邻居信息的完整性,在减少通信和计算的基础上近似全批量图神经网络训练的效果。


技术特征:

1.一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,具体步骤如下:

2.如权利要求1所述的一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,每个预处理社交网络图数据块均可表示为有向图gk=(vk,ek,xk,yk),其中,vk表示预处理社交网络图数据块的节点集合,节点集合中的每个节点表示社交网络中的每个用户;ek表示预处理社交网络图数据块的边集合,预处理社交网络图数据块的边集合中的每条边表示社交网络中用户之间的关注关系;xk表示预处理社交网络图数据块的节点和边的特征向量集合;yk表示预处理社交网络图数据块的对应的标签数据。

3.如权利要求1所述的一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,所述图神经网络模型由若干个图卷积层依次级联而成,在图神经网络的前传播过程中,在第k块gpu上的第l层图卷积层的具体执行过程为:

4.如权利要求3所述的一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,所述节点更新公式的函数形式为:

5.如权利要求1所述的一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,在训练过程中,由每块gpu周期性保存最近的图神经网络模型权重及其对应的优化器状态;当出现故障时,每块gpu自动中断训练过程;在排除故障后,每块gpu可加载最近一次可用的模型权重参数继续训练。

6.如权利要求1所述的一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,在进行二次分片对每个预处理社交网络图数据块的节点集合vk进行划分时,采用随机分片的方式。

7.如权利要求1所述的一种基于增量聚合策略的分布式图神经网络训练方法,其特征在于,在进行二次分片对每个预处理社交网络图数据块的节点集合vk进行划分时,可以根据每块gpu在每个训练过程的实际运行时间动态估计下一个迭代轮次的耗时,实现分片方案的动态负载均衡。

8.一种基于增量聚合策略的分布式图神经网络预测系统,其特征在于,包括数据获取模块和分类模块;

9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1~7任一所述的基于增量聚合策略的分布式图神经网络训练方法。

10.一种计算机电子设备,其特征在于,包括存储器和处理器;


技术总结
本发明公开了一种基于增量聚合策略的分布式图神经网络训练方法,具体步骤如下:对待训练的社交网络图数据进行分块;启动分布式进程组,由GPU对社交网络图数据块进行二次分片,并按照编号对社交网络图数据块分片进行编组,依次将每组社交网络全图数据分片输入到图神经网络中,利用节点更新公式将目标节点未聚合的邻居消息信息进行补全,采用分布式数据并行策略管理所有的图神经网络权重。不断迭代,直至模型收敛,完成基于增量聚合策略的分布式图神经网络训练。为提高迭代训练效率,本发明采用二次分片方式,通过缓存历史嵌入以及增量更新来保证邻居信息的完整性,在减少通信和计算的基础上近似全批量图神经网络训练的效果。

技术研发人员:黄文杰,汪睿,庄永真,罗进开
受保护的技术使用者:上海浙江大学高等研究院
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1148457.html

最新回复(0)