[发明专利]深度学习权重更新方法、装置在审
申请号: | 201910217885.3 | 申请日: | 2019-03-21 |
公开(公告)号: | CN111722937A | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 林立翔;龚志刚 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06N3/04;G06N3/063 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 许红英 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 深度 学习 权重 更新 方法 装置 | ||
本申请提供一种深度学习权重更新方法、装置,将权重梯度分为多个片段,并发地将每个片段的集合通信和权重更新直接流水线起来,一旦当前片段集合通信完成,立即进行该片段对应的权重更新,同时下个片段在通信链路上并行的进行着集合通信,本发明经多线程集合通信和权重更新计算流水线起来的技术以及用内存替换显存存储技术、可以有效的将权重更新计算时间隐藏在网络通信时间之内,最终完成时间约为整个通信时间,节约了整体权重更新的时间并节约显存消耗。
技术领域
本发明涉及神经网络深度学习技术领域,尤其涉及一种深度学习权重更新方法、装置。
背景技术
当今,深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,深度学习应用包括语音识别、图像识别、自然语言处理等,在这些应用的计算量十分巨大,其需要大规模深度学习计算。
为了加速数据深度学习应用的处理时间,提升了计算效率,通常采用中央处理器(英语:Central Processing Unit,缩写:CPU)与多个图形处理器(英语:GraphicsProcessing Unit,缩写:GPU)协同的高密度计算方式,由具有强大并行计算能力的GPU执行耗时的前向后向计算,其余的根据深度学习应用的算法特点的参数更新计算、数据读取和分发、神经网络模型更新计算则由CPU完成。
然而,基于GPU的深度学习,在多机多卡(多个GPU)训练的一次迭代中,每块GPU对不同的数据同时进行前后向处理产生各自的权重梯度。此时,在进行权重更新之前,每块GPU中的权重梯度需要和其他GPU中的对应的权重梯度进行通信交换,来获取这次迭代中所有数据产生的实际权重梯度。集合通信(Allreduce)就是常用的权重梯度规约通信操作,其循环地对每块GPU中的权重梯度进行规约通信传输,直到每块GPU上的权重梯度值是所有GPU上的梯度值的和。
由此可知,规约通信操作带来的GPU之间、机器之间的通信,会给权重梯度到权重更新过程带来通信上的时间开销,降低权重更新的速度。
发明内容
为了解决上述问题,本发明提供一种深度学习权重更新方法、装置,可以有效的将权重更新计算时间隐藏在网络通信时间之内,最终完成时间约为整个通信时间,节约了权重更新的时间。
本发明实施例提供一种深度学习权重更新方法,包括:
将前向和后向计算产生的权重梯度分解成多个片段;
每一个片段与其对应的片段进行集合通信;
在所述片段的集合通信结束时进行所述片段对应的权重梯度更新;
直到所述多个片段的权重梯度更新完毕。
可选地,将前向和后向计算产生的权重梯度分解成多个片段之前,还包括:
将中央处理器上的单精度主权重参数转换为图形处理器上的半精度权重参数;
将所述图形处理器上的半精度权重参数进行深度学习的前向和后向操作,产生所述图形处理器上的半精度权重梯度。
可选地,每一个片段与其对应的片段为同一个片段,且分布在不同机器上,每台机器有多个集合通信线程用于每个片段与其他机器上对应的片段进行并行地集合通信。
可选地,每一个片段对应所述图形处理器上所述片段对应的半精度权重梯度;
每一个片段与其对应的片段进行集合通信之后,还包括:
将所述片段在图形处理器上对应的半精度权重梯度转换为中央处理器上对应的单精度权重梯度。
可选地,在所述片段的集合通信结束时进行所述片段对应的权重梯度更新,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910217885.3/2.html,转载请声明来源钻瓜专利网。