买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种动态调整Batch-size的神经网络分布式训练方法_四川大学_202010561810.X 

申请/专利权人:四川大学

申请日:2020-06-18

公开(公告)日:2022-07-01

公开(公告)号:CN111507474B

主分类号:G06N3/08

分类号:G06N3/08;G06N3/063;G06N3/04;G06K9/62

优先权:

专利状态码:有效-授权

法律状态:2022.07.01#授权;2020.09.01#实质审查的生效;2020.08.07#公开

摘要:本发明公开了一种动态调整Batch‑size的神经网络分布式训练方法,涉及计算机神经网络分布式训练技术领域,该方法从处理训练数据集的角度出发,对于分布式集群中的每一计算节点,根据其计算力,动态调整Batch‑size和子数据集的划分。从而实现分布式训练集群的负载均衡处理。动态调整Batch‑size的分布式神经网络训练方法不仅可以充分利用各个计算节点的计算能力,还能保证各个计算节点完成本地数据集训练的时间大致相同,从而减少集群的同步开销,提高神经网络分布式训练效率,减少神经网络训练时间。

主权项:1.一种动态调整Batch-size的神经网络分布式训练方法,其特征在于,包括以下步骤:S1、各计算节点获取参数初始化后的神经网络;S2、对于每一计算节点,根据其计算力,动态调整Batch-size,根据集群训练集样本和调整后的Batch-size,划分得到子数据样本集;S3、对于每一计算节点,将其本地的子数据样本集划分为若干个训练批次样本集;S4、对于每一计算节点,获取其一未使用过的训练批次样本集对本地神经网络进行训练,得到本地神经网络训练好的梯度;S5、收集所有计算节点本地神经网络训练好的梯度;S6、根据所有训练好的梯度和当前的神经网络参数,计算出新神经网络参数;S7、将新神经网络参数分发至各计算节点,若所有计算节点的训练批次样本集均使用过,则当前epoch的神经网络分布式训练结束,跳转至步骤S8,否则跳转至步骤S4;S8、若当前的epoch次数等于epochsize,则神经网络分布式训练结束,否则跳转至骤S2;所述步骤S2中,若当前epoch是第一个训练周期,则设定各计算节点的计算力相同,各计算节点的Batch-size和子数据样本集均采用均分的方式得到,若当前epoch不是第一个训练周期,则按照如下方法划分得到子数据样本集,具体为:S21、评估计算节点的计算力;S22、根据计算力的强弱,动态调整计算节点的Batch-size;S23、对调整后的Batch-size取整;S24、根据集群训练集样本以及取整后的Batch-size,动态划分得到子数据样本集;所述步骤S21具体包括:设计算节点i上一个epoch的训练时间为子数据样本集的样本数量为根据公式得到计算节点i当前的计算力;其中,i表示计算节点的编号,j表示epoch次数,1<j≤epochsize,表示计算节点i当前的计算力;所述步骤S22具体包括:设整个分布式训练中集群保持不变的Batch-size为B;对于计算节点i,设其Batch-size为占B的比例为其下一次迭代的训练时间为T,则有 将公式2代入公式1中,得到将T代入公式2中,则有: 根据公式 计算得到计算节点i的Batch-size;所述步骤S23具体包括:设取整后的Batchsize为则有 为满足公式4,对向下取整,则有实际计算出来的Batch-size和B差距表达为:为了满足公式5,对Batch-size的集合Bj+1取小数位数值进行降序排序:表示Bj+1的小数部分;从中选出前m个数的序号:id1,id2…idm,m≤k,将小数位的值大于0.5的向上取整,得到取整后的Batch-size集合:所述步骤S24具体包括:对所有计算节点的Batch-size进行归一化后,根据公式 计算各计算节点的数据样本划分比例设集群训练集样本数量为D,则各计算节点的子数据样本数量为: 根据该数量从集群训练集样本中划分得到各计算节点的子数据样本集;各计算节点从集群中的调度节点获取神经网络,且通过调度节点为各计算节点划分子数据样本集,以及通过调度节点向各计算节点分发新神经网络参数。

全文数据:

权利要求:

百度查询: 四川大学 一种动态调整Batch-size的神经网络分布式训练方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。