【技术实现步骤摘要】
一种神经网络模型训练方法、装置、芯片和系统
本专利技术实施例涉及机器学习领域,尤其涉及一种神经网络模型训练方法、装置、芯片和系统。
技术介绍
随着计算机和信息技术的迅猛发展和普及应用,行业应用数据呈爆炸性增长。动辄达到数百万亿字节(Trillionbyte,简称TB),甚至数千万亿字节(Petabyte,简称PB)规模的行业、企业大数据往往隐含着很多在小数据量时不具备的深度知识和价值,大规模机器学习(包含深度学习)引领的数据分析是将大数据转换成有用知识的关键技术。Google、Facebook、微软、百度等国内外大型互联网公司纷纷成立专门的基于大数据的机器学习与人工智能研发机构,深入系统地研究基于大数据的机器学习和智能化计算技术。将大规模机器学习算法部署在大规模分布式并行计算系统,目前较为常用的是参数服务器(英文可称为parametersever)计算架构,配合有效的随机梯度下降算法(英文可称为Stochasticgradientdescent)进行训练。图1示例性示出了一种分布式训练系统示意图,如图1所示,包括服务器模块集合(英文可称为servers)101和工作模块集合(英文可称为workers)102,服务器模块集合可包括多个服务器模块(英文可称为server),工作模块集合可包括多个工作模块(英文可称为worker),服务器模块与主服务器(英文可称为master)节点类似,工作模块可指代计算执行器。分布式训练系统中包括多个分布式的节点,每个节点可包括一个或多个工作模块,也还可包括一个或多个服务器模块。以图1为例,对分布式训练系统下服务器模块和工作模 ...
【技术保护点】
一种神经网络模型训练方法,其特征在于,所述方法适用于包括服务器模块和N个工作模块的训练系统,所述服务器模块和所述N个工作模块用于在至少一个训练周期内训练模型参数,所述至少一个训练周期内的每个训练周期包括K次迭代,针对所述N个工作模块中的一个工作模块在每个训练周期内的第i次迭代,各个工作模块并行执行:根据所述第i次迭代的局部梯度和所述第i次迭代的模型参数计算第i+1次迭代的模型参数,且在i小于K的情况下,根据所述第i+1次迭代的模型参数以及所述第i+1次迭代的样本数据,计算所述第i+1次迭代的局部梯度;从所述服务器模块下拉第r次迭代的全局梯度和/或向所述服务器模块上推第f次迭代的局部梯度;其中,所述r和f分别为小于等于i的正整数;其中,所述N、K分别为大于等于1的整数,所述i为大于等于1且小于等于K的整数。
【技术特征摘要】
1.一种神经网络模型训练方法,其特征在于,所述方法适用于包括服务器模块和N个工作模块的训练系统,所述服务器模块和所述N个工作模块用于在至少一个训练周期内训练模型参数,所述至少一个训练周期内的每个训练周期包括K次迭代,针对所述N个工作模块中的一个工作模块在每个训练周期内的第i次迭代,各个工作模块并行执行:根据所述第i次迭代的局部梯度和所述第i次迭代的模型参数计算第i+1次迭代的模型参数,且在i小于K的情况下,根据所述第i+1次迭代的模型参数以及所述第i+1次迭代的样本数据,计算所述第i+1次迭代的局部梯度;从所述服务器模块下拉第r次迭代的全局梯度和/或向所述服务器模块上推第f次迭代的局部梯度;其中,所述r和f分别为小于等于i的正整数;其中,所述N、K分别为大于等于1的整数,所述i为大于等于1且小于等于K的整数。2.如权利要求1所述的方法,其特征在于,所述工作模块根据所述第i次迭代的局部梯度和所述第i次迭代的模型参数计算第i+1次迭代的模型参数,包括:所述工作模块在确定已从所述服务器模块下拉满足第一条件的第j次迭代的全局梯度的情况下,根据所述第j次迭代的全局梯度、所述第i次迭代的局部梯度和所述第i次迭代的模型参数,计算第i+1次迭代的模型参数;其中,所述j为小于等于所述i的正整数;所述第一条件包括:所述第j次迭代的全局梯度未被用于第1次迭代至第i次迭代之间任一次迭代中的模型参数的计算;所述工作模块在确定未从所述服务器模块下拉满足所述第一条件的第j次迭代的全局梯度的情况下,根据所述第i次迭代的局部梯度和所述第i次迭代的模型参数,计算第i+1次迭代的模型参数。3.如权利要求2所述的方法,其特征在于,所述第一条件还包括:所述第j次迭代的全局梯度为已经从所述服务器模块下拉的所有全局梯度中迭代批次最高的迭代中的全局梯度。4.如权利要求2或3所述的方法,其特征在于,所述第j次迭代的全局梯度根据以下内容确定的:所述N个工作模块中的M个工作模块上报的第j次迭代的局部梯度;其中,所述M为大于等于1且小于等于N的整数。5.如权利要求1至4任一权利要求所述的方法,其特征在于,所述工作模块从所述服务器模块下拉第r次迭代的全局梯度和/或向所述服务器模块上推第f次迭代的局部梯度,包括以下内容中的两项,或者包括以下内容中的任一项:从所述服务器模块下拉所述第r次迭代的全局梯度;向所述服务器模块上推所述第i-1次迭代的局部梯度;或者向所述服务器模块上推所述第i次迭代的局部梯度。6.如权利要求1至5任一权利要求所述的方法,其特征在于,在所述i为K的情况下,所述方法还包括:所述工作模块计算所述第K次迭代的局部梯度之后,根据所述第K次迭代的局部梯度和所述第K次迭代的模型参数计算第K+1次迭代的模型参数之后,向所述服务器模块上推所述第K+1次迭代的模型参数;其中,所述第K+1次迭代的模型参数用于:使所述服务器模块根据所述N个工作模块中每个工作模块向所述服务器模块上推的第K+1次迭代的模型参数,以及迭代次数K,确定下个训练周期内的第1次迭代的模型参数。7.一种神经网络模型训练装置,其特征在于,所述训练装置包N个工作模块,所述训练装置适用于包括服务器模块和N个工作模块的训练系统,所述服务器模块和所述N个工作模块用于在至少一个训练周期内训练模型参数,所述至少一个训练周期内的每个训练周期包括K次迭代;所述N个工作模块中的每个工作模块包括通讯模块和计算模块;针对所述N个工作模块中的一个工作模块在每个训练周期内的第i次迭代:各个工作模块的所述通讯模块和所述计算模块并行运行;其中,所述计算模块,用于根据所述第i次迭代的局部梯度和所述第i次迭代的模型参数计算第i+1次迭代的模型参数,且在i小于K的情况下,根据所述第i+1次迭代的模型参数以及所述第i+1次迭代的样本数据,计算所述第i+1次迭代的局部梯度;所述通讯模块,用于从所述服务器模块下拉第r次迭代的全局梯度和/或向所述服务器模块上推第f次迭代的局部梯度;其中,所述r和f分别为小于等于i的正整数;其中,所述N、K分别为大于等于1的整数,所述i为大于等于1且小于等于K的整数。8.如权利要求7所述的训...
【专利技术属性】
技术研发人员:张长征,白小龙,涂丹丹,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。