多层参数分布式数据传输方法、装置及可读介质制造方法及图纸

技术编号:30512685 阅读:55 留言:0更新日期:2021-10-27 22:54
本发明专利技术涉及一种多层参数分布式数据传输方法、装置及可读介质的技术方案,包括:将用于分布式学习的任意节点的参数通过UDP协议进行传输;将参数以数据字典格式的数据包在节点之间进行传输;参数被接收时创建对应的参数空间,解析数据包的数据字典配置将数据包的参数存储至指定位置;接收参数的节点对自身的参数进行更新。本发明专利技术的有益效果为:提高了分布式深度学习网络的数据通信效率,减少通信时间。减少通信时间。减少通信时间。

【技术实现步骤摘要】
多层参数分布式数据传输方法、装置及可读介质


[0001]本专利技术涉及计算机网络和分布式深度学习领域,具体涉及了一种多层参数分布式数据传输方法、装置及可读介质。

技术介绍

[0002]深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习的本质就是训练具有不同网络结构的模型,通过大量的数据更新网络模型参数,使网络模型达到良好的收敛效果,达到“学习”的目的。
[0003]由于大数据的产生,用于训练一个深度学习模型的数据量过大,单台高性能服务器已经无法满足深度学习模型训练的需求,于是分布式深度学习训练应运而生,由于分布式深度学习模型训练具有以下特点:模型参数量大,训练时间长导致的通信时间较长、通信数据量较大等问题。所以如何提高各个工作节点之间的参数传输的通信效率成为了业内的一个重要研究对象。
[0004]目前业界的分布式深度学习模型训练一般使用TCP协议作为各个工作节点之间的通信协议,TCP协议具有稳定可靠但是通信效率低的特点,为了克服使用TCP协议带来的通信效率低的问题,一般将模型训练所用的服务器全部放置在一个内网中进行训练,对通信环境、带宽等要求较高,无法充分利用不在同一个内网环境中的不同服务器进行分布式训练。
[0005]如果在外网环境中采用TCP协议进行分布式训练,则会因为外网中通信环境不佳和带宽不足的问题大大延长训练的进度,无法达到分布式训练预期的效果。

技术实现思路

[0006]本专利技术的目的在于至少解决现有技术中存在的技术问题之一,提供了一种多层参数分布式数据传输方法、装置及可读介质,提高了分布式的深度学习网络的数据通信效率,减少通信时间。
[0007]本专利技术的技术方案包括一种多层参数分布式数据传输方法,其特征在于,该方法包括:将用于分布式学习的任意节点的参数通过UDP协议进行传输;所述参数以数据字典格式的数据包在节点之间进行传输;所述参数被接收时创建对应的参数空间,解析所述数据包的数据字典配置将数据包的所述参数存储至指定位置;接收所述参数的所述节点对自身的所述参数进行更新。
[0008]根据所述的多层参数分布式数据传输方法,其中将分布式学习的任意节点的参数通过UDP协议进行传输包括:将每个所述节点已训练的模型参数通过UDP协议的广播机制发送至一个或多个其他所述节点。
[0009]根据所述的多层参数分布式数据传输方法,其中数据包包括:采用数据字典格式,
每个所述数据包的字典设置至少包括训练批次、批次训练中的参数层、参数数据、发送节点及数据包序列号。
[0010]根据所述的多层参数分布式数据传输方法,其中参数空间包括:确定基于UDP通信协议传输的参数总量和所需要接受的数据包数量,所述节点接收所述数据包时创建多个字典数据结构,通过所述字典数据结构创建出接收参数的空间,其中每个所述字典数据结构对应一个所述节点的发送方;所述字典数据结构包括分布式深度学习的层及每层的数据包存放位置。
[0011]根据所述的多层参数分布式数据传输方法,其中解析所述数据包的数据字典配置将数据包的所述参数存储至指定位置包括:获取所述数据包的参数,根据所述字典数据结构的存放至指定位置。
[0012]根据所述的多层参数分布式数据传输方法,其中接收所述参数的所述节点对自身的所述参数进行更新包括:将接收到的所述参数与自身的参数进行相加并除以2,以及对接收的参数的完整性进行检查,若接收的参数完整则执行参数合并,完成本轮训练,并执行下一轮训练,否则在等待超时后执行参数合并结束本轮训练。
[0013]根据所述的多层参数分布式数据传输方法,其中该方法还包括:所述节点通过多个线程完成所述参数的接收及发送,多个所述线程之间通信通过队列数据结构实现;所述节点至少包括主线程及两个子线程,所述主线程用于执行深度学习模型的训练,所述主线程在每一轮训练完之后将队列中的数据取出对自身数据进行更新,以及对每一轮训练过程进行加锁以保持各个训练节点之间的训练线程同步;所述子线程用于将训练完成之后的参数通过UDP协议将中间计算结果发送给其他节点,以及,用于接受其他节点发来的中间计算结果,并将所述中间计算结果写入队列。
[0014]根据所述的多层参数分布式数据传输方法,其中该方法还包括:所述分布式学习所训练的模型的每层参数通过多个基于UDP协议的所述数据包进行传输,所述数据包设置有数据包长度、训练标识及层参数总量。
[0015]本专利技术的技术方案还包括一种多层参数分布式数据传输装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任一所述的方法步骤。
[0016]本专利技术的技术方案一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任一所述的方法步骤。
[0017]本专利技术的有益效果为:通过使用基于UDP的通信协议进行分布式深度学习模型的训练,可以通过UDP协议的广播机制发送给其他工作节点每轮训练的中间计算结果,避免了需要给其他工作节点传输重复数据;并且采用UDP协议相比使用TCP协议,无需经过握手和挥手阶段来预先分配信道资源和回收信道资源,同时也不需要丢包重传等机制,并且UDP包相比TCP包减少了大量的头部开销,对于深度学习模型训练这种参数量大,通信时间长的任务来说大大减少了通信消耗,提高了通信效率。
附图说明
[0018]下面结合附图和实施例对本专利技术进一步地说明;
[0019]图1所示为根据本专利技术实施方式的节点之间的交互示意图。
[0020]图2所示为根据本专利技术实施方式的参数传输处理流程图。
[0021]图3所示为根据本专利技术实施方式的装置图。
具体实施方式
[0022]本部分将详细描述本专利技术的具体实施例,本专利技术之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本专利技术的每个技术特征和整体技术方案,但其不能理解为对本专利技术保护范围的限制。
[0023]本专利技术的描述中,除非另有明确的限定,设置等词语应做广义理解,所属
技术人员可以结合技术方案的具体内容合理确定上述词语在本专利技术中的具体含义。
[0024]术语解释:
[0025]TCP协议:TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据包之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。在一个TCP连接中,仅有两方进行彼此通信。广播不能用于TCP。
[0026]UDP协议:UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多层参数分布式数据传输方法,其特征在于,该方法包括:将用于分布式学习的任意节点的参数通过UDP协议进行传输;所述参数以数据字典格式的数据包在节点之间进行传输;所述参数被接收时创建对应的参数空间,解析所述数据包的数据字典配置将数据包的所述参数存储至指定位置;接收所述参数的所述节点对自身的所述参数进行更新。2.根据权利要求1所述的多层参数分布式数据传输方法,其特征在于,所述将分布式学习的任意节点的参数通过UDP协议进行传输包括:将每个所述节点已训练的模型参数通过UDP协议的广播机制发送至一个或多个其他所述节点。3.根据权利要求1所述的多层参数分布式数据传输方法,其特征在于,所述数据包包括:采用数据字典格式,每个所述数据包的字典设置至少包括训练批次、批次训练中的参数层、参数数据、发送节点及数据包序列号。4.根据权利要求1所述的多层参数分布式数据传输方法,其特征在于,所述参数空间包括:确定基于UDP通信协议传输的参数总量和所需要接受的数据包数量,所述节点接收所述数据包时创建多个字典数据结构,通过所述字典数据结构创建出接收参数的空间,其中每个所述字典数据结构对应一个所述节点的发送方;所述字典数据结构包括分布式深度学习的层及每层的数据包存放位置。5.根据权利要求4所述的多层参数分布式数据传输方法,其特征在于,所述解析所述数据包的数据字典配置将数据包的所述参数存储至指定位置包括:获取所述数据包的参数,根据所述字典数据结构的存放至指定位置。6.根据权利要求5所述的多层参数分布式数据传输方法,其特征在于,所述接收所述参数的所述节点对自身的所述参数进...

【专利技术属性】
技术研发人员:宁磊赵建张瑞黄健杰曹建民
申请(专利权)人:深圳技术大学
类型:发明
国别省市:

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

1