[发明专利]分布式深度神经网络集群分组同步优化方法及系统有效
申请号: | 201710191685.6 | 申请日: | 2017-03-28 |
公开(公告)号: | CN107018184B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 蒋文斌;金海;叶阁焰;张杨松;马阳;祝简;彭晶 | 申请(专利权)人: | 华中科技大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24;G06N3/08 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李智;曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 深度 神经网络 集群 分组 同步 优化 方法 系统 | ||
技术领域
本发明属于深度神经网络的分布式优化技术领域,更具体地,涉及一种分布式深度神经网络集群分组同步优化方法及系统。
背景技术
目前,深度神经网络(Deep Neural Network,DNN)已经应用于图像、语音、自然语言处理等诸多领域,并取得许多突破性进展。深度神经网络由于其训练数据和训练的模型参数规模大两大原因,需要充足的计算资源和存储资源。因此,传统的单机器节点训练模式已经无法满足要求,必须采用集群等分布式计算模式。
分布式深度学习(Distributed Deep Learning)通常采用数据并行模式进行模型训练。如图1所示,数据并行是指对训练数据进行切分,每台机器节点上存储其中一份或多份切分的训练数据,并且各使用一份完整的深度神经网络模型参数同时进行训练的并行方式。为了汇总每台机器节点在每轮迭代的训练结果,通常需要部署一台或多台参数服务器,在训练过程中收集每台机器节点提交的梯度ΔW,根据公式W'=W-η×ΔW将本地存储的模型参数更新为最新的模型参数,其中η为学习率,然后再将W'分发给机器节点进行下一轮迭代。
其中,节点提交的梯度需要根据一定的并行机制同步到参数服务器,常见的并行机制主要有同步并行和异步并行两种。在一个有n台节点的集群中,如果采用同步并行机制,节点nodei(i为节点的标号,i:1~n)完成本轮迭代并向参数服务器提交梯度后,需要等待其他节点nodem(m为节点的标号,m:1~n,m≠i)也完成本轮迭代并向参数服务器提交梯度(这个过程称为同步),参数服务器根据每台节点的梯度ΔWi得到平均梯度之后根据公式W'=W-η×ΔWavg更新本地的模型参数W,将得到的新模型参数W'分发到各台节点上,此时每台节点都使用相同的新模型W'进行下一轮迭代,如图2。如果采用异步并行机制,节点nodei向参数服务器提交梯度ΔWi后,参数服务器马上利用该梯度更新本地模型W'=W-η×ΔWi,并将新模型参数W'分发给nodei,而不用等待其他节点(这个过程称为异步),如图3。
同步并行机制由于节点在每轮迭代结束都进行参数更新的同步操作,因此下一轮迭代开始都使用相同的新模型,在模型参数的超维空间中,参数的更新方向比较一致,模型的收敛效果好,即模型的训练准确率和测试准确率高。但是节点间的同步开销比较大,一台节点在等待其他节点完成本轮迭代过程中,自身的计算资源、网络资源等都处于闲置状态,在异构集群和大规模同构集群中,这种现象尤为严重。在异构集群中,由于节点的硬件配置有较大区别,节点间存在明显的性能差异,有一部分节点运行速度快,而另一部分节点运行速度慢,因此在每轮迭代过程中,速度快的节点都需要等待速度慢的节点,造成速度快的节点资源闲置,训练的瓶颈在于速度最慢的节点;在大规模的同构集群中,虽然节点的性能相同,但由于节点数量多,集群整体的稳定性会有所降低,难免会出现一些节点性能波动的情况,同时参数服务器需要处理的请求数也大大增加,造成每轮迭代的同步开销比较大。异步并行机制由于节点在每轮迭代过程中都不用考虑其他节点的状态,消除了节点间相互等待的时间开销,因此节点的资源利用率高,其训练速度快,但是,由于没有参数更新同步操作,会有陈旧梯度问题,在模型参数的超维空间中,参数的更新方向比较波折,因此在相同的迭代次数下,其模型的收敛效果会比同步并行机制差。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种分布式深度神经网络集群分组同步优化方法及系统,通过将性能相近的节点分为一组,可以减小同步开销;性能好的节点分配更多的数据,可以提高其资源利用率;在同步开销小的组内使用同步并行机制,可以发挥同步并行机制收敛效果好的优点;在同步开销大的组间使用异步并行机制,可以避免同步开销;对不同分组使用不同的学习率,有利于模型收敛。
为实现上述目的,按照本发明的一个方面,提供了一种分布式深度神经网络集群分组同步优化方法,包括:
(1)基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
(2)为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710191685.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:饲料分类收集装置
- 下一篇:一种可调节粉碎粒径的畜禽饲料用饲料粉碎机