[发明专利]一种基于SPARK平台的并行化深度学习方法有效
申请号: | 201810015428.1 | 申请日: | 2018-01-08 |
公开(公告)号: | CN108564164B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 杜鑫;匡迪;吴维刚 | 申请(专利权)人: | 中山大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 平台 并行 深度 学习方法 | ||
本发明提供的方法针对现有的深度学习方法参数同步模式在大规模集群中可能会存在的问题,在Spark环境中引入了参数存储节点和参数服务控制节点这一编程框架,将集群中的节点分为计算节点、参数存储节点和参数服务控制节点,参数服务控制节点负责参数的收发以及参数更新机制的实现。参数存储节点和参数服务控制节点的出现使得异步通信成为可能,计算节点只需要在某次迭代的伊始向参数服务控制节点请求权重,在迭代的末尾向参数服务控制节点发送权重即可,大幅降低了通信时间、通信量以及节点闲置时间,使得在大数据环境下的深度学习训练任务的效率大幅提升。
技术领域
本发明涉及深度学习技术领域,更具体地,涉及一种基于SPARK平台的并行化深度学习方法。
背景技术
随着人工智能的兴起,神经网络的应用扩展到了各个生活场景中,用以解决实际问题。由于应用场景越来越复杂,建模困难越来越大,导致神经网络(比如Lenet-5)的层数越来越深,层与层之间相连的参数越来越多,因而计算任务耗时越来越长,成本巨大。虽然近年来单机硬件水平不断提高,CPU与GPU运算速度不断提升,但是传统的单机多卡(GPU)的模式仍不能很好地解决这一问题,所以大多数厂商的解决方案是利用集群协作来完成神经网络的前向与后向传播以及参数同步。这样一来,计算时间得以大幅度减少,然而由于木桶效应的存在,最终同步时间和通讯时间的长短取决于集群中性能最差的节点,会造成某些节点长时间处于空闲状态,浪费资源。
发明内容
本发明的目的在于解决现有技术存在资源浪费的缺陷,提供了一种基于SPARK平台的并行化深度学习方法。
为实现以上发明目的,采用的技术方案是:
一种基于SPARK平台的并行化深度学习方法,包括以下步骤:
S1.在多个节点上分别安装SPARK平台,然后进行相关的环境变量设置;
S2.令多个节点中的部分节点为计算节点,剩余的节点中,一部分为参数存储节点,另一部分为参数服务控制节点;
S3.在各个计算节点上分别初始化一个训练模型;
S4.判断所有的计算节点的训练模型的状态是否都已触发触发器,若是则执行步骤S7,否则执行步骤S5;
S5.将训练数据进行划分后平均分配给各个计算节点,各个计算节点上的训练模型利用分配的数据进行前向传播计算和后向传播计算,得到训练模型的参数信息后将参数信息通过参数服务控制节点回传至参数存储节点进行存储;然后同步更新训练模型的相关状态;
S6.判断各个计算节点的一代训练是否完成,若否则直接执行步骤S4;若是则输出总时间,并且使每个计算节点向参数服务控制节点请求对应计算节点最新的参数信息,请求得到最新的参数信息对训练模型进行配置后,执行步骤S4;
S7.结束。
优选地,所述训练模型为Lenet-5卷积神经网络。
优选地,所述训练数据加载在SparkContext中,其在分配前经过预处理。
优选地,所述预处理的具体过程如下:
1)将训练数据尺寸为32×32位图转换为28×28的灰度图表示形式;
2)根据事先设定好的图片灰度值的均值和标准差对进行训练数据中的样本进行直方图均衡化处理;
3)对训练数据中的样本进行混洗处理,随机地将图片信息重新排列,最大程度上减少偶然性误差;
4)对混洗后的训练数据进行重新分区的处理,使得分区数等于参与训练的总核数,方便后续的数据分发。
优选地,所述计算节点上传的参数信息以块的形式存储在参数存储节点中,每个块都会有唯一的标识,块的标识由两部分组成:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810015428.1/2.html,转载请声明来源钻瓜专利网。