0
本文作者: 宗仁 | 2016-08-19 17:38 |
进行深度学习的训练向来不被认为是CPU的强项,但是以CPU研发见长的英特尔并不甘心屈服于这个定位,在过去的几年里,英特尔及其合作伙伴一直在探索用CPU来进行快速有效的深度学习开发的方法。代号KNL的Xeon Phi至强芯片是英特尔的努力尝试之一,同时在深度学习算法的改进上,英特尔也做了一些努力。
近日,在美国旧金山举行的IDF16大会上,与英特尔联合宣布启动了KNL试用体验计划的浪潮集团副总裁、技术总监胡雷钧做了基于英特尔至强融合处理器KNL和FPGA上的深度学习的试用体验报告。报告介绍了高性能计算和深度学习发展的趋势、深度学习在高性能计算平台上的挑战和解决办法、大规模深度学习平台的系统设计、多核设备和机群系统的算法设计(包括KNL和FPGA各自的技术分析) 4部分的内容。下面我们从摩尔定律的演变开始,看企业在实践过程中,如何基于英特尔至强融合处理器KNL和FPGA,搭建最佳的深度学习算法。
1965年摩尔定律提出后,我们开始依次进入1965-2005年的单核CPU时代;2006至如今的多核CPU时代;2012至如今的多核英特尔MIC时代。
高性能计算设备联手大数据提升深度学习的发展的同时,深度学习也在促进新的高性能计算模型的发展。归根结底,我们把深度学习现在的成功归功于三方面:1)大量标签数据样本的出现:图片(10亿级)/语音(10万小时以上)。2)好的算法,模型,软件的出现: 算法:DNN/CNN/RNN 软件:Caffe/TensorFlow/MXNet 3)高性能计算样本的激励:AlphaGo可视为典型例子。
具体表现为两方面,其一,大规模深度学习平台的系统设计。比如离线训练要求的:高性能;在线识别要求的:低功耗。其二,多核设备和机群系统的算法设计问题。比如,多核设备异构细粒度并行算法;机群系统的分布式以及粗粒度并行算法。这些都是不容易解决的问题。
上述的挑战之一,大规模深度学习平台的系统设计问题,具体分为两种:
离线训练平台特点:计算机密集型/交流密集型——使用KNL平台最合适。
在线识别平台特点:高吞吐量,低功耗——使用FPGA平台最合适。
最终呈现出来的完整深度学习平台,就是KNL+FPGA 机群+OPA网络+Lustre存储 (由Linux和Clusters演化而来, 可以看做一个解决海量存储问题而设计的全新文件系统)的全新结合体。
在我们的浪潮—Intel中国并行计算实验室里,KNL/FPGA技术研究;HPC/深度学习应用;第一代 Xeon Phi Book三个方向的探索正如火如荼地进行着。
下面详细介绍具体应用实践中(SKA【平方公里阵列望远镜】的数据处理软件Gridding、大规模线性方程组求解器GMRES和开源深度学习并行计算框架Caffe-MPI的KNL版本)的高性能计算平台和其算法表现。
它是英特尔第二代MIC架构,基于X86 架构的多核计算:拥有最多72核,总计288线程。目前有3个产品模型:包括处理器;协处理器;KNL-F。支持大规模记忆和高速宽带:DDR4:384 GB,90+GB/s。MCDRAM: 16GB, 500GB/s。
KNL技术的优势:高性能、高应用可适性、高可扩展性、可编程。
性能:1KNL/2 CPU=6.88X 。(叠加)扩展效率:95%
Caffe有许多用户,在中国非常流行。在数据规模很大的情况下,一个节点通常需要很长的时间去训练。这就要求,Caffe的前馈计算,权重计算,网络更新可在并行机群环境中处理。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。