解读至强的小秘密 -
AI 框架如何压榨 CPU 的深度学习加速潜力

AI框架

  • 英特尔为 AI 应用提供开发、部署和性能调优的一系列软件工具,如面向英特尔® 架构优化的 AI 框架 (TensorFlow、Caffe、MXnet、BigDL 等)、面向深度神经网络的英特尔® 数学核心函数库 (英特尔® MKL-DNN)、英特尔® 数据分析加速库 (英特尔® DAAL) 和 OpenVINO™ 开发套件等。

  • 导入第二代英特尔® 至强® 可扩展处理器和面向英特尔® 架构优化的 AI 框架上,这一举措可为其多种 AI 模型的训练和推理加装强劲的算力引擎。

BUILT IN - ARTICLE INTRO SECOND COMPONENT

随着深度学习方法在音视频处理、自然语言处理、图像识别等领域获得更广泛的应用,作为众多深度学习模型和应用的载体,为之提供完备部署和运行环境支持的AI框架(AI Framework)开始为人们所熟知,一个明显的例子就是 TensorFlow、PyTorch、MXNet 这些过去只出现在 AI 开发者口头的框架名称,也开始被各行各业的数据科学家和企业管理者们提及,因为他们都期待或正在利用这些框架来降低深度学习部署和应用门槛,加速 AI 应用的落地。

当然,AI 框架还有另一个关键作用,就是扮演类似资源管理或调配者的角色,它能够侦知底层硬件基础设施为 AI 应用提供的加速功能,进而帮助上层 AI 应用将其潜能和价值充分“压榨”出来。

AI 框架的这一作用在过去 GPGPU 及 AI 专用加速器被导入实战时已得到了验证,在 CPU 集成了 AI 加速能力后亦是如此——随着英特尔至强可扩展处理器集成 AVX-512 指令集和新添英特尔® 深度学习加速(英特尔® DL Boost)技术,本着物尽其用的原则,一系列 AI 框架也有必要面向这些创新的、硬件级别的 AI 加速能力实施优化,以确保多种深度学习模型的训练和推理能在 CPU 上实现更优的性能收益。

所以,如果我们把 AVX-512 和英特尔® 深度学习加速技术比作英特尔在 CPU 里为 AI 应用加速的专用车道或 VIP 车道的话,那么面向英特尔架构优化的 AI 框架,就会成为导引相关 AI 应用车辆驶入和充分利用这些车道的调度者。

那么,AI 框架需要做出哪些调整和变化,才能面向英特尔架构实现优化呢?概括地说,就是要融合英特尔为这些加速功能准备的激活工具,如英特尔® oneDNN 等函数库。

拿英特尔® oneDNN 来说,它不仅集成有众多优化的深度学习基元,例如直接批量卷积、池化、激活等,可提升各类深度学习应用的效率,更可针对 CPU 的各项特性实施优化,例如将上述基元向量化为 AVX-512 指令,并运行在支持 AVX-512 指令集的处理器中。如图一所示,一系列经优化的深度学习基元可在英特尔® oneDNN 这个调度负责人的指挥下,能在英特尔® 至强® 可扩展处理器家族中发挥出更强的性能优势。

图一 英特尔® oneDNN 中的深度学习基元向量化为 AVX-512 指令

通过集成、融合英特尔® oneDNN 等函数库,AI 框架就能迈出面向英特尔® 架构优化的重要一步,进而在不同商业化应用场景中帮助用户显著提升深度学习应用的训练或推理效率。以网络智能分析为例,H3C 希望基于 LSTM 等网络模型来帮助用户构筑更高安全等级的网络解决方案,但更长的时序特征提取、更复杂的门结构,意味着模型在训练和推理中需要更多的计算量。而在导入面向英特尔® 架构优化的 TensorFlow 后,该方案中 AI 训练和推理过程就可以工作在英特尔® oneDNN 基元上,而结果则如图二所示,就可以在不改变神经网络模型的情况下将整体性能提供数倍之多。

图二 在采用面向英特尔架构优化的 AI 框架之前及之后的 DNS 隧道检测模型训练性能(左)& 服务器利用率模型推理性能(右)归一化对比

被广大中小企业用户关注的 AI 云服务(AIaaS),也有不少从面向英特尔架构优化的 AI 框架上收获应用优势的案例,例如金山云就在英特尔的支持下,在部署集成有 AVX-512 和深度学习加速技术的英特尔® 至强® 可扩展处理器时,也同步导入面向英特尔® 架构优化的 TensorFlow等AI框架,将其打造成针对AI应用“软硬打包、协同优化”的镜像,让用户在无需关心底层 AI 框架配置和调优等复杂性的同时,获得更优的性能。

这个案例的收益也非常明显,如图三所示,换用面向英特尔® 架构优化的 TensorFlow 与采用原生 TensorFlow 框架相比,在 ResNet50、Inception-V3、SSD-Mobilenet 和 Wide&Deep 四种深度神经网络中,其 AI 推理性能都获得了不同程度的提升,如其在 SSDMobilenet 网络中的性能提升,就达到了原来的 2.89 倍左右。

图三 面向英特尔® 架构优化的 TensorFlow 在金山云 AI 云服务中带来的推理性能提升

在率先尝试 AI 应用的传统行业,面向英特尔架构优化的AI框架也已斩获战果。例如目前制造业正普遍关注的瑕疵检测、智能品控等 AI 应用就有不少借助它们提升效率的成功实践——宁德时代就利用面向英特尔® 架构优化的 PyTorch 与OpenVINO™ 工具套件,大大提升了 AI 动力电池缺陷检测解决方案的推理性能,实现了单工序 400FPS 以上的图像处理速度以及零漏检的检测精度,从而可以通过基于 AI 的实时缺陷检测能力来保证产能与品质的双赢。