更新参数的方法和装置转让专利
申请号 : CN201810803723.3
文献号 : CN110737446B
文献日 : 2021-10-12
发明人 : 杨威
申请人 : 杭州海康威视数字技术股份有限公司
摘要 :
权利要求 :
1.一种更新参数的方法,其特征在于,所述方法应用在深度学习同步数据并行训练过程中,所述方法包括:
获取每个训练节点的性能参数,所述性能参数包括中央处理器CPU型号、CPU个数、图形处理器GPU型号、处理预设数目个训练样本所耗时长中的至少一个参数;
根据所述每个训练节点的性能参数,分别确定所述每个训练节点在预设时长内能够处理的训练样本的数目,作为所述每个训练节点对应的样本数据批次数目BatchSize,其中,BatchSize是指训练节点一次训练过程中同时处理训练样本的数目;
将确定出的BatchSize,分别发送给对应的训练节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个训练节点的性能参数,分别确定所述每个训练节点在预设时长内能够处理的训练样本的数目,作为所述每个训练节点对应的样本数据批次数目BatchSize,包括:根据预先存储的性能参数与单位时长内处理训练样本的数目的对应关系,以及所述每个训练节点的性能参数,确定对应的单位时长内处理训练样本的数目,根据所述单位时长内处理训练样本的数目,确定所述每个训练节点在预设时长内能够处理的训练样本的数目,作为所述每个训练节点对应的样本数据批次数目BatchSize。
3.根据权利要求1所述的方法,其特征在于,所述将确定出的BatchSize,分别发送给对应的训练节点之后,还包括:
接收所述每个训练节点发送的梯度数据;
计算接收到的梯度数据的平均值;
根据所述平均值,确定待训练的模型的更新参数;
将所述更新参数发送给每个训练节点。
4.一种更新参数的方法,其特征在于,所述方法应用在深度学习同步数据并行训练过程中,所述方法包括:
接收中心节点发送的本训练节点对应的BatchSize,所述BatchSize是所述中心节点采用如权利要求1‑3任一项所述的方法确定出的;
根据所述BatchSize,获取对应数目的训练样本;
根据获取的训练样本,对待训练的模型进行训练处理。
5.根据权利要求4所述的方法,其特征在于,所述训练样本包括样本输入数据和输出参考数据;
所述根据获取的训练样本,对待训练的模型进行训练处理,包括:将获取的训练样本中的样本输入数据输入待训练的模型,得到所述训练样本对应的输出数据;
根据所述训练样本中的输出参考数据和所述输出数据,确定所述待训练的模型中的每个待训练参数对应的梯度数据;
将所述梯度数据发送给所述中心节点;
接收所述中心节点发送的更新参数,根据所述更新参数,对所述待训练的模型中的每个待训练参数进行参数更新。
6.一种更新参数的装置,其特征在于,所述装置用于执行深度学习同步数据并行训练,所述装置包括:
获取模块,用于获取每个训练节点的性能参数,所述性能参数包括中央处理器CPU型号、CPU个数、图形处理器GPU型号、处理预设数目个训练样本所耗时长中的至少一个参数;
确定模块,用于根据所述每个训练节点的性能参数,分别确定所述每个训练节点在预设时长内能够处理的训练样本的数目,作为所述每个训练节点对应的样本数据批次数目BatchSize,其中,BatchSize是指训练节点一次训练过程中同时处理训练样本的数目;
发送模块,用于将确定出的BatchSize,分别发送给对应的训练节点。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,用于:根据预先存储的性能参数与单位时长内处理训练样本的数目的对应关系,以及所述每个训练节点的性能参数,确定对应的单位时长内处理训练样本的数目,根据所述单位时长内处理训练样本的数目,确定所述每个训练节点在预设时长内能够处理的训练样本的数目,作为所述每个训练节点对应的样本数据批次数目BatchSize。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:接收模块,用于将确定出的BatchSize,分别发送给对应的训练节点之后,接收所述每个训练节点发送的梯度数据;
计算模块,用于计算接收到的梯度数据的平均值;
所述确定模块,还用于根据所述平均值,确定待训练的模型的更新参数;
所述发送模块,还用于将所述更新参数发送给每个训练节点。
9.一种更新参数的装置,其特征在于,所述装置用于执行深度学习同步数据并行训练,所述装置包括:
接收模块,用于接收中心节点发送的本训练节点对应的BatchSize,所述BatchSize是所述中心节点采用如权利要求1‑3任一项所述的方法确定出的;
获取模块,用于根据所述BatchSize,获取对应数目的训练样本;
训练模块,用于根据获取的训练样本,对待训练的模型进行训练处理。
10.根据权利要求9所述的装置,其特征在于,所述训练样本包括样本输入数据和输出参考数据;
所述训练模块,用于:
将获取的训练样本中的样本输入数据输入待训练的模型,得到所述训练样本对应的输出数据;
根据所述训练样本中的输出参考数据和所述输出数据,确定所述待训练的模型中的每个待训练参数对应的梯度数据;
将所述梯度数据发送给所述中心节点;
接收所述中心节点发送的更新参数,根据所述更新参数,对所述待训练的模型中的每个待训练参数进行参数更新。
11.一种更新参数的系统,其特征在于,所述系统用于执行深度学习同步数据并行训练,所述系统包括中心节点和训练节点,其中:所述中心节点,用于获取每个训练节点的性能参数,所述性能参数包括中央处理器CPU型号、CPU个数、图形处理器GPU型号、处理预设数目个训练样本所耗时长中的至少一个参数;根据所述每个训练节点的性能参数,分别确定所述每个训练节点在预设时长内能够处理的训练样本的数目,作为所述每个训练节点对应的样本数据批次数目BatchSize,其中,BatchSize是指训练节点一次训练过程中同时处理训练样本的数据;将确定出的BatchSize,分别发送给对应的训练节点;
所述训练节点,用于接收中心节点发送的本训练节点对应的BatchSize;根据所述BatchSize,获取对应数目的训练样本;根据获取的训练样本,对待训练的模型进行训练处理。
说明书 :
更新参数的方法和装置
技术领域
背景技术
据输入到待训练模型中,得到训练值,根据训练值与样本数据的真值计算损失函数loss,根
据loss计算待训练模型中的每个参数的梯度数据,根据梯度数据计算每个参数对应的更新
参数,并对待训练模型中的参数进行更新,重复上述过程,直到loss小于预设loss阈值时,
结束训练。
练节点使用相同数量(可称为BatchSize)的不同样本数据分别计算各个参数的梯度数据,
然后计算多个训练节点得到的每个参数的梯度数据的平均值,然后根据梯度数据的平均值
确定更新参数,然后每个训练节点根据更新参数同时进行参数更新。这种技术可以被称为
深度学习同步数据并行训练技术。
完成计算,然后等待计算能力弱的训练节点计算完成才能进行后续处理的情况,这样,会浪
费训练节点的计算资源,使得训练的效率降低。
发明内容
BatchSize,包括:
时长内处理训练样本的数目,确定所述每个训练节点在预设时长内能够处理的训练样本的
数目,作为所述每个训练节点对应的样本数据批次数目BatchSize。
目BatchSize;
时长内处理训练样本的数目,确定所述每个训练节点在预设时长内能够处理的训练样本的
数目,作为所述每个训练节点对应的样本数据批次数目BatchSize。
存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第一方面或第二方面
中任一所述的方法步骤。
指令集由所述处理器加载并执行以实现如上述第一方面或第二方面所述的更新参数的方
法。
练的模型进行训练处理。这样,根据训练节点的计算性能确定训练节点的BatchSize,计算
性能强一些的训练节点的BatchSize大一些,计算性能弱一些的训练节点的BatchSize小一
些,即计算性能强一些的训练节点同时使用数目较多的训练样本来计算梯度数据,计算性
能弱一些的训练节点同时使用数目较少的训练样本来计算梯度数据,使得每个训练节点消
耗的时间几乎相同,可以避免出现计算能力强的训练节点先完成计算,然后等待计算能力
弱的训练节点计算完成才能进行后续处理的情况,避免浪费训练节点的计算资源,进而提
高了训练的效率。
附图说明
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
具体实施方式
器。中心节点和训练节点可以是各自独立的实体设备,如图1所示,中心节点仅用于和训练
节点进行数据交互,本身不参与使用训练样本对待训练的模型进行训练的过程;中心节点
和训练节点也可以是在实体设备中建立的虚拟模块,中心节点可以和训练节点集成在一个
实体设备中,如图2所示,则中心节点和训练节点集成的实体设备既要与其他实体设备中的
训练节点进行数据交互,也要参与使用训练样本对待训练的模型进行训练的过程,本发明
对此不做限定。
每个训练节点的性能参数、计算接收到的梯度数据的平均值等处理。存储器,可以为RAM
(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、
处理过程所需的数据、处理过程中生成的数据等,如每个训练节点的性能参数、每个训练节
点的BatchSize、训练节点发送的梯度数据、梯度数据的平均值、待训练的模型的更新参数
等。收发器,可以用于与终端或其它服务器进行数据传输,例如,向训练节点发送待训练的
模型的更新参数,向每个训练节点发送对应的BatchSize,收发器可以包括天线、匹配电路、
调制解调器等。中心节点还可以包括屏幕、图像检测部件、音频输出部件和音频输入部件
等。屏幕可以用于显示训练结果。图像检测部件可以是摄像头等。音频输出部件可以是音
箱、耳机等。音频输入部件可以是麦克风等。
本得到训练样本对应的输出数据、计算梯度数据、根据更新参数对待训练参数进行更新等
处理。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以
用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如BatchSize、训
练样本、训练样本对应的输出数据、待训练参数对应的梯度数据、更新参数等。收发器,可以
用于与终端或其它服务器进行数据传输,例如,向中心节点发送待训练参数对应的梯度数
据,接收中心节点发送的对应的BatchSize,收发器可以包括天线、匹配电路、调制解调器
等。终端还可以包括屏幕、图像检测部件、音频输出部件和音频输入部件等。屏幕可以用于
显示训练结果等。收发器,可以用于与其它设备进行数据传输,例如,接收服务器发送的设
备列表和控制页面,可以包括天线、匹配电路、调制解调器等。
待训练的模型进行训练处理。这样,根据训练节点的计算性能确定训练节点的BatchSize,
计算性能强一些的训练节点的BatchSize大一些,计算性能弱一些的训练节点的BatchSize
小一些,即计算性能强一些的训练节点同时使用数目较多的训练样本来计算梯度数据,计
算性能弱一些的训练节点同时使用数目较少的训练样本来计算梯度数据,使得每个训练节
点消耗的时间几乎相同,可以避免出现计算能力强的训练节点先完成计算,然后等待计算
能力弱的训练节点计算完成才能进行后续处理的情况,避免浪费训练节点的计算资源,进
而提高了训练的效率。
练节点的计算性能确定训练节点的BatchSize,计算性能强一些的训练节点的BatchSize大
一些,计算性能弱一些的训练节点的BatchSize小一些,即计算性能强一些的训练节点同时
使用数目较多的训练样本来计算梯度数据,计算性能弱一些的训练节点同时使用数目较少
的训练样本来计算梯度数据,这样每个训练节点消耗的时间几乎相同,可以避免出现计算
能力强的训练节点先完成计算,然后等待计算能力弱的训练节点计算完成才能进行后续处
理的情况,避免浪费训练节点的计算资源,进而提高了训练的效率。
数获取请求,接收到性能参数获取请求的训练节点存储并解析性能参数获取请求,然后获
取预先存储的性能参数以及自身的节点标识,将性能参数和节点标识发送给中心节点。中
心节点接收到各训练节点发送的性能参数和节点标识后,将各训练节点的性能参数和节点
标识对应存储,并生成一个参与训练的所有训练节点的节点标识表。
个CPU型号可以代表固定的CPU的内核数量以及固定的核心频率。
个训练样本所消耗的时长并存储得到的。另外,该参数也可以是在各训练节点启动后,各训
练节点自动获取预设数目个训练样本进行测试,自动记录并存储处理预设数目个训练样本
所消耗的时长。除了上述的方法之外,任一可以获取处理预设数目个训练样本所耗时长的
方案皆可,本发明对此不做限定。
BatchSize。
训练节点对应的BatchSize。这样,可以根据每个训练节点的计算性能,确定它们每次训练
处理的训练样本的数目,计算性能强一些的训练节点每次处理的训练样本的数目多一些,
计算性能弱一些的训练节点每次处理的训练样本的数目少一些,这样,各训练节点处理训
练样本所消耗的时间大致相同,避免出现训练节点每次训练消耗的时间不相同,使得计算
性能强的训练节点需要等待计算性能弱的训练节点完成训练样本处理后,才能进行下一步
操作的情况,避免出现计算资源的浪费,可以进一步提高训练效率。
以如下:根据预先存储的性能参数与单位时长内处理训练样本的数目的对应关系,以及每
个训练节点的性能参数,确定对应的单位时长内处理训练样本的数目,根据单位时长内处
理训练样本的数目,确定每个训练节点在预设时长内能够处理的训练样本的数目,作为每
个训练节点对应的样本数据批次数目BatchSize。
时长。
在中心节点。基于上述性能参数包括CPU型号、CPU个数、GPU型号、处理预设数目个训练样本
所耗时长中的至少一个参数,因此性能参数与单位时长内处理训练样本的数目的对应关系
表可以是多个表,至少包括CPU型号与单位时长内处理训练样本的数目的对应关系表(如下
表1所示)、CPU个数与单位时长内处理训练样本的数目的对应关系表(如下表2所示)以及
GPU型号与单位时长内处理训练样本的数目的对应关系表(如下表3所示)这三个表。如果性
能参数为处理预设数目个训练样本所耗时长,可以通过算法计算得到单位时长内处理训练
样本的数目,举例来说,假设某一训练节点的性能参数为处理预设数目个训练样本所耗时
长,其中,预设数目为100,所耗时长为10s,而待计算的单位时长内处理训练样本的数目中
的单位时长为20s,则可以计算20s÷10s×100=200,可以得到单位时长内处理训练样本的
数目为200。
Intel i5 380
…… ……
AMD Ryzen 7 2700 330
2 150
4 270
6 380
8 500
Intel(R)HD Graphics 630 350
AMD Radeon(TM)R9 270 480
…… ……
GeForce GTX 760 200
心节点确定训练节点的性能参数CPU型号为Intel i5,则中心节点获取表1对应的对应关系
表,并查询Intel i5对应的单位时长内处理训练样本的数目,可以确定该训练节点的性能
参数对应的单位时长内处理训练样本的数目为380。
的多个单位时长内处理训练样本的数目的平均值,作为该训练节点的单位时长内处理训练
样本的数目。
出训练节点的单位时长内处理训练样本的数目为380,且单位时长为10s,而上述预设时长
设置为30s,则可以计算30s÷10s×380=1140,即该训练节点在预设时长内能够处理的训
练样本的数目为1140。将计算得到的结果作为该训练节点对应的BatchSize。
骤进行处理,本发明在此不做赘述。
获取该训练节点对应的节点地址,根据该节点地址,向该训练节点发送该训练节点对应的
BatchSize。
模型初始参数对预先存储的待训练的模型进行初始化。模型初始参数可以预先存储在训练
节点中,使用时训练节点直接从自身的存储器中获取即可。模型初始参数也可以是存储在
中心节点中,训练节点向中心节点发送初始参数获取请求,中心节点根据训练节点发送的
初始参数获取请求,将预先存储的模型初始参数发送给训练节点,训练节点接收并存储模
型初始参数,以此方式得到的。本发明对此不做限制。
用的训练样本均不相同。下面提供几种可选的训练节点获取训练样本的方案:
以及BatchSize,中心节点接收到训练样本获取请求后,根据BatchSize获取到对应数目的
训练样本后,根据节点标识向训练节点发送训练样本。其中,为了给每个训练节点分配不同
的训练样本,中心节点可以采用顺序分配算法,按照训练样本集中的顺序给每个训练节点
分配训练样本,也可以采用任何一种随机不重复分配算法,随机给各训练节点分配不重复
的训练样本。或者,中心节点按照训练节点的数目,将存储的训练数据集分段,每段训练数
据集对应一个训练节点。除了上述方案之外,任一可以使中心节点为每个训练节点分配不
同的训练样本的方案皆可,本发明对此不做限制。
训练样本,每个训练节点中存储的训练样本可以是同一个训练数据集中的不同部分,即每
个训练节点中存储的训练样本不相同。或者,在每个训练节点中存储相同的训练数据集,但
不同训练节点中的训练数据集带有不同的分段标识,每个训练节点只能够获取分段标识区
分出来的训练数据集中的部分训练样本。除了上述方案之外,任一可以使每个训练节点获
取不同的训练样本的方案皆可,本发明对此不做限制。
点的节点标识以及BatchSize,存储服务器接收到训练样本获取请求后,根据BatchSize获
取到对应数目的训练样本后,根据节点标识向训练节点发送训练样本。存储服务器给每个
训练节点分配不同训练样本的方案可以参考上述方案一的方案,本发明在此不做赘述。通
常来说,存储服务器的处理速度和带宽比中心节点要高一些,因此,将训练样本存储在存储
服务器的方案的训练效率要比将训练样本存储在中心节点的方案的训练效率高。
中,训练节点将获取的训练样本中的样本输入数据输入待训练的模型,得到训练样本对应
的输出数据;在步骤602中,根据训练样本中的输出参考数据和输出数据,训练节点确定待
训练的模型中的每个待训练参数对应的梯度数据;在步骤603中,训练节点将梯度数据发送
给中心节点;在步骤604中,中心节点接收训练节点发送的梯度数据;在步骤605中,中心节
点计算接收到的梯度数据的平均值;在步骤606中,根据平均值,中心节点确定待训练的模
型的更新参数;在步骤607中,中心节点将更新参数发送给每个训练节点;在步骤608中,训
练节点接收中心节点发送的更新参数,根据更新参数,对待训练的模型中的每个待训练参
数进行参数更新。
次获取到n个训练样本,该训练节点将获取到的n个训练样本中的样本输入数据输入到待训
练的模型中,待训练的模型同时对n个样本输入数据进行处理,输出n个输出数据。
目多一些,计算性能弱的训练节点同时处理的训练样本的数目少一些,且根据计算每个训
练节点的BatchSize的过程可以得知,每个训练节点根据BatchSize获取对应数目的训练样
本并同时处理这些训练样本所耗时长为上述的预设时长,即每个训练节点所耗时间相同,
这样可以避免出现计算资源的浪费,可以进一步提高训练效率。
考数据均可以是长向量的形式,且输出数据和输出参考数据的向量长度相同。优选地,可以
根据交叉熵损失函数的计算公式来计算Loss,如下述公式(1)。
Loss是否小于预设的Loss阈值,如果共同Loss小于预设的Loss阈值,则说明样本输入数据
对应的输出数据和样本参考数据的差距很小,可以认为该模型已经训练完成,则停止训练,
并将当前模型中的各待训练参数的参数值作为训练好的模型中的参数值,训练过程结束。
另外一种可行的判断方案可以是,判断共同Loss是否收敛,即此次迭代的共同Loss与上次
迭代的共同Loss是否发生变化,如果没有变化,则说明共同Loss收敛,继续训练也不能使共
同Loss变小,因此,停止训练,训练结束。
每个待训练参数的初始值,计算每个待训练参数的梯度数据,计算梯度数据的计算公式可
以如下述公式(2)所示,然后将得到的梯度数据以及自身的节点标识发送给中心节点。
识表中的节点标识相同,则说明参与模型训练的所有训练节点都完成了对训练样本的处理
并返回了梯度数据。中心节点分别计算接收到的所有梯度数据中,每个待训练参数对应的
梯度数据的平均值,最终得到所有待训练参数的梯度数据的平均值。然后,中心节点根据每
个待训练参数的梯度数据的平均值以及预设的学习率,计算每个待训练参数的更新参数,
计算公式可以如下述公式(3)。
参数。这样,便完成了一次深度学习同步数据并行训练。
数据是否正确,然后计算得到的测试数据中正确的测试数据与错误的测试数据的比值,即
为训练精度。训练精度表示一个模型输出的正确率。当训练精度达到预设的训练精度阈值
时,说明该模型已经足够精确,无需继续训练,因此当训练精度达到预设的训练精度阈值
时,停止训练,训练过程结束。
皆可,不限于上述例举的几种方法,本发明对此不做限制。
训练节点进行数据交互,本身不参与使用训练样本对待训练的模型进行训练的过程;中心
节点和训练节点也可以是在实体设备中建立的虚拟模块,中心节点可以和训练节点集成在
一个实体设备中,则中心节点和训练节点集成的实体设备既要与其他实体设备中的训练节
点进行数据交互,也要参与使用训练样本对待训练的模型进行训练的过程,在这种情况下,
中心节点所在的实体设备与其他训练节点所在的实体设备之间的数据交互可以采用并行
通讯协议。
练的模型进行训练处理。这样,根据训练节点的计算性能确定训练节点的BatchSize,计算
性能强一些的训练节点的BatchSize大一些,计算性能弱一些的训练节点的BatchSize小一
些,即计算性能强一些的训练节点同时使用数目较多的训练样本来计算梯度数据,计算性
能弱一些的训练节点同时使用数目较少的训练样本来计算梯度数据,使得每个训练节点消
耗的时间几乎相同,可以避免出现计算能力强的训练节点先完成计算,然后等待计算能力
弱的训练节点计算完成才能进行后续处理的情况,避免浪费训练节点的计算资源,进而提
高了训练的效率。
块730。
据批次数目BatchSize;
时长内处理训练样本的数目,确定所述每个训练节点在预设时长内能够处理的训练样本的
数目,作为所述每个训练节点对应的样本数据批次数目BatchSize。
待训练的模型进行训练处理。这样,根据训练节点的计算性能确定训练节点的BatchSize,
计算性能强一些的训练节点的BatchSize大一些,计算性能弱一些的训练节点的BatchSize
小一些,即计算性能强一些的训练节点同时使用数目较多的训练样本来计算梯度数据,计
算性能弱一些的训练节点同时使用数目较少的训练样本来计算梯度数据,使得每个训练节
点消耗的时间几乎相同,可以避免出现计算能力强的训练节点先完成计算,然后等待计算
能力弱的训练节点计算完成才能进行后续处理的情况,避免浪费训练节点的计算资源,进
而提高了训练的效率。
块930。
练节点的计算性能确定训练节点的BatchSize,计算性能强一些的训练节点的BatchSize大
一些,计算性能弱一些的训练节点的BatchSize小一些,即计算性能强一些的训练节点同时
使用数目较多的训练样本来计算梯度数据,计算性能弱一些的训练节点同时使用数目较少
的训练样本来计算梯度数据,这样每个训练节点消耗的时间几乎相同,可以避免出现计算
能力强的训练节点先完成计算,然后等待计算能力弱的训练节点计算完成才能进行后续处
理的情况,避免浪费训练节点的计算资源,进而提高了训练的效率。
每个训练节点对应的样本数据批次数目BatchSize;将确定出的BatchSize,分别发送给对
应的训练节点;
理。
练的模型进行训练处理。这样,根据训练节点的计算性能确定训练节点的BatchSize,计算
性能强一些的训练节点的BatchSize大一些,计算性能弱一些的训练节点的BatchSize小一
些,即计算性能强一些的训练节点同时使用数目较多的训练样本来计算梯度数据,计算性
能弱一些的训练节点同时使用数目较少的训练样本来计算梯度数据,使得每个训练节点消
耗的时间几乎相同,可以避免出现计算能力强的训练节点先完成计算,然后等待计算能力
弱的训练节点计算完成才能进行后续处理的情况,避免浪费训练节点的计算资源,进而提
高了训练的效率。
模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分
功能。另外,上述实施例提供的更新参数的装置与更新参数的方法实施例属于同一构思,其
具体实现过程详见方法实施例,这里不再赘述。
可以包括一个或一个以上处理器(central processing units,CPU)1001和一个或一个以
上的存储器1002,其中,所述存储器1002中存储有至少一条指令,所述至少一条指令由所述
处理器1001加载并执行以实现下述更新参数的方法步骤:
时长内处理训练样本的数目,确定所述每个训练节点在预设时长内能够处理的训练样本的
数目,作为所述每个训练节点对应的样本数据批次数目BatchSize。
待训练的模型进行训练处理。这样,根据训练节点的计算性能确定训练节点的BatchSize,
计算性能强一些的训练节点的BatchSize大一些,计算性能弱一些的训练节点的BatchSize
小一些,即计算性能强一些的训练节点同时使用数目较多的训练样本来计算梯度数据,计
算性能弱一些的训练节点同时使用数目较少的训练样本来计算梯度数据,使得每个训练节
点消耗的时间几乎相同,可以避免出现计算能力强的训练节点先完成计算,然后等待计算
能力弱的训练节点计算完成才能进行后续处理的情况,避免浪费训练节点的计算资源,进
而提高了训练的效率。
可以包括一个或一个以上处理器(central processing units,CPU)1101和一个或一个以
上的存储器1102,其中,所述存储器1102中存储有至少一条指令,所述至少一条指令由所述
处理器1101加载并执行以实现下述更新参数的方法步骤:
练节点的计算性能确定训练节点的BatchSize,计算性能强一些的训练节点的BatchSize大
一些,计算性能弱一些的训练节点的BatchSize小一些,即计算性能强一些的训练节点同时
使用数目较多的训练样本来计算梯度数据,计算性能弱一些的训练节点同时使用数目较少
的训练样本来计算梯度数据,这样每个训练节点消耗的时间几乎相同,可以避免出现计算
能力强的训练节点先完成计算,然后等待计算能力弱的训练节点计算完成才能进行后续处
理的情况,避免浪费训练节点的计算资源,进而提高了训练的效率。
由处理器加载并执行以实现上述实施例中的识别动作类别的方法。例如,所述计算机可读
存储介质可以是ROM、随机存取存储器(RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。