一种机器节点并行处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:28672721 阅读:79 留言:0更新日期:2021-06-02 02:48
本发明专利技术公开了一种机器节点并行处理方法、装置、计算机设备及存储介质。该方法通过对参与神经网络模型训练的多个机器节点进行预处理后,将多个机器节点划分至不同的节点簇;从每一所述节点簇选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内计算自身节点簇所有机器节点的当前簇内平均梯度;并在每一梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,从而对自身节点簇进行模型参数更新;最后在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。本发明专利技术具有减轻网络中的通信负载和缓解梯度过期的优点。

【技术实现步骤摘要】
一种机器节点并行处理方法、装置、计算机设备及存储介质
本专利技术涉及人工智能领域,尤其涉及一种机器节点并行处理方法、装置、计算机设备及存储介质。
技术介绍
目前,深度神经网络模型已成为当前人工智能领域的基石,但当前绝大多数模型都依赖海量数据支撑的监督学习模式,随之而来的是模型的容量越来越大(以自然语言处理领域模型GPT3为例,模型参数达到1750亿),从而带来了训练模型的巨大挑战;具体体现在:单张显卡的显存已不能容纳整个模型进行训练,需要在多张显卡上进行分布式训练;用于训练的样本数据量往往达到TB级别,从而需要将数据分发到不同显卡上进行机器节点并行处理方法。现有技术中的分布式训练方法总体分为数据并行与模型并行;但现有方法还存在以下问题:(1)数据并行中一直存在梯度过期问题,不管是同步更新还是异步更新中都存在;(2)控制梯度更新的参数服务器在网络通信高峰时段往往成为瓶颈,容易出现宕机获负载过重的情形,从而加剧梯度过期问题的影响;(3)模型并行需要对模型的内在网络结构有着深刻认识,设计的难度很高,设计不好会导致不能减少训练的开销(包括时间和存储空间)。
技术实现思路
本专利技术的目的是提供一种多机器节点并行处理方法、装置、计算机设备及存储介质,旨在解决现有分布式训练方法存在的梯度过期、网络通信负载过重等问题。第一方面,本专利技术实施例提供了一种多机器节点并行处理方法,其包括:预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。第二方面,本专利技术实施例提供了一种多机器节点并行处理机制的方法装置,其包括:预处理单元,用于预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;划分单元,用于根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;计算单元,用于从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;交换单元,用于在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;调整单元,用于在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。第三方面,本专利技术实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的机器节点并行处理方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的机器节点并行处理方法。本专利技术实施例公开了一种机器节点并行处理方法、装置、计算机设备及存储介质。该方法通过对参与神经网络模型训练的多个机器节点进行预处理后,将多个机器节点划分至不同的节点簇;从每一所述节点簇选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内计算自身节点簇所有机器节点的当前簇内平均梯度;并在每一梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,从而对自身节点簇进行模型参数更新;最后在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。本专利技术实施例从神经网络结构入手,不再设置专用参数服务器,取而代之参与训练的机器节点之间进行通信,极大减轻了网络中的通信瓶颈;并且通过对参与神经网络训练的机器节点进行选择的方式,有效的缓解了神经网络训练中大量存在的梯度过期的问题;并且无需设计复杂模型,避免了神经网络训练过程中使用的时间和存储空间开销过大的问题。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的机器节点并行处理方法的流程示意图;图2为本专利技术实施例提供的机器节点并行处理方法的步骤S101的子流程示意图;图3为本专利技术实施例提供的机器节点并行处理方法的步骤S103的子流程示意图;图4为本专利技术实施例提供的机器节点并行处理方法装置的示意性框图;图5为本专利技术实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1,图1为本文档来自技高网...

【技术保护点】
1.一种多机器节点并行处理方法,其特征在于,包括:/n预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;/n根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;/n从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;/n在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;/n在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。/n

【技术特征摘要】
1.一种多机器节点并行处理方法,其特征在于,包括:
预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;
根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;
从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;
在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;
在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。


2.根据权利要求1所述的机器节点并行处理方法,其特征在于,所述预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量,包括:
预先设置参与神经网络模型训练的多个机器节点;
选择每一所述机器节点的物理特征指标并进行预处理,并对每一所述机器节点的物理特征指标进行归一化处理,其中,所述每一所述机器节点的物理特征指标包括节点的CPU运算频率、内存容量、GPU运算频率、GPU显存容量、硬盘I/O吞吐率、上行网络带宽中的任意几种;
对归一化处理处理后的每一所述机器节点的物理特征指标赋予不同权重,得到每一所述机器节点对应的多维度向量。


3.根据权利要求2所述的机器节点并行处理方法,其特征在于,所述对每一所述机器节点的物理特征指标进行归一化处理,包括:
统计历史梯度交换周期内的每一机器节点的物理特征指标的数值,获取物理特征指标的最高值xmax、平均值xave、最小值xmin;
按如下公式进行归一化处理:





4.根据权利要求1所述的机器节点并行处理方法,其特征在于,所述从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度,包括:
从每一所述节点簇中随机选出一个机器节点并作为自身节点簇的参数同步临时服务器;
在每一梯度交换周期内,自身节点簇中的所有节点在每训练完一个批次的样本后,向所述参数同步临时服务器发送一次当前梯度信息,并计算当前批次的梯度平均值;
取每一梯度交换周期内最后一次计算得到的梯度平均...

【专利技术属性】
技术研发人员:王伟于翠翠黄勇其
申请(专利权)人:润联软件系统深圳有限公司
类型:发明
国别省市:广东;44

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

1