CN112882835B - 一种机器节点并行处理方法、装置、计算机设备及存储介质 - Google Patents
一种机器节点并行处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112882835B CN112882835B CN202110227453.8A CN202110227453A CN112882835B CN 112882835 B CN112882835 B CN 112882835B CN 202110227453 A CN202110227453 A CN 202110227453A CN 112882835 B CN112882835 B CN 112882835B
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- machine
- gradient
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 53
- 238000003062 neural network model Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种机器节点并行处理方法、装置、计算机设备及存储介质。该方法通过对参与神经网络模型训练的多个机器节点进行预处理后,将多个机器节点划分至不同的节点簇;从每一所述节点簇选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内计算自身节点簇所有机器节点的当前簇内平均梯度;并在每一梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,从而对自身节点簇进行模型参数更新;最后在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。本发明具有减轻网络中的通信负载和缓解梯度过期的优点。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种机器节点并行处理方法、装置、计算机设备及存储介质。
背景技术
目前,深度神经网络模型已成为当前人工智能领域的基石,但当前绝大多数模型都依赖海量数据支撑的监督学习模式,随之而来的是模型的容量越来越大(以自然语言处理领域模型GPT3为例,模型参数达到1750亿),从而带来了训练模型的巨大挑战;具体体现在:单张显卡的显存已不能容纳整个模型进行训练,需要在多张显卡上进行分布式训练;用于训练的样本数据量往往达到TB级别,从而需要将数据分发到不同显卡上进行机器节点并行处理方法。
现有技术中的分布式训练方法总体分为数据并行与模型并行;但现有方法还存在以下问题:
(1)数据并行中一直存在梯度过期问题,不管是同步更新还是异步更新中都存在;
(2)控制梯度更新的参数服务器在网络通信高峰时段往往成为瓶颈,容易出现宕机获负载过重的情形,从而加剧梯度过期问题的影响;
(3)模型并行需要对模型的内在网络结构有着深刻认识,设计的难度很高,设计不好会导致不能减少训练的开销(包括时间和存储空间)。
发明内容
本发明的目的是提供一种多机器节点并行处理方法、装置、计算机设备及存储介质,旨在解决现有分布式训练方法存在的梯度过期、网络通信负载过重等问题。
第一方面,本发明实施例提供了一种多机器节点并行处理方法,其包括:
预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;
根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;
从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;
在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;
在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。
第二方面,本发明实施例提供了一种多机器节点并行处理机制的方法装置,其包括:
预处理单元,用于预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;
划分单元,用于根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;
计算单元,用于从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;
交换单元,用于在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;
调整单元,用于在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的机器节点并行处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的机器节点并行处理方法。
本发明实施例公开了一种机器节点并行处理方法、装置、计算机设备及存储介质。该方法通过对参与神经网络模型训练的多个机器节点进行预处理后,将多个机器节点划分至不同的节点簇;从每一所述节点簇选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内计算自身节点簇所有机器节点的当前簇内平均梯度;并在每一梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,从而对自身节点簇进行模型参数更新;最后在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。本发明实施例从神经网络结构入手,不再设置专用参数服务器,取而代之参与训练的机器节点之间进行通信,极大减轻了网络中的通信瓶颈;并且通过对参与神经网络训练的机器节点进行选择的方式,有效的缓解了神经网络训练中大量存在的梯度过期的问题;并且无需设计复杂模型,避免了神经网络训练过程中使用的时间和存储空间开销过大的问题。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的机器节点并行处理方法的流程示意图;
图2为本发明实施例提供的机器节点并行处理方法的步骤S101的子流程示意图;
图3为本发明实施例提供的机器节点并行处理方法的步骤S103的子流程示意图;
图4为本发明实施例提供的机器节点并行处理方法装置的示意性框图;
图5为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的机器节点并行处理的流程图;
如图1所示,该方法包括步骤S101~S105。
S101、预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量。
本实施例中,所述机器节点可以是计算机或主机或其他网络设备,选择每一所述机器节点的物理特征指标并进行预处理,预处理的过程主要是对物理特征指标进行向量化处理,可得到每一所述机器节点对应的多维度向量,以便后续对多个机器节点进行划分。
在一实施例中,如图2所示,步骤S101包括:
S201、预先设置参与神经网络模型训练的多个机器节点;
S202、选择每一所述机器节点的物理特征指标并进行预处理,并对每一所述机器节点的物理特征指标进行归一化处理,其中,所述每一所述机器节点的物理特征指标包括节点的CPU运算频率、内存容量、GPU运算频率、GPU显存容量、硬盘I/O吞吐率、上行网络带宽中的任意几种;
S203、对归一化处理处理后的每一所述机器节点的物理特征指标赋予不同权重,得到每一所述机器节点对应的多维度向量。
本实施例中,选择每一所述机器节点的物理特征指标后,由于每个物理特征指标的量纲都不一致,需先对每个物理特征指标进行归一化处理,然后为每个归一化处理后的物理特征指标赋予不同权重,通过乘以权重后得到对应的多维度向量,这里可采用层次分析法或机器学习方法对物理特征指标赋予不同权重。
在一实施例中,所述对每一所述机器节点的物理特征指标进行归一化处理,包括:
统计历史梯度交换周期内的每一机器节点的物理特征指标的数值,获取物理特征指标的最高值xmax、平均值xave、最小值xmin;
按如下公式进行归一化处理:
本实施例中,针对每一机器节点的物理特征指标,获取物理特征指标在历史梯度交换周期中的最高值xmax、平均值xave、最小值xmin后,然后代入上述公式进行计算,即可得到物理特征指标的归一化处理后的数值。
S102、根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇。
本实施例中,根据每一所述机器节点对应的多维度向量,采用层次聚类方法聚集为不同的节点簇,聚类的过程为:将所有的所述机器节点的多维度向量进行相似度比较,将相似度在预设范围内的机器节点划分至一个簇,这样即可将所有机器节点划分至多个不同的节点簇。
S103、从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度。
本实施例中,从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,该参数同步临时服务器可与自身节点簇内的其他节点进行梯度信息传输,在每一梯度交换周期内,先对自身节点簇的内部进行样本训练,通过接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算得到自身节点簇的当前簇内平均梯度,以便后续与其他节点簇进行梯度交换信息。
在一实施例中,如图3所示,步骤S103包括:
S301、从每一所述节点簇中随机选出一个机器节点并作为自身节点簇的参数同步临时服务器;
S302、在每一梯度交换周期内,自身节点簇中的所有节点在每训练完一个批次的样本后,向所述参数同步临时服务器发送一次当前梯度信息,并计算当前批次的梯度平均值;
S303、在每一梯度交换周期内,自身节点簇中的所有节点在每训练完一个批次的样本后,向所述参数同步临时服务器发送一次当前梯度信息,并计算当前批次的梯度平均值;
S304、取每一梯度交换周期内最后一次计算得到的梯度平均值作为对应梯度交换周期的当前簇内平均梯度。
本实施例中,在每一所述节点簇中,先随机选择一个机器节点作为自身节点簇的参数同步临时服务器,然后将训练样本分批次输入到自身节点簇中的所有节点中进行训练,每训练完一个批次的样本后,其他节点向所述参数同步临时服务器发送一次当前梯度信息,然后计算当前批次的梯度平均值;这里也可以是训练多个批次的样本后再向同步临时服务器发送一次当前梯度信息,然后再计算当前的多个批次的梯度平均值。
需要说明的是,在每一梯度交换周期内,若向所述参数同步临时服务器发送了多次梯度信息并进行了多次梯度平均值的计算,则取最后一次计算得到的梯度平均值作为对应梯度交换周期的当前簇内平均梯度。
还需要说明的是,在神经网络模型训练中,由于内存容量的限制,往往不能一次将所有训练样本输入到模型中进行训练,故将训练样本分批次输入。
S104、在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新。
本实施例中,每一梯度交换周期后,自身节点簇与其他节点簇均计算出了各自的当前簇内平均梯度,即可进行梯度交换,本实施例以节点簇Ki和节点簇Kj进行举例说明。
具体的,若所述节点簇Ki是第一次接收到节点簇Kj发送的当前簇内平均梯度,则将节点簇Kj的当前簇内平均梯度与节点簇Ki的当前簇内平均梯度之和的平均值作为节点簇Ki的待更新簇内平均梯度,再将待更新簇内平均梯度发送给节点簇Ki的其他节点;其他节点接收待更新簇内平均梯度后,根据待更新簇内平均梯度更新模型参数。
若非第一次接收所述节点簇Kj发送的当前簇内平均梯度,则计算之前的所有梯度交换周期中节点簇Kj对节点簇Ki的总贡献度,这里的总贡献度为之前的所有梯度交换周期中节点簇Kj发送的簇内平均梯度被节点簇Ki采用的次数;然后根据总贡献度和节点簇Kj发送的簇内平均梯度计算得到节点簇Ki的待更新簇内平均梯度,并根据节点簇Ki的待更新簇内平均梯度对节点簇Ki进行模型参数更新,即可完成当前梯度交换周期后的节点簇Ki与节点簇Kj的梯度交换过程,这一过程中不再使用专用的参数服务器,取而代之的是参与训练的所述机器节点之间进行通信,极大减轻了网络中的通信瓶颈。
在一实施例中,所述计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,包括:
按如下公式计算其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度:
本实施例中,的计算方式为:在参数同步临时服务器中设置一个最大存储长度为q的缓冲队列,每次接收到其它节点簇发送的簇内平均梯度后,按照先进先存的方式存储于该缓冲队列中,每存一个梯度则队列已存储长度增加1直至到达q,随机采用该队列中的y(y为预设值,y<p)个梯度,就可得知哪几个节点簇发送的梯度被采用,即可得到该值非0即1。
S105、在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。
本实施例中,所述节点簇在达到预设次数的梯度交换周期后,所述节点簇内的参数同步临时服务器因为频繁传输梯度梯度信息导致的负载逐步增大,为避免过度负载,需重新选择所述节点簇中有余力的其他节点来作为新的参数同步临时服务器,从而缓解上一参数同步临时服务器的负载;这里的预设次数可根据具体的负载情况进行设定。
在一实施例中,步骤S105包括:
在达到预设次数的梯度交换周期后,计算所述节点簇内各个机器节点的状态信息,根据各个机器节点的状态信息选出状态最优的机器节点作为新的参数同步临时服务器。
本实施例中,所述节点簇在达到预设次数的梯度交换周期后,计算所述节点簇内各个机器节点的状态信息,这里的状态信息包括剩余内存、剩余显存、剩余带宽等物理信息,然后选用状态信息最优的机器节点作为新的参数同步临时服务器,这里选用时还可对状态信息进行加权求和并得到的最后数值,再进行选用,目的是根据内存、显存、带宽的重要性进行选择,可在实践中更灵活的进行应用,加权的方式可采用层次分析法或机器学习方法。
选出所述节点簇中的新的参数同步临时服务器后,获取新的参数同步临时服务器的节点ID,向全体节点广播接管的节点ID,所述节点簇的其它节点在接下来的预设次数的梯度交换周期内,向新的参数同步临时服务器发送当前梯度信息,以及接收新的参数同步临时服务器发送待更新簇内平均梯度,从而执行神经网络模型训练,直至神经网络的训练结束。
本发明实施例还提供一种多机器节点并行处理装置,该多机器节点并行处理装置用于执行前述多机器节点并行处理方法的任一实施例。具体地,请参阅图4,图4是本发明实施例提供的多机器节点并行处理装置的示意性框图。
如图4所示,多机器节点并行处理装置400,包括:预处理单元401、划分单元402、计算单元403、交换单元404以及调整单元405。
预处理单元401,用于预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;
划分单元402,用于根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;
计算单元403,用于从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;
交换单元404,用于在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;
调整单元405,用于在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束。
该装置从神经网络结构入手,不再设置专用参数服务器,取而代之参与训练的节点之间进行通信,极大减轻了网络中的通信瓶颈,具有减轻网络中的通信负载和缓解梯度过期的优点。
上述多机器节点并行处理装置可以实现为计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图5,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行多机器节点并行处理方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行多机器节点并行处理方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图5中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图5所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的多机器节点并行处理方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种多机器节点并行处理方法,其特征在于,包括:
预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;
根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;
从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;
在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;
在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束;
其中,所述预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量,包括:预先设置参与神经网络模型训练的多个机器节点;选择每一所述机器节点的物理特征指标并进行预处理,并对每一所述机器节点的物理特征指标进行归一化处理,其中,所述每一所述机器节点的物理特征指标包括节点的CPU运算频率、内存容量、GPU运算频率、GPU显存容量、硬盘I/O吞吐率、上行网络带宽中的任意几种;对归一化处理后的每一所述机器节点的物理特征指标赋予不同权重,得到每一所述机器节点对应的多维度向量;
其中,所述在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束,包括:在达到预设次数的梯度交换周期后,计算所述节点簇内各个机器节点的状态信息,根据各个机器节点的状态信息选出状态最优的机器节点作为新的参数同步临时服务器。
3.根据权利要求1所述的机器节点并行处理方法,其特征在于,所述从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度,包括:
从每一所述节点簇中随机选出一个机器节点并作为自身节点簇的参数同步临时服务器;
在每一梯度交换周期内,自身节点簇中的所有节点在每训练完一个批次的样本后,向所述参数同步临时服务器发送一次当前梯度信息,并计算当前批次的梯度平均值;
取每一梯度交换周期内最后一次计算得到的梯度平均值作为对应梯度交换周期的当前簇内平均梯度。
6.一种机器节点并行处理方法装置,其特征在于,包括:
预处理单元,用于预先设置参与神经网络模型训练的多个机器节点,选择每一所述机器节点的物理特征指标并进行预处理,得到每一所述机器节点对应的多维度向量;
划分单元,用于根据每一所述机器节点对应的多维度向量,将各个所述机器节点划分至不同的节点簇;
计算单元,用于从每一所述节点簇中选出一个机器节点作为自身节点簇的参数同步临时服务器,并在每一梯度交换周期内接收自身节点簇中的其他机器节点发送的当前梯度信息,并计算自身节点簇所有机器节点的当前簇内平均梯度;
交换单元,用于在当前梯度交换周期后,自身节点簇与其他节点簇的参数同步临时服务器之间交换各自的当前簇内平均梯度,并计算之前的所有梯度交换周期中其他节点簇发送的簇内平均梯度对自身节点簇的总贡献度,并根据总贡献度和其他节点簇发送的当前簇内平均梯度计算得到自身节点簇的待更新簇内平均梯度,并根据自身节点簇的待更新簇内平均梯度对自身节点簇进行模型参数更新;
调整单元,用于在预设次数的梯度交换周期后,重新选择每一所述节点簇中的参数同步临时服务器,并继续神经网络模型训练,直至训练结束;
其中,所述预处理单元包括:预先设置参与神经网络模型训练的多个机器节点;选择每一所述机器节点的物理特征指标并进行预处理,并对每一所述机器节点的物理特征指标进行归一化处理,其中,所述每一所述机器节点的物理特征指标包括节点的CPU运算频率、内存容量、GPU运算频率、GPU显存容量、硬盘I/O吞吐率、上行网络带宽中的任意几种;对归一化处理后的每一所述机器节点的物理特征指标赋予不同权重,得到每一所述机器节点对应的多维度向量;
其中,所述调整单元包括:在达到预设次数的梯度交换周期后,计算所述节点簇内各个机器节点的状态信息,根据各个机器节点的状态信息选出状态最优的机器节点作为新的参数同步临时服务器。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的机器节点并行处理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的机器节点并行处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110227453.8A CN112882835B (zh) | 2021-03-01 | 2021-03-01 | 一种机器节点并行处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110227453.8A CN112882835B (zh) | 2021-03-01 | 2021-03-01 | 一种机器节点并行处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882835A CN112882835A (zh) | 2021-06-01 |
CN112882835B true CN112882835B (zh) | 2022-12-06 |
Family
ID=76055085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110227453.8A Active CN112882835B (zh) | 2021-03-01 | 2021-03-01 | 一种机器节点并行处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882835B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492801A (zh) * | 2022-04-18 | 2022-05-13 | 中国科学院自动化研究所 | 一种神经网络的训练方法、装置及设备 |
CN115665174B (zh) * | 2022-12-13 | 2023-03-14 | 浪潮电子信息产业股份有限公司 | 一种梯度数据的同步方法、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779093A (zh) * | 2017-01-06 | 2017-05-31 | 中国科学院上海高等研究院 | 基于滑动窗口采样的分布式机器学习训练方法及其系统 |
CN111104215A (zh) * | 2019-11-15 | 2020-05-05 | 河海大学 | 一种基于分布式编码的随机梯度下降优化方法 |
CN111709533A (zh) * | 2020-08-19 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 机器学习模型的分布式训练方法、装置以及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11315013B2 (en) * | 2018-04-23 | 2022-04-26 | EMC IP Holding Company LLC | Implementing parameter server in networking infrastructure for high-performance computing |
-
2021
- 2021-03-01 CN CN202110227453.8A patent/CN112882835B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779093A (zh) * | 2017-01-06 | 2017-05-31 | 中国科学院上海高等研究院 | 基于滑动窗口采样的分布式机器学习训练方法及其系统 |
CN111104215A (zh) * | 2019-11-15 | 2020-05-05 | 河海大学 | 一种基于分布式编码的随机梯度下降优化方法 |
CN111709533A (zh) * | 2020-08-19 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 机器学习模型的分布式训练方法、装置以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112882835A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3540652B1 (en) | Method, device, chip and system for training neural network model | |
CN112882835B (zh) | 一种机器节点并行处理方法、装置、计算机设备及存储介质 | |
CN113434253B (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN112464278A (zh) | 基于非均匀分布数据的联邦建模方法及相关设备 | |
US11461360B2 (en) | Efficiently initializing distributed clustering on large data sets | |
CN111160550A (zh) | 训练方法、信息处理设备和非暂态计算机可读存储介质 | |
CN110610449A (zh) | 处理计算任务的方法、设备和计算机程序产品 | |
CN112162861B (zh) | 线程分配方法、装置、计算机设备及存储介质 | |
US20220156633A1 (en) | System and method for adaptive compression in federated learning | |
US20180293486A1 (en) | Conditional graph execution based on prior simplified graph execution | |
CN111784699B (zh) | 一种对三维点云数据进行目标分割方法、装置及终端设备 | |
CN116185584A (zh) | 一种基于深度强化学习的多租户数据库资源规划与调度方法 | |
CN115578258A (zh) | 图像处理方法、装置、设备及存储介质 | |
WO2023241225A1 (en) | Systems and methods for machine learning model compression | |
CN116720592A (zh) | 联邦学习模型训练方法、装置、非易失性存储介质及电子设备 | |
CN115797726A (zh) | 模型获得方法、装置、电子设备及存储介质 | |
JP2020003860A (ja) | 学習システム、処理装置、処理方法、およびプログラム | |
CN114281474A (zh) | 一种资源调节方法及装置 | |
US20210012192A1 (en) | Arithmetic processing apparatus, control method, and non-transitory computer-readable recording medium having stored therein control program | |
CN110647381B (zh) | 一种虚拟机资源均衡和部署优化方法 | |
CN116187473B (zh) | 联邦学习方法、装置、电子设备和计算机可读存储介质 | |
CN117435516B (zh) | 一种测试用例优先级排序方法和系统 | |
CN118012608B (zh) | 数据源调用负载均衡方法、装置、电子设备和介质 | |
CN118245809B (zh) | 一种分布式数据并行在线异步训练中的批大小调整方法 | |
CN118449875B (zh) | 一种自适应的云服务器监视数据收集方法、装置及云服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 801, building 2, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000 Patentee after: China Resources Digital Technology Co.,Ltd. Address before: Room 801, building 2, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000 Patentee before: Runlian software system (Shenzhen) Co.,Ltd. |