一种分布式图神经网络计算效率的优化方法技术

技术编号:39062363 阅读:11 留言:0更新日期:2023-10-12 19:55
本发明专利技术公开提供了一种基于分布式图神经网络计算效率的优化方法,利用Deep Graph Library为图数据的处理与图神经网络的搭建与训练提供基本的支持,利用GCCL实现分布式环境下的图数据通信优化,满足图神经网络研究者的实验需求。实验需求。实验需求。

【技术实现步骤摘要】
一种分布式图神经网络计算效率的优化方法


[0001]本专利技术属于图数据处理
,具体涉及一种分布式图神经网络计算效率的优化方法。

技术介绍

[0002]目前,图神经网络领域的研究主要方向在于提出具有更佳的信息提取能力与泛用性的图神经网络模型,而这些性能往往意味着模型结构更加复杂,并且所处理的图数据的数据量也越来越大,这使得训练图神经网络模型所需的GPU内存与训练时间大大增加。这对大多数的图神经网络研究者来说无疑是一项巨大的挑战,要么花费大量金钱增加对原有设备进行拓展,要么以削减模型性能或增加模型训练时间为代价对计算过程进行优化。因此迫切需要一种能够缓解分布式环境下图神经网络模型训练所需内存与时间的方法。
[0003]Deep Graph Library是一个以PyTorch为基础实现的专为图神经网络的实现与训练开发的第三方库,其中封装了许多使用的图神经网络,并且为用户提供了便捷的图数据导入、图神经网络模型搭建以及图神经网络训练的接口,以Deep Graph Library为基础,能够适应部分图神经网络研究者的需求,方便使用者的学习与入门,因此能够适应本方法对图数据与图神经网络模型良好支持与拓展的需求,适合作为本方法的主要框架。
[0004]因此,如何通过分布式通信优化与图神经网络计算过程优化解决图神经网络训练所需内存高、花费时间长的问题;为图神经网络研究者提出更加便捷、快速的图神经网络训练方案是本领域技术人员亟需解决的问题。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种基于Deep Graph Library与GCCL的分布式图神经网络计算效率的优化方法,可以提高计算效率。
[0006]一种分布式图神经网络计算效率的优化方法,包括数据通信阶段、计算图优化阶段与图神经网络训练阶段;
[0007]所述数据通信阶段包括:
[0008]S11、Deep Graph Library模块将本地的图数据提交给GCCL模块;
[0009]S12、所述GCCL模块对图数据按照图分区进行映射并将位于其他节点的图数据发送给对应节点的GCCL模块;
[0010]S13、所述GCCL模块接收其他节点发送来的图数据;
[0011]S14、所述GCCL模块根据接收到的图数据对本地图数据进行更新,并将更新后的图数据返回给Deep Graph Library模块;
[0012]所述计算图优化阶段包括:
[0013]S21、所述Deep Graph Library模块根据本地的图数据结构生成计算图后,将所述计算图提交给计算图优化模块;
[0014]S22、所述计算图优化模块按照设计的优化流程对计算图进行对应的优化,并将优
化后的计算图返回给所述Deep Graph Library模块;
[0015]所述图神经网络训练阶段包括:
[0016]S31、所述Deep Graph Library模块根据所述优化后的计算图生成对应的GPU算子并提交给GPU进行计算;
[0017]S32、GPU完成图神经网络训练所对应的计算后将计算结果返回给所述Deep Graph Library模块,并更新本地的图数据。
[0018]较佳的,GCCL模块与其它节点的GCCL模块通信时,根据分布式系统中的GPU拓扑结构,使用最短路径生成树算法获得最优的通信策略,GCCL模块根据该通信策略进行通信。
[0019]较佳的,所述步骤21中,对Deep Graph Library根据图神经网络模型生成的计算图进行优化后再生成对应的算子。
[0020]较佳的,对计算图的优化包括算子融合优化,具体包括:
[0021]算子融合优化根据Deep Graph Library提供的计算图,将其中的计算操作进行分类,并将设定的若干个的计算节点进行融合,生成一个新的计算操作,从而将原本的计算图进行优化。
[0022]较佳的,对计算图的优化包括与GPU内核优化,具体包括:
[0023]GPU内核优化根据GPU的线程调度特征与图神经网络的计算特点,将优化后的计算图转换为GPU可以接收的算子指令,为图中的每一个顶点分配一个特征适应线程组进行相应的计算,实现训练过程中的特征级与顶点级的并行。
[0024]较佳的,图数据采用压缩稀疏行的方式进行存储。
[0025]较佳的,所述压缩稀疏行在图数据的邻接矩阵的基础上,将其中的非零元素提出取来,生成顶点值V、行索引与列索引三个数组以建立对每个顶点特征的索引,实现了对图数据的稀疏邻接矩阵的压缩。
[0026]较佳的,在生成压缩稀疏行时,将图中的顶点按照入度降序排列,使得在读取顶点时使度较大的顶点先一步启动计算并且度相近的顶点分配到同一个GPU的block中,对图进行反转后,按照顶点出度的降序顺序,生成对应的反压缩稀疏行。
[0027]较佳的,图神经网络模型为GCN或GAT。
[0028]本专利技术具有如下有益效果:
[0029]本专利技术公开提供了一种基于分布式图神经网络计算效率的优化方法,利用Deep Graph Library为图数据的处理与图神经网络的搭建与训练提供基本的支持,利用GCCL实现分布式环境下的图数据通信优化,满足图神经网络研究者的实验需求。
附图说明
[0030]图1为本专利技术提供的方法总体流程结构示意图。
[0031]图2为本专利技术提供的方法中数据通信阶段流程图。
[0032]图3为本专利技术提供的方法中计算图优化阶段流程图。
[0033]图4为本专利技术提供的方法中计算图优化的一个例图。
[0034]图5为本专利技术提供的方法中计算图优化阶段中采用的有限状态自动机的图示。
具体实施方式
[0035]下面结合附图并举实施例,对本专利技术进行详细描述。
[0036]本专利技术提供了一种基于Deep Graph Library与GCCL的分布式图神经网络计算效率的优化方法,包括数据通信阶段、计算图优化阶段与图神经网络训练阶段;
[0037]所述数据通信阶段包括:
[0038]S11、Deep Graph Library模块将本地的图数据提交给GCCL模块;
[0039]S12、所述GCCL模块对图数据按照图分区进行映射并将位于其他节点的图数据发送给对应节点的GCCL模块;
[0040]S13、所述GCCL模块接收其他节点发送来的图数据;
[0041]S14、所述GCCL模块根据接收到的图数据对本地图数据进行更新,并将更新后的图数据返回给Deep Graph Library模块;
[0042]所述计算图优化阶段包括:
[0043]S21、所述Deep Graph Library模块根据本地的图数据结构生成计算图后,将所述计算图提交给计算图优化模块;
[0044]S22、所述计算图优化模块按照设计的优化流程对计算图进行对应的优化,并将优化后的计算图返本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式图神经网络计算效率的优化方法,其特征在于,包括数据通信阶段、计算图优化阶段与图神经网络训练阶段;所述数据通信阶段包括:S11、Deep Graph Library模块将本地的图数据提交给GCCL模块;S12、所述GCCL模块对图数据按照图分区进行映射并将位于其他节点的图数据发送给对应节点的GCCL模块;S13、所述GCCL模块接收其他节点发送来的图数据;S14、所述GCCL模块根据接收到的图数据对本地图数据进行更新,并将更新后的图数据返回给Deep Graph Library模块;所述计算图优化阶段包括:S21、所述Deep Graph Library模块根据本地的图数据结构生成计算图后,将所述计算图提交给计算图优化模块;S22、所述计算图优化模块按照设计的优化流程对计算图进行对应的优化,并将优化后的计算图返回给所述Deep Graph Library模块;所述图神经网络训练阶段包括:S31、所述Deep Graph Library模块根据所述优化后的计算图生成对应的GPU算子并提交给GPU进行计算;S32、GPU完成图神经网络训练所对应的计算后将计算结果返回给所述Deep Graph Library模块,并更新本地的图数据。2.如权利要求1所述的一种分布式图神经网络计算效率的优化方法,其特征在于,GCCL模块与其它节点的GCCL模块通信时,根据分布式系统中的GPU拓扑结构,使用最短路径生成树算法获得最优的通信策略,GCCL模块根据该通信策略进行通信。3.如权利要求1所述的一种分布式图神经网络计算效率的优化方法,其特征在于,所述步骤21中,对Deep Graph Library根据图神经网络...

【专利技术属性】
技术研发人员:张志威王朝阳王国仁
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1