[发明专利]用于机器学习的单步延迟随机梯度下降训练方法在审
申请号: | 202010701949.X | 申请日: | 2020-07-20 |
公开(公告)号: | CN111882060A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 董德尊;徐叶茂;徐炜遐;廖湘科 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 北京丰浩知识产权代理事务所(普通合伙) 11781 | 代理人: | 董超 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 机器 学习 延迟 随机 梯度 下降 训练 方法 | ||
1.用于机器学习的单步延迟随机梯度下降训练方法,其特征在于,包括以下步骤:
S1:定义全局更新函数和本地更新函数;
S2:调整计算节点中计算与通信操作的执行顺序;
S3:引入新的参数变量,以打破原有的数据依赖关系;
S4:执行分布式训练任务。
2.如权利要求1所述的用于机器学习的单步延迟随机梯度下降训练方法,其特征在于,S1步骤所述的定义全局更新函数和本地更新函数,具体包括:
单步延迟随机梯度下降训练方法包括全局更新操作和本地更新操作;在分布式训练模式下,更新函数在参数服务器中运行;在单节点训练模式下,更新函数在计算节点中运行;为了实现OD-SGD,需要在分布式模式下定义参数服务器中的全局更新函数的同时调用接口进行本地更新函数的定义,并且添加本地更新函数对应的参数选项,用户在启动分布式训练任务时选择本地更新算法和配置该算法对应的超参数。
3.如权利要求1所述的用于机器学习的单步延迟随机梯度下降训练方法,其特征在于,S2步骤所述的调整计算节点中计算与通信操作的执行顺序,具体包括:
在OD-SGD训练模式下,计算节点在执行梯度发送操作的同时进行本地权重的更新操作,在完成本地更新后将本地权重广播到节点内不同的计算设备上,从而开始下一轮迭代的计算,无需等待梯度发送和参数取回操作的完成,之后取回的全局权重会覆盖本地权重并用于下一次的本地更新操作;参数服务器的工作流程采用分布式训练模式,接收不同计算节点的梯度,并基于选择的更新模式进行全局权重的更新,在接收到计算节点发送的参数取回操作请求时,将更新后的权重返回给对应的计算节点。
4.如权利要求1所述的用于机器学习的单步延迟随机梯度下降训练方法,其特征在于,S3步骤所述的引入新的参数变量,以打破原有的数据依赖关系,具体包括:
梯度的发送和参数的取回操作需要访问同一变量,新引入的数据变量用于本地更新操作、参数广播操作和对取回参数的拷贝操作,新变量中保存的值为计算节点的本地权重,和原有变量之间的联系在于参数的拷贝操作。
5.如权利要求1所述的用于机器学习的单步延迟随机梯度下降训练方法,其特征在于,S4步骤所述的执行分布式训练任务,具体包括:
设置预热阶段的迭代次数、额外指定用于本地更新的算法和对应的超参数;OD-SGD总共包括预热阶段、切换阶段和单步延迟训练阶段;预热阶段在应用单步延迟训练机制之前获得比较稳定的权重和梯度,在预热阶段每个计算节点采用传统的同步更新机制进行训练;切换阶段是为了将传统的同步更新机制切换为单步延迟训练机制,该阶段包括2次迭代过程,分别用于完成对本地权重的备份和第1次本地更新操作;在单步延迟训练阶段,计算节点按照步骤S2中调整后的执行顺序进行训练,通过增大计算和通信操作的重叠比来提升分布式训练的性能。
6.一种如权利要求1所述的用于机器学习的单步延迟随机梯度下降训练方法,其特征在于,步骤S2所述的计算设备包括GPU和TPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010701949.X/1.html,转载请声明来源钻瓜专利网。