深度学习框架只为GPU? 答案在这里

本文作者:英特尔       点击: 2018-03-15 08:43
前言:
目前大多数的机器学习是在处理器上完成的,大多数机器学习软件会针对GPU进行更多的优化,甚至有人认为学习加速必须在GPU上才能完成,但事实上无论是运行机器学习的处理器还是优化的深度学习框架,都不单只针对GPU,代号为“Skylake”的英特尔至强SP处理器就证明了这一点。
  
机器学习软件在英特尔至强SP系列白金版上的一系列基准测试性能表现与在GPU上非常相近,了解了底层架构之后,我们可以看到,在性能如此接近的情况下,使用GPU加速器更像是在购买一种“奢侈品”,用户在GPU以外还有很多其他的选择。毫无疑问,在用户只需要机器学习的情况下,“加速器”在性能和能耗方面更有优势,大多数人需要的不只是一台“智能的用于机器学习的服务器”,那就让我们来重点看一下英特尔至强SP 白金级处理器为什么是最佳的选择: 
 
英特尔在基于GPU优化的框架中增加了CPU优化深度学习框架, 打破了深度学习框架偏重于GPU而忽视了CPU的行业现状,解决了目前这些框架缺乏CPU优化的实际问题。

-  TensorFlow由谷歌开发,是一个领先的深度学习和机器学习框架,有面向Linux的处理器优化

-  Caffe是图片识别领域最受欢迎的应用之一,英特尔提供的优化可以在CPU运行时提高Caffe的性能

-  Torch是当下流行的深度学习框架,需要在优化的CPU上应用,可以通过英特尔软件优化(比如英特尔至强可扩展处理器)提高Torch在CPU上的性能

-  Theano是一个开源的Python库,很受机器学习程序员的欢迎,它可以帮助程序员高效地定义、优化和评估涉及多维阵列的数学表达式
 
-  Neon是一个基于Python的深度学习框架,目的是在现代深度神经网络上实现易用性和可扩展性,并致力于在所有硬件上实现性能的最大化
-  MXNet是一个开源的深度学习框架

-  Python及其函数库是机器学习应用里最受欢迎的基础组成,Python加速版过去几年里得到了广泛应用,并且可以直接下载或通过Conda、yum、apt-get或Docker images下载

-  BigDL是一个面向Apache Spark的分布式深度学习函数库。通过BigDL用户可以把自己的深度学习应用当作标准Apache Spark程序来编写,直接在现有Apache Spark或Hadoop集群上运行。在Torch基础上开发的BigDL可以为深度学习提供综合性支持:包括数值计算(通过Tensor)和高级神经网络;此外用户还可以利用BigDL把提前训练的Caffe或Torch模型载入Spark程序。英特尔曾声称在一个单节点至强处理器上(例如与GPU相比),BigDL中的处理速度比原始开源Caffe、Torch或TensorFlow要高一个数量级

-  英特尔MKL-DNN是一个开源的、性能强化的函数库,用于加速在CPU上的深度学习框架

-  英特尔数据分析加速库(DAAL)是一个包含了被优化的算法构建模块的开源函数库,针对大数据问题最相关的数据分析阶段。这个函数库适用于当下流行的数据平台,包括Hadoop、Spark、R和Matlab

结果证明了一切,无论是TensorFlow、Caffe,还是Torch、Theano,这些深度学习框架都针对英特尔数学核心函数库(Intel MKL)和英特尔高级矢量扩展指令集(Intel AVX)进行了优化。通过CPU优化,TensorFlow和Caffe基准测试中的CPU性能分别提高了72倍和82倍。 

机器学习加速器
科技与行业的发展都是瞬息万变的,机器学习的加速器也会从GPU转向FPGA、ASIC等等,除非我们永远只需要一台只能用于机器学习的服务器,只要在一台服务器上想实现可以支持各种的工作负载,英特尔至强可扩展处理器无疑是最佳的解决方案。加速器的选择正在变得多元化,这是整个行业的发展趋势,多核CPU(英特尔至强融核处理器,特别是“Knights Mill”版)和FPGA(英特尔至强处理器,包含Intel/Altera FPGA)都可以提供更灵活的选择、卓越的性价比和高能效。基于英特尔至强融核处理器训练或学习一个AlexNet图片分类系统的速度,是使用NVIDIA GPU的类似配置系统的2.3倍;英特尔至强融核处理器的性价比最高可以是GPU解决方案的9倍,每瓦性能高达8倍,英特尔Nervana将推出更多专为人工智能开发的产品。英特尔至强SP系列处理器为机器学习提供了卓越的性能,同时相比其他解决方案也为我们带来了更多的功能与选择,让我们在产品与行业的发展中都可以拥有更多可能。