英特尔和 Facebook* 共同协作,在英特尔 CPU 上提高 Caffe2 的性能

                           

作者:Andres Rodriguez 和 Niveditha Sundaram

每天,全球生成了越来越多的信息,包括文本、照片和视频中的信息。最近几年,借助最先进的语音识别、图像/视频识别和推荐引擎,人工智能和深度学习改善了多款应用,帮助人们更好地理解这些信息。

大多数深度学习工作负载包含训练和推断。训练通常花费数小时甚至数天的时间。推断通常在数毫秒或数秒内完成,一般是某个较大流程的一个阶段。尽管推断的计算强度远低于训练的计算强度,进行的推断的数据集往往大很多。因此,推断消耗的总体计算资源有可能远超过训练所消耗的。绝大多数推断工作负载在英特尔® 至强® CPU 上运行。

去年,英特尔在几个深度学习框架内迅速添加了 CPU 支持,优化了各种训练推断应用。其中最重要的优化是英特尔® 数学核心函数库(英特尔® MKL),它利用了英特尔® 高级矢量扩展 CPU 指令集(如英特尔® AVX-512),增强了对深度学习应用的支持。

Caffe2* 是 Facebook 创建的一款开源深度学习框架,具有表达式、速度和模块化功能。Caffe2 由 Facebook 开发,旨在帮助研究人员训练大型机器学习模型以及在移动设备上部署人工智能。现在,开发人员可以访问众多工具,在大规模分布式训练场景中运行这些工具,还可以针对移动设备创建机器学习应用。

英特尔和 Facebook 共同致力于将英特尔® MKL 函数集成至 Caffe2,以实现 CPU 的最佳推断性能。表 1 对比了英特尔® MKL 库和 Eigen* BLAS 库在 AlexNet* 中的推断性能指数,其中, OMP_NUM_THREADS  表示工作负载所使用的物理内核总数(表 1 标题的详细信息)。这些结果显示在 CPU 上对 Caffe2 进行高度优化,实现了出色的性能。对于小批次推断工作负载,建议您在每个 CPU 内核上运行一个工作负载,然后与多个工作负载并行运行。

 

 

OMP_NUM_THREADS=44

OMP_NUM_THREADS=1

批处理大小

英特尔® MKL

(图像/秒)

Eigen BLAS

(图像/秒)

英特尔® MKL

(图像/秒)

Eigen BLAS

(图像/秒)

1

173.4

5.2

28.6

5.1

32

1500.2

29.3

64.6

15.4

64

1596.3

35.3

66.0

15.5

256

1735.2

44.9

67.3

16.2

表 1:利用安装了英特尔® MKL 和 Eigen BLAS 的 AlexNet 拓扑测量了 Caffe2 上的性能结果在英特尔® 至强® 处理器 E5-2699 v4 (代号 Broadwell)上进行了实验:双插槽 2.20GHz,每个插槽可容纳 22 个物理内核(两个插槽最多容纳 44 个物理内核)、122GB RAM DDR4、2133 MHz、禁用超线程(HT)技术、Linux 3.10.0-514.2.2.el7.x86_64 CentOS 7.3.1611、英特尔® MKL 20170209 版、Eigen BLAS 3.3.2 版、基于 Caffe2 (截止到 2017 年 4 月 18 日)。

访问以下链接http://Caffe2.ai,获取安装和使用 Caffe2 的指令。

今年晚些时候,英特尔将面向普通市场发布新一代英特尔® 至强® 处理器(代号 Skylake)。Skylake 在原有的 512 位宽矢量引擎的基础上推出了 512 位宽融合乘加 (FMA) 指令,如英特尔 ® AVX-512, 相比在 Haswell/Broadwell 处理器上运行的前代 256 位宽 AVX2 指令,Skylake 显著提升了训练和推断工作负载的性能。借助 512 位宽 FMA,Skylake 的 FLOPS 增加了一倍,显著提升了应用于卷积和循环神经网络中的单精度矩阵算法的速度。推断工作负载具有高度并行性,而且能受益于 Skylake 提供的更多内核。此外,Skylake CPU 重新设计了内存子系统,支持更快的系统内存和更大的每内核中级高度缓存 (MLC),还有助于提升新一代 CPU 的性能,在常用的安装设备中显著增强了使用时间长达 4 年的系统。

 

关于作者

Andres Rodriguez 博士是英特尔人工智能产品事业部 (AIPG) 的首席工程师,负责为英特尔客户设计深度学习解决方案,以及提升英特尔深度学习产品的技术领先优势。他在人工智能领域拥有 13 年的丰富经验。Andres 获得了卡内基梅隆大学的博士学位,主要研究机器学习。他在学术期刊和会议上发表了 20 多篇专业论文,其中包括机器学习著作中的一个章节。

Niv Sundaram 博士是英特尔数据中心工程事业部 (DEG) 总监,致力于优化现有和新兴工作负载的性能和功耗。担任总监期间,她领导了一个团队,与用户开展协作,测量数据中心的深度学习/机器学习和增强/虚拟/混合现实工作负载。Niv 毕业于威斯康辛大学麦迪逊分校,获得电子工程专业博士学位,拥有一项已批准的专利,发表了数篇经过同行审阅的论文。

 

在性能检测过程中涉及的软件及其性能只有在英特尔微处理器的架构下方能得到优化。诸如 SYSmark 和 MobileMark 等测试均系基于特定计算机系统、硬件、软件、操作系统及功能,上述任何要素的变动都有可能导致测试结果的变化。请参考其他信息及性能测试(包括结合其他产品使用时的运行性能)以对目标产品进行全面评估。如欲获取更多信息,请访问:  http://www.intel.com/performance

本文包含尚处于开发阶段的产品、服务和/或流程的信息。此处提供的信息可随时改变而毋需通知。联系您的英特尔代表,了解最新的预测、时间表、规格和路线图。

英特尔、Intel 标识、Xeon 和至强是英特尔在美国和/或其他国家的商标。

*其他的名称和品牌可能是其他所有者的资产。

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.