青藏高原对我国的气候有什么影响( 九 )


6.4计算集群
搭建CPU集群用于深度神经网络模型训练也是业界常用的解决方案 , 其优势在于利用大规模分布式计算集群的强大计算能力 , 利用模型可分布式存储、参数可异步通信的特点 , 达到快速训练深层模型的目的 。
【青藏高原对我国的气候有什么影响】CPU集群方案的基本架构包含用于执行训练任务的Worker、用于分布式存储分发模型的参数服务器(Parameter Server)和用于协调整体任务的主控程序(Master) 。CPU集群方案适合训练GPU内存难以容纳的大模型 , 以及稀疏连接神经网络 。Andrew Ng和Jeff Dean在Google用1000台CPU服务器 , 完成了模型并行和Downpour SGD数据并行的深度神经网络训练[17] 。
结合GPU计算和集群计算技术 , 构建GPU集群正在成为加速大规模深度神经网络训练的有效解决方案 。GPU集群搭建在CPU-GPU系统之上 , 采用万兆网卡或Infiniband等更加快速的网络通信设施 , 以及树形拓扑等逻辑网络拓扑结构 。在发挥出单节点较高计算能力的基础上 , 再充分挖掘集群中多台服务器的协同计算能力 , 进一步加速大规模训练任务 。
7 深度学习的软件工具及平台
目前 , 在深度学习系统实现方面 , 已有诸多较为成熟的软件工具和平台 。
7.1 开源软件
在开源社区 , 主要有以下较为成熟的软件工具:
Kaldi是一个基于C++和CUDA的语音识别工具集[18][19] , 提供给语音识别的研究人员使用 。Kaldi中既实现了用单个GPU加速的深度神经网络SGD训练 , 也实现了CPU多线程加速的深度神经网络SGD训练 。
Cuda-convnet基于C++/CUDA编写 , 采用反向传播算法的深度卷积神经网络实现[20][21] 。2012年cuda-convnet发布 , 可支持单个GPU上的训练 , 基于其训练的深度卷积神经网络模型在ImageNet LSVRC-2012对图像按1000个类目分类 , 取得Top 5分类15%错误率的结果[2];2014年发布的版本可以支持多GPU上的数据并行和模型并行训练[22] 。
Caffe提供了在CPU以及GPU上的快速卷积神经网络实现 , 同时提供训练算法 , 使用NVIDIA K40或Titan GPU可以1天完成多于40,000,000张图片的训练[23][24] 。
Theano提供了在深度学习数学计算方面的Python库 , 它整合了NumPy矩阵计算库 , 可以运行在GPU上 , 并提供良好的算法上的扩展性[25][26] 。
OverFeat是由纽约大学CILVR实验室开发的基于卷积神经网络系统 , 主要应用场景为图像识别和图像特征提取[27] 。
Torch7是一个为机器学习算法提供广泛支持的科学计算框架 , 其中的神经网络工具包(Package)实现了均方标准差代价函数、非线性激活函数和梯度下降训练神经网络的算法等基础模块 , 可以方便地配置出目标多层神经网络开展训练实验[28] 。
7.2 工业界平台
在工业界 , Google、Facebook、百度、腾讯等公司都实现了自己的软件框架:
Google的DistBelief系统是CPU集群实现的数据并行和模型并行框架 , 集群内使用上万CPU core来训练多达10亿参数的深度神经网络模型 。DistBelief应用的主要算法有Downpour SGD和L-BFGS , 支持的目标应用有语音识别和2.1万类目的图像分类[17] 。
Google的COTS HPC系统是GPU实现的数据并行和模型并行框架 , GPU服务器间使用了Infiniband连接 , 并由MPI控制通信 。COTS可以用3台GPU服务器在数天内完成对10亿参数的深度神经网络训练[29] 。
Facebook实现了多GPU训练深度卷积神经网络的并行框架 , 结合数据并行和模型并行的方式来训练CNN模型 , 使用4张NVIDIA Titan GPU可在数天内训练ImageNet的1000分类网络[30] 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。