基于模型迁移的分布式图神经网络训练方法与系统

    技术2025-03-17  36


    本发明属于计算机科学人工智能系统领域,针对分布式图神经网络训练需要大量读取跨节点远程训练数据而产生通信瓶颈的问题提供一种基于模型迁移的分布式图神经网络训练方法与系统。


    背景技术:

    1、图神经网络(graph neural network,gnn)是一类对图(graph)数据进行训练的神经网络,训练后的神经网络模型往往用于图中的点分类、边预测、图分类等推理任务。图数据包括两部分,拓扑数据和特征数据。拓扑数据即记录图中点和边的连接关系,而特征数据即图中每个点的嵌入向量表示,如图1所示。

    2、现实生活中的图数据往往非常大,导致无法在单服务器内存中存下。分布式图神经网络是一种广泛使用的解决方案。具体来说,通过将图数据切分成多份,并分散存放在不同gpu服务器(节点)的内存中从而解决单机内存不够的问题,如图2所示。因为图的拓扑结构大小比顶点特征嵌入的大小要小,因此许多研究使用小部分内存来冗余存储部分拓扑结构,以减少采样过程中的拓扑数据传输(例如,在服务器0上的顶点1和3)。在训练过程中,每个节点上有一个图神经网络模型。训练的过程包括很多iteration的重复过程,每个iteration包括三个阶段:采样、收集和计算。首先是采样(sampling)阶段,每个模型随机选择一部分的训练点,并通过k-hop邻居采样得到一个训练子图。然后是收集(gathering)阶段,收集该子图中每个点的特征向量。当本地没有某个点的特征向量时,就从远程把特征向量传输过来。在分布式图神经网络训练过程中,跨节点的特征数据获取是分布式图神经网络训练的瓶颈。最后是计算(computation)阶段,进行模型参数更新和同步。图3展示了在两个服务器上执行分布式gnn一个迭代训练的过程。在每个迭代开始时,每个工作节点被随机分配一个不重叠的训练顶点小批量。例如,假设服务器0接收一个批次的训练顶点{6,3},而服务器1接受一个批次的训练顶点{5,0}。然后,每个节点上的训练进程独立执行2-跳邻居采样(①)、特征收集(②)和计算(③)步骤。最后,来自不同工作节点的参数梯度被同步,并更新模型参数(④)。

    3、目前的技术通过重复缓存部分高频特征数据或者通过修改训练算法的方式来提高本地特征数据的命中率,然而,重复缓特征数据缓存需要占据额外的内存空间,修改训练算法的方式则会带来精度和收敛速度上的负面影响。


    技术实现思路

    1、为了解决分布式图神经网络训练时大量跨节点特征数据传输导致的通信瓶颈问题,已有研究通常通过妥协训练精度的方式来减少跨节点的特征数据传输,这会带来训练精度的负面影响。为了在不影响训练精度的条件下降低远程特征数据传输量,本发明提出一种基于模型迁移的分布式图神经网络训练方法与系统。

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

    3、一种基于模型迁移的分布式图神经网络训练方法,包括:

    4、对原始数据构建图g(v,e),并将数据以边切割的方式分布式存储在分布式集群中;所述分布式集群包含若干个服务器;每个服务器均设有一个初始化的图神经网络模型;

    5、基于分布式集群,利用带标签的顶点数据对初始化的图神经网络模型进行训练,训练包括很多个周期,每个周期包括多次迭代训练;在每个迭代中,具体包括:

    6、每个图神经网络模型被随机分配一个批次的训练顶点,其中每个顶点特征存储所在的服务器为所述顶点的主服务器;

    7、每个图神经网络模型的一个批次的训练顶点依据对应主服务器进行分组并分配至相应的主服务器上;

    8、重新分配后,每个训练顶点跳邻居采样生成一个微图;

    9、每个图神经网络模型依据对应的一个批次的训练顶点重新分配后所在位置依次迁移至对应服务器中,并利用对应服务器存储的微图的顶点特征进行训练并累积梯度,不在对应服务器存储的微图的顶点特征从远程获取;

    10、当所有图神经网络模型完成最后一个微图的训练时,所有图神经网络模型之间将累积的梯度进行同步,最后更新模型参数,完成一个批次的迭代训练;

    11、重复进行多个批次的训练直至所述图神经网络模型达到迭代次数和周期数。

    12、进一步地,所述利用对应服务器存储的微图的顶点特征进行训练,包括前向传播和反向传播。

    13、进一步地,待迁移至同一服务器的不同神经网络模型交错迁移和训练。

    14、进一步地,所述图神经网络模型包括gcn、graphsage和gat。

    15、进一步地,所述每个图神经网络模型依据对应的一个批次的训练顶点重新分配后所在位置依次迁移至对应服务器中,并利用对应服务器存储的微图的顶点特征进行训练并累积梯度,具体如下:

    16、设置n个时间片,在第t个时间片,第d个图神经网络模型迁移到第snew服务器上,snew=(d+t)%n,%表示取余,并使用对应服务器存储的微图的顶点特征进行训练并累积梯度,如果当前微图中有顶点特征不在服务器上,则从远程服务器获取。

    17、一种基于模型迁移的分布式图神经网络训练系统,用于实现所述一种基于模型迁移的分布式图神经网络训练方法,系统包括:

    18、分布式集群,包含若干个服务器,每个服务器均设有一个初始化的图神经网络模型;

    19、数据处理模块,用于对原始数据构建图g(v,e),并将数据以边切割的方式分布式存储在分布式集群中;

    20、训练模块,用于基于分布式集群,利用带标签的顶点数据对初始化的图神经网络模型进行训练,训练包括多个周期,每个周期包括多次迭代训练;在每个迭代中,具体包括:

    21、每个图神经网络模型被随机分配一个批次的训练顶点,其中每个顶点特征存储所在的服务器为所述顶点的主服务器;

    22、每个图神经网络模型的一个批次的训练顶点依据对应主服务器进行分组并分配至相应的主服务器上;

    23、重新分配后,每个训练顶点跳邻居采样生成一个微图;

    24、每个图神经网络模型依据对应的一个批次的训练顶点重新分配后所在位置依次迁移至对应服务器中,并利用对应服务器存储的微图的顶点特征进行训练并累积梯度,不在对应服务器存储的微图的顶点特征从远程获取;

    25、当所有图神经网络模型完成最后一个微图的训练时,所有图神经网络模型之间将累积的梯度进行同步,最后更新模型参数,完成一个小批次的迭代训练;

    26、重复进行多个批次的训练直至所述图神经网络模型达到迭代次数和周期数。

    27、本发明的有益效果是:本发明方法在当有特征向量数据在远程时,不把特征数据从远程传输到本地,而是把模型传输到目的服务器上。通过引入模型迁移的方法消除了大部分的特征向量传输,从而显著缩短训练时间,提高训练效率。此外,由于本发明方法没有改变每个分布模型随机分配的训练数据序列,因此不会影响训练精度。



    技术特征:

    1.一种基于模型迁移的分布式图神经网络训练方法,其特征在于,包括:

    2.根据权利要求1所述的方法,其特征在于,所述利用对应服务器存储的微图的顶点特征进行训练,包括前向传播和反向传播。

    3.根据权利要求1所述的方法,其特征在于,待迁移至同一服务器的不同神经网络模型交错迁移和训练。

    4.根据权利要求1所述的方法,其特征在于,所述图神经网络模型包括gcn、graphsage和gat。

    5.根据权利要求1所述的方法,其特征在于,所述每个图神经网络模型依据对应的一个批次的训练顶点重新分配后所在位置依次迁移至对应服务器中,并利用对应服务器存储的微图的顶点特征进行训练并累积梯度,具体如下:

    6.一种基于模型迁移的分布式图神经网络训练系统,其特征在于,用于实现权利要求1-5任一项所述一种基于模型迁移的分布式图神经网络训练方法,系统包括:


    技术总结
    本发明提供了一种基于模型迁移的分布式图神经网络训练方法与系统,在训练过程的每个迭代中,每个图神经网络模型依据对应的一个批次的训练顶点重新分配后所在位置依次迁移至对应服务器中,并利用对应服务器存储的微图的顶点特征进行训练并累积梯度,不在对应服务器存储的微图的顶点特征从远程获取;当所有图神经网络模型完成最后一个微图的训练时,所有图神经网络模型之间将累积的梯度进行同步,最后更新模型参数;本发明方法在当有特征向量数据在远程时,不把特征数据从远程传输到本地,而是把模型传输到目的服务器上。在不影响训练精度的情况下,通过引入模型迁移的方法消除了大部分的特征向量传输,从而显著缩短训练时间,提高训练效率。

    技术研发人员:何水兵,陈伟剑,瞿皓阳,李旭
    受保护的技术使用者:浙江大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-27648.html

    最新回复(0)