System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于分布式的连续时间动态图神经网络训练方法及系统技术方案_技高网

基于分布式的连续时间动态图神经网络训练方法及系统技术方案

技术编号:41011414 阅读:2 留言:0更新日期:2024-04-18 21:47
本发明专利技术公开了一种基于分布式的连续时间动态图神经网络训练方法及系统,包括以下步骤:将用于训练的动态社交网络图数据进行子图划分、批次划分、校准以及采样,得到若干个批次的动态社交网络采样子图数据,由每个节点的获取历史时序嵌入和历史交互消息得到每个节点的时序嵌入,当完成一个批次训练过程后,利用每个节点的时序嵌入以及动态社交网络采样子图数据的边特征进行聚合计算,得到每个节点的更新交互消息。本发明专利技术的方法通过提供图划分存储、分布式内存同步机制、分布式子图采样和编码‑解码器训练,将单机的连续时间动态图神经网络模型拓展到分布式场景下,解决了在大数据情况下内存资源不足的问题。

【技术实现步骤摘要】

本专利技术属于大数据、分布式计算以及图神经网络领域,尤其涉及一种基于分布式的连续时间动态图神经网络训练方法及系统


技术介绍

1、社会中的绝大部分关联数据都可以建模图的形式,利用图神经网络对数据进行挖掘是目前的主流方案。随着网络平台的发展,在线服务产品产生了大量的关系数据,图的规模爆炸性增长。例如facebook、twitter等社交平台上实时的社交关系图,电子交易平台上迅速增长的交易关系图都能够达到数亿级别。但图神经网络结构复杂,训练、推理需要较高的时间和空间成本。如何存储和处理这些数据成为图神经网络研究中的重要问题。在动态图领域,将大规模图神经网络训练拓展到分布式环境下极为重要。

2、目前离散时间动态图领域,已经存在多个分布式训练框架,如dynagraph等,但离散时间模型并不不适用于变换频繁的动态图。在连续时间动态图领域,如文献temporalgraph networks for deep learning on dynamic graphs中提出的tgns通用训练框架,文献a general framework for temporal gnn training on billion-scale graphs中提出的tgl提出了基于简单的数据并行的单机多卡并行训练方案解决tgns的单机多卡训练问题。tgns框架引入了内存机制存储历史计算的时序嵌入,从而能够保留图上历史深度信息,但tgl提出的数据并行方案中内存信息需要频繁在cpu和gpu上进行拷贝。由于连续时间动态图中的数据存在严格依赖关系,直接采用静态图的分布式子图采样训练方案会丢失一部分时序信息,导致神经网络的训练收敛速度变慢,训练结果准确率下降。除此之外,这些框架限制训练只能在单个服务器上执行,并不能拓展到多台服务器,能够拓展到多台服务器上的连续时间神经网络分布式模型训练的研究仍然存在较大的空白。


技术实现思路

1、本专利技术的目的在于解决现有技术中存在的问题,并提供一种基于分布式的连续时间动态图神经网络训练方法及系统。

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

3、第一方面,本专利技术提供一种基于分布式的连续时间动态图神经网络训练方法,包括以下步骤:

4、s1.获取单机连续时间动态图神经网络模型(tgns)的配置参数,所述配置参数包括内存更新模块的配置参数、采样配置参数、网络层参数;

5、s2.根据所述网络层参数获取对应的单机连续时间动态图神经网络模型,将所述配置参数输入到pytorch算子中,得到支持分布式数据并行的连续时间动态图神经网络模型;配置支持分布式数据并行的连续时间动态图神经网络模型的内存聚合策略;

6、s3.获取用于训练的动态社交网络图数据,利用可实现点分割的图划分方法对动态社交网络图数据进行划分,得到若干个动态社交网络子图数据,每台本地服务器分配本地内存空间对应存储每个动态社交网络子图数据;

7、s4.每台本地服务器为每个动态社交网络子图数据的节点申请存储历史时序嵌入的内存空间和历史交互消息的内存空间,并将节点申请存储历史时序嵌入的内存空间和历史交互消息的内存空间均初始化为0;每台本地服务器申请固定大小的lru缓存空间,所述lru缓存空间用于存储动态社交网络子图数据的节点特征以及边特征,以时间戳最小的动态社交网络子图数据的节点特征以及边特征初始化所述lru缓存空间;

8、s5.根据所述配置参数判断是否启用随机块划分方式,将每个动态社交网络子图数据划分为多个批次:若启动随机块划分方式,则将每台本地服务器上存储的动态社交网络子图数据按照时间戳从小到大的顺序依次划分到若干个动态社交网络图数据块中,随机选择一个动态社交网络图数据块作为起始块,将时间戳连续的动态社交网络图数据块合并到一个训练批次内,直到一个训练批次的大小超过预先配置的训练批次大小,再将剩下的动态社交网络图数据块划分到新的训练批次里;若未启动随机块划分方式,则将每台本地服务器上存储的动态社交网络子图数据按照时间戳从小到大的顺序依次划分到若干个训练批次中;

9、s6.对每个批次的动态社交网络子图数据进行校准,对应得到每个批次的动态社交网络校准子图数据;对于本地服务器上每个批次的动态社交网络校准子图数据的中心节点,利用采样配置参数对所述中心节点进行邻居采样操作,并对所述中心节点的邻居节点被划分的位置进行判断:如果一个邻居节点被划分到本地服务器,则以该邻居节点为中心,重复执行邻居采样操作,得到最终的动态社交网络采样子图数据;如果一个邻居节点被划分到远程服务器,则以该邻居节点为中心,通过远程rpc调用远程服务器的邻居采样操作,得到远程服务器上的动态社交网络子图数据采样结果,将远程服务器上的动态社交网络子图数据采样结果与本地服务器上的动态社交网络子图数据采样结果合并,得到最终的动态社交网络采样子图数据;

10、s7.每台本地服务器获取每个批次的动态社交网络采样子图数据,并启用本地缓存机制在本地缓存内查找是否存在远程节点特征缓存:若未查找到远程节点特征缓存,由每台本地服务器通过rpc异步获取远程服务器存储每个批次的动态社交网络采样子图数据的节点特征以及边特征,并从本地服务器中内存获取本地节点的获取历史时序嵌入和本地节点的历史交互消息,从远程服务器内存中获取远程节点的获取历史时序嵌入和远程节点的历史交互消息;若查找到远程节点特征缓存,由每台本地服务器直接从本地缓存获取每个批次的动态社交网络采样子图数据的节点特征以及边特征,并从本地服务器内存中获取本地节点的获取历史时序嵌入和本地节点的历史交互消息,从远程服务器内存中获取远程节点的获取历史时序嵌入和远程节点的历史交互消息;

11、s8.每台本地服务器将本地节点的获取历史时序嵌入、本地节点的历史交互消息、远程节点的获取历史时序嵌入以及远程节点的历史交互消息输入到内存更新模块的网络层中,输出并缓存动态社交网络采样子图数据每个节点的时序嵌入;

12、s9.将每个批次的动态社交网络采样子图数据、每个批次的动态社交网络采样子图数据的节点特征以及边特征、和动态社交网络采样子图数据每个节点的时序嵌入一起输入到每台本地服务器的连续时间动态图神经网络模型中,由每台本地服务器对连续时间动态图神经网络模型进行训练;

13、s10.当完成一个批次的动态社交网络采样子图数据的训练过程后,每台本地服务器将本批次的动态社交网络采样子图数据每个节点的时序嵌入以及每个批次的动态社交网络采样子图数据的边特征进行聚合计算,得到每个批次的动态社交网络采样子图数据每个节点的更新交互消息;

14、s11.当所有的所述更新交互消息发送完毕后,判断本地服务器上每个批次的动态社交网络采样子图数据每个节点是否对应接收到远程服务器上该节点的更新交互消息以及时序嵌入:如果本地服务器接收到远程服务器上该节点的更新交互消息以及时序嵌入,则以内存聚合策略方式更新历史交互消息的内存空间以及更新历史时序嵌入的内存空间;如果本地服务器未接收到远程服务器上该节本文档来自技高网...

【技术保护点】

1.一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述内存更新模块的配置参数包括输入张量的大小、输出张量的大小。

3.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述采样配置参数包括采样策略、采样层数以及每层采样邻居数量,所述采样策略包括按照邻居时间戳从大到小采样和均匀随机采样。

4.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述Pytorch算子采用DistributedDataParallel算子。

5.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述动态社交网络图数据的每个节点表示每个用户,每条边表示用户间的交互,每条边上对应带有一个时间标签。

6.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,在选择所述中心节点的邻居节点时,可按照时间戳从大到小的顺序或者均匀随机采样策略

7.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述内存聚合策略方式包括最大时间戳优先方式、均值聚合方式以及局部聚合策略。

8.如权利要求7所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,在得到每个批次的动态社交网络采样子图数据每个节点的更新交互消息时,若内存聚合策略方式采用局部聚合策略,则本地服务器忽略每个批次的动态社交网络采样子图数据每个远程节点的更新交互消息;若内存聚合策略方式未采用局部聚合策略,则本地服务器将每个批次的动态社交网络采样子图数据每个远程节点的更新交互消息对应发送给每台远程服务器。

9.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述内存更新模块的网络层结构采用Transformer或者RNN。

10.一种基于分布式的连续时间动态图神经网络分类系统,其特征在于,包括数据获取模块和分类模块;

...

【技术特征摘要】

1.一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述内存更新模块的配置参数包括输入张量的大小、输出张量的大小。

3.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述采样配置参数包括采样策略、采样层数以及每层采样邻居数量,所述采样策略包括按照邻居时间戳从大到小采样和均匀随机采样。

4.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述pytorch算子采用distributeddataparallel算子。

5.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,所述动态社交网络图数据的每个节点表示每个用户,每条边表示用户间的交互,每条边上对应带有一个时间标签。

6.如权利要求1所述的一种基于分布式的连续时间动态图神经网络训练方法,其特征在于,在选择所述...

【专利技术属性】
技术研发人员:张龙姣汪睿庄永真罗进开
申请(专利权)人:上海浙江大学高等研究院
类型:发明
国别省市:

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

1