随着深度学习方法在音视频处理、自然语言处理、图像识别等领域获得更广泛的应用,作为众多深度学习模型和应用的载体,为之提供完备部署和运行环境支持的 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 的各项 AI 加速特性实施优化,例如将上述基元向量化为 AVX-512 指令,并运行在支持 AVX-512 指令集的处理器中。如图一所示,一系列经过优化的深度学习基元可在英特尔® oneDNN 这个“调度负责人”的指挥下,在英特尔® 至强® 可扩展处理器家族中发挥出更强的性能优势。
图一 英特尔® oneDNN 中的深度学习基元
向量化为 AVX-512 指令
通过集成、融合英特尔® oneDNN 等函数库,AI 框架就能迈出面向英特尔® 架构优化的重要一步,进而在不同商业化应用场景中帮助用户显著提升深度学习应用的训练或推理效率。以网络智能分析为例,新华三(H3C)希望基于 LSTM 等网络模型来帮助用户构筑更高安全等级的智能网络解决方案,但更长的时序特征提取、更复杂的门结构,意味着模型在训练和推理中需要更多的计算量。在导入面向英特尔® 架构优化的 TensorFlow 后,该方案中 AI 训练和推理过程就可以工作在英特尔® oneDNN 基元上,其成果则如图二所示,可以在不改变神经网络模型的情况下将整体性能提升数倍之多。
图二 在采用面向英特尔架构优化的 AI 框架之前(绿色)及之后(蓝色)的 DNS 隧道检测模型训练性能及服务器利用率模型推理性能的归一化对比[1]
被广大中小企业用户关注的 AI 云服务(AIaaS),也有不少从面向英特尔架构优化的 AI 框架上收获应用优势的案例,例如金山云就在英特尔的支持下,在部署集成有 AVX-512 和深度学习加速技术的英特尔® 至强® 可扩展处理器时,也同步导入面向英特尔® 架构优化的 TensorFlow 等 AI 框架,将其打造成针对 AI 应用“软硬打包、协同优化”的镜像,让用户在无需关心底层 AI 框架配置和调优等复杂性的同时,获得更优的性能。
这个案例的收益也非常明显,如图三所示,换用面向英特尔® 架构优化的 TensorFlow 与采用原生 TensorFlow 框架相比,在 ResNet50、Inception-V3、SSD-Mobilenet 和 Wide&Deep 四种深度神经网络中,其 AI 推理性能都获得了不同程度的提升,如在 SSDMobilenet 网络中的性能提升,就达到了原来的 2.89 倍左右[2]。
图三 面向英特尔® 架构优化的 TensorFlow 在金山云 AI 云服务中带来的推理性能提升
一些率先尝试 AI 应用的传统行业中,面向英特尔架构优化的 AI 框架也斩获了战果。例如目前制造业普遍关注的瑕疵检测、智能品控等 AI 应用,就有不少借助它们提升效率的成功实践——宁德时代就利用面向英特尔® 架构优化的 PyTorch 与 OpenVINO™ 工具套件,大大提升了 AI 动力电池缺陷检测解决方案的推理性能,实现了单工序 400FPS 以上的图像处理速度以及零漏检的检测精度,从而可通过基于 AI 的实时缺陷检测能力来保证产能与品质的双赢[3]。
[1] 如欲了解 H3C 案例的更多细节,请访问:
https://www.intel.cn/content/www/cn/zh/customer-spotlight/xeon-platform-with-built-in-ai-acceleration-builds-data-centric-smart-network.html
[2] 如欲了解金山云案例的更多细节,请访问:
https://www.intel.cn/content/www/cn/zh/service-providers/kingsoft-cloud-upgrades-cloud-service-for-ai-developers.html
[3] 如欲了解宁德时代案例的更多细节,请访问:
https://www.intel.cn/content/www/cn/zh/analytics/artificial-intelligence/xeon-scalable-platform-built-in-ai-acceleration.html