[发明专利]一种异步分布式深度学习训练方法、装置及系统在审
申请号: | 201910435688.9 | 申请日: | 2019-05-23 |
公开(公告)号: | CN110245743A | 公开(公告)日: | 2019-09-17 |
发明(设计)人: | 颜子杰;陈孟强;吴维刚;肖侬;陈志广 | 申请(专利权)人: | 中山大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06F16/174;H04L29/08 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 曹鹏飞 |
地址: | 510000 广东省广州市大学*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算节点 参数服务器 异步分布式 装置及系统 梯度更新 学习训练 压缩率 通信 反向传播 基础概念 模型参数 前向传播 随机梯度 通信压缩 通信量 回传 减小 稀疏 向量 信息量 发送 压缩 保证 | ||
本发明公开了一种异步分布式深度学习训练方法、装置及系统。该方法应用于计算节点k,计算节点通过本地模型参数和本地数据进行前向传播得到损失值,再通过反向传播得到梯度更新,通过使用稀疏化函数,只发送梯度更新向量中信息量比较大的那些值,有效减小了计算节点到参数服务器的通信量。在异步随机梯度下降与参数服务器的基础概念上,通过对参数服务器回传计算节点的梯度进行通信压缩,有效的保证通信的压缩率,随着训练的不断进行,不断提高通信的压缩率,可以达到更好的压缩效果和更快的通信速度。
技术领域
本发明涉及计算机深度学习训练技术领域,涉及一种异步分布式深度学习训练方法、装置及系统。
背景技术
大规模的深度学习模型通常采用分布式的方式进行训练。通常来说,模型的训练数据分布在若干的计算节点上,计算节点基于本地的数据并行地计算模型的更新值。比如计算节点有N个,其中某一节点可称为k,即k∈(1~N)。
例如,使用梯度下降或者随机梯度下降算法对模型进行更新。同步随机梯度下降(SSGD)是随机梯度下降的最常用的分布式实现,使用参数服务器或者Allreduce的方式维护与更新全局模型。同步随机梯度下降在每一次迭代后进行强同步,确保了各个计算节点使用相同的模型参数执行梯度计算。因此,在每次迭代结束后各个计算节点都需要等待最慢的计算节点完成计算,造成了大量不必要的时间开销。异步随机梯度下降通过移除计算节点的之间的强同步来克服这一缺点。在异步随机梯度下降中,各个计算节点独立的通过本地的模型与数据计算出梯度更新,然后将梯度更新上传至参数服务器。与SSGD不同的是,参数服务器收到某个计算节点的梯度更新后,并不会等待其它计算节点的更新,而是立即发送回更新后的全局模型参数,这样就避免了不必要的时间损耗。
另一方面,由于深度学习模型结构复杂,模型参数多,大规模的分布式深度学习需要频繁交换参数或者梯度更新信息,使得通信成为了制约大规模分布式训练发展的另一瓶颈。
研究者发现,深度学习模型中的大部分参数在每一轮迭代时产生的梯度变化很小,可以约等与0。因此有研究者提出了空间滤波的方法来减少通信量,即压缩每一次传输的梯度信息,从而起到加速训练的效果。具体可分为两种方法——梯度量化和梯度稀疏化。梯度量化主要通过降低梯度的精度,例如最常用的1-Bit量化方法就是将原本的32位浮点数压缩至1比特,将通信量降到了原本的1/32。梯度稀疏化则是通过算法决定在下一次通信中发送哪些位置的梯度,例如设置一个固定阈值,只有大于阈值的梯度才会被发送。当前对梯度稀疏化最常用的做法是通过百分比筛选梯度,它不采用原始的固定阈值方法,而是在每一层网络按百分比来选取阈值,并且百分比可以由用户通过带宽大小来自行调节。梯度稀疏化技术相比梯度量化技术,能够达到更高的压缩率,通过调整稀疏化的阈值,很容易就能够达到1/100甚至1/1000的压缩率。但是在异步随机梯度下降中,参数服务器需要向计算节点发回最新的全局模型参数,由于模型参数直接稀疏化会导致模型信息的丢失,最终无法收敛,因此梯度稀疏化技术是无法直接应用在异步随机梯度下降并行中,前人的梯度稀疏化研究也都是基于同步随机梯度下降,并没有解决异步随机梯度下降的通信瓶颈。
因此,如何将梯度稀疏化技术直接应用到异步随即梯度下降并行中,解决异步随机下降的通信瓶颈是同行从业人员亟待解决的问题。
发明内容
鉴于上述问题,本发明的目的是解决目前梯度稀疏化技术是无法直接应用在异步随机梯度下降并行中,不能解决异步随机梯度下降的通信瓶颈的问题。
第一方面,本发明提供一种异步分布式深度学习训练方法,应用于计算节点k,包括:
读取预设数量的训练数据到内存中;
根据所述训练数据及所述训练数据对应的期望输出,进行前向传播,生成模型的输出值;
根据所述输出值计算与所述期望输出的误差,得到损失值Loss;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910435688.9/2.html,转载请声明来源钻瓜专利网。