[发明专利]一种基于MIC集群的深度学习框架Caffe系统及算法在审
申请号: | 201611073058.4 | 申请日: | 2016-11-29 |
公开(公告)号: | CN106650925A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 刘姝 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mic 集群 深度 学习 框架 caffe 系统 算法 | ||
技术领域
本发明涉及高性能计算领域,尤其涉及一种基于集群系统针对深度学习框架的数据、任务并行处理及保证进程、节点间负载均衡的优化方法。
背景技术
Caffe(Convolution Architecture For Feature Extraction)作者是博士毕业于UC Berkeley的贾扬清,目前是最受欢迎的深度学习框架之一,其特点是上手快、模块化、开放性。Caffe中包含多种卷积神经网络实现模型,包括googlenet、alexnet等,整个卷积神经网络的训练过程由卷积、降采样等一层一层计算实现。
随着需要解决的问题越来越复杂和对卷积神经网络性能的要求越来越高,导致网络中需要的训练数据越来越多,分布式的存储在网络中,相应地需要更多的可训练参数和计算量,而原始版本的Caffe版本一般是基于单机系统串行实现,这样导致相当长时间需要花费在训练一个使用大量数据的复杂模型上。
原始版本Caffe在单机单进程运行的局限性导致扩展性及性能受限,同时在Caffe内核部分ForwardBackward计算中,涉及复杂的矩阵、方程等运算,原始版本Caffe关于这部分的计算基于串行单线程执行,而当矩阵规模较大时,单节点上运行时间复杂度会相当大。
发明内容
本发明为解决上述技术问题。为此,本发明提供一种基于MIC集群的深度学习框架Caffe系统及算法,实现同一进程内多线程并行计算,在卷积神经网络中涉及大量的矩阵计算,多线程并行主要用在矩阵计算上,通过设置并行线程数,最大程度发挥MIC处理器性能,提高Caffe运行时间性能。
为了实现上述目的,本发明采用如下技术方案。
一种基于MIC集群的深度学习框架Caffe系统,包括,MIC集群内多节点,所述节点包括主节点和从节点,各节点与数据库连接,并通过MPI通信共享数据和任务。所述主节点负责对各节点反馈的信息进行计算汇总后将更新后的参数分发至各节点。从节点利用新参数进行下一轮迭代计算,并将执行结果反馈给主节点。
优选的,节点内包含多进程,每个节点内设置1对n方式,一个主进程和n个从进程。主进程负责从数据库中读取数据并将数据分发给该节点内对应的n个从进程,从进程接收数据后进行ForwardBackward计算。
一种基于MIC集群的深度学习框架Caffe算法,通过MPI技术运行在MIC集群多节点上,各节点间通过MPI通信将任务和数据均分,不同节点间并行执行子任务、处理子数据,进行Caffe中ForwardBackward计算,将执行结果反馈给主节点由主节点对各节点反馈的权值信息进行计算汇总后将更新后的参数分发至各节点,各从节点利用新参数进行下一轮迭代计算。
优选的,执行结果为权值参数。
优选的,由设置于节点内的主进程负责从数据库中读取数据并将数据分发给该节点内对应的n个从进程,各从进程接收数据后进行ForwardBackward计算。减少不同节点间通信开销。关于n的设置需要结合每个进程内开启的线程数。
优选的,对Caffe内核计算部分采用OpenMp多线程并行计算。
本发明的有益效果:
1、本发明基于MIC集群采用MPI多进程+OpenMp多线程实现,一方面保证程序的并行度和扩展性,另一方面,基于最新MIC处理器Knights Landing充分利用MIC的众多核心,达到性能优化效果。
2、通过MPI技术实现深度学习框架Caffe运行时的任务并行和数据并行,框架设计为主进程和从进程,主进程开启多线程,进行数据读取、数据分发和任务分发,多个从进程均分数据并且针对不同数据并发执行子任务,较串行执行方式性能显著提高。
3、对Caffe内核计算部分采用OpenMp多线程并行计算,提高内核计算效率。
4、各进程间进行任务或数据的均分,当集群节点或进程数要求较高时,框架设计为多个主进程和多个从进程,各主进程对应数个从进程,避免单个主进程负载较重的情况。在集群多节点的情况下,尽量保证每个节点只有一个主进程,保证各节点间负载均衡。
附图说明
图1是MIC集群多节点设计框架图。
图2是本实施例主-从节点、进程分配示意图。
图3是内核部分多线程并行优化示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
实施例1
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611073058.4/2.html,转载请声明来源钻瓜专利网。