[发明专利]一种神经网络模型训练方法、装置、芯片和系统有效
申请号: | 201611073994.5 | 申请日: | 2016-11-29 |
公开(公告)号: | CN108122032B | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 张长征;白小龙;涂丹丹 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 迭代 工作模块 模型参数 局部梯度 神经网络模型 服务器模块 训练周期 时延 机器学习领域 模型参数计算 芯片 并行执行 时间窗口 通讯进程 样本数据 下拉 全局 进程 | ||
1.一种神经网络模型训练方法,其特征在于,所述方法适用于包括服务器模块和N个工作模块的训练系统,所述服务器模块和所述N个工作模块用于在至少一个训练周期内训练模型参数,每个训练周期包括K次迭代;针对所述N个工作模块在每个训练周期内的第i次迭代,各个工作模块并行执行:
根据所述第i次迭代的局部梯度和所述第i次迭代的模型参数计算第i+1次迭代的模型参数,根据所述第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至3任一权利要求所述的方法,其特征在于,所述工作模块从所述服务器模块下拉第r次迭代的全局梯度和/或向所述服务器模块上推第f次迭代的局部梯度,包括以下内容中的两项,或者包括以下内容中的任一项:
从所述服务器模块下拉所述第r次迭代的全局梯度;
向所述服务器模块上推第i-1次迭代的局部梯度;或者向所述服务器模块上推所述第i次迭代的局部梯度。
6.如权利要求1至3任一权利要求所述的方法,其特征在于,在所述i为K的情况下,所述方法还包括:
所述工作模块计算第K次迭代的局部梯度之后,根据所述第K次迭代的局部梯度和所述第K次迭代的模型参数计算第K+1次迭代的模型参数之后,向所述服务器模块上推所述第K+1次迭代的模型参数;
其中,所述第K+1次迭代的模型参数用于:使所述服务器模块根据所述N个工作模块中每个工作模块向所述服务器模块上推的第K+1次迭代的模型参数,以及迭代次数K,确定下个训练周期内的第1次迭代的模型参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611073994.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种低功耗的神经网络加速器装置
- 下一篇:端到端建模方法及系统