[发明专利]一种分布式并行训练方法、设备以及存储介质在审
申请号: | 201911303152.8 | 申请日: | 2019-12-17 |
公开(公告)号: | CN111047050A | 公开(公告)日: | 2020-04-21 |
发明(设计)人: | 王晓飞 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06F9/50;G06K9/62 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 并行 训练 方法 设备 以及 存储 介质 | ||
本发明公开了一种分布式并行训练方法、设备以及可读存储介质,方法包括:利用训练子集对初始训练模型进行训练,并将产生的训练参数上传;接收利用所有训练服务器上传的参数得到的更新参数以及下发的不同的训练子集;根据更新参数更新初始训练模型;利用不同的训练子集对更新后的初始训练模型进行训练,并再次得到训练参数;利用再次得到的训练参数以及更新参数计算差值参数,并判断差值参数与再次得到的训练参数的字节大小;响应于差值参数的字节小于再次得到的训练参数的字节,将差值参数上传到参数服务器;响应于所述训练模型未达到预设要求,返回步骤二,直到得到符合预设要求的训练模型。本发明提出的方案能够避免参数服务器的网络拥堵。
技术领域
本发明涉及深度学习技术领域,具体涉及一种分布式并行训练方法、设备以及存储介质。
背景技术
TensorFlow的分布式训练分为数据并行和模型并行两种方式。其中使用模型并行方式训练的模型准确度不稳定,目前主要使用数据并行方式训练,该方式下所有参与训练的服务器上使用相同的训练模型,但训练数据不同。数据并行方式下使用同步更新参数和异步更新参数求平均梯度参数。同步更新是指每台服务器根据损失计算各自的梯度,并将梯度上传至参数服务器求平均梯度参数,根据平均梯度参数更新模型参数,再将模型参数下放至训练服务器,损失下降稳定,容易得到最优解。异步更新是指不用等所有服务器的梯度,每台服务器均可更新参数,损失下降过程抖动较大,参数容易移出最优解。目前深度学习训练均采用计算性能相同的服务器,因此梯度会同时计算完成并上传至参数服务器,造成参数服务器的网络拥堵,此时所有训练服务器都需要等待,训练效率低。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例的提出一种分布式并行训练方法,基于每个训练服务器执行以下步骤:
利用参数服务器下发的训练子集对初始训练模型进行训练,并将产生的训练参数上传到所述参数服务器;
接收所述参数服务器利用接收到的所有训练服务器上传的参数得到的更新参数以及所述参数服务器下发的不同的训练子集;
根据所述更新参数更新所述初始训练模型;
利用所述不同的训练子集对更新后的所述初始训练模型进行训练,并再次得到训练参数;
利用所述再次得到的训练参数以及更新参数计算差值参数,并判断所述差值参数与所述再次得到的训练参数的字节大小;
响应于所述差值参数的字节小于所述再次得到的训练参数的字节,将所述差值参数上传到所述参数服务器;
响应于所述训练模型未达到预设要求,返回接收所述参数服务器利用接收到的所有训练服务器上传的参数得到的更新参数以及所述参数服务器下发的不同的训练子集的步骤,直到得到符合预设要求的所述训练模型。
在一些实施例中,还包括:
响应于所述差值参数的字节大于所述再次得到的训练参数的字节,将所述再次得到的训练参数上传到所述参数服务器。
在一些实施例中,接收所述参数服务器利用接收到的所有训练服务器上传的参数得到的更新参数,进一步包括:
接收所述参数服务器对所有的所述训练参数进行平均后的更新参数。
在一些实施例中,还包括:
接收所述参数服务器利用所述差值参数还原得到的所述训练参数进行平均后的更新参数。
在一些实施例中,响应于训练模型未达到预设要求,返回接收参数服务器利用接收到的所有训练服务器上传的参数得到的更新参数以及参数服务器下发的不同的训练子集的步骤,直到得到符合预设要求的所述训练模型,进一步包括:
利用测试集对所述训练模型进行测试;
判断测试结果是否大于阈值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911303152.8/2.html,转载请声明来源钻瓜专利网。