人工智能模型的复杂度不断增加,对内存的需求也越来越大。深度学习的进一步发展需要解决内存限制问题,而当前的解决方案无法利用所有可用计算,业内人士逐渐意识到需要专用芯片来支持深度学习训练和推理。
英特尔则在人工智能方面提供优越的硬件选择,并通过软件来最大化释放硬件的性能,从而帮助客户无论是数据多么复杂或位于哪里都可以自如运行AI应用。
7月3日-4日,在百度AI开发者大会上,英特尔公司副总裁兼人工智能产品事业部总经理Naveen Rao宣布,英特尔正与百度合作开发英特尔® Nervana™神经网络训练处理器(NNP-T)。这一合作包括全新定制化加速器,以实现极速训练深度学习模型的目的。
此次NNP-T是一类全新开发的高效深度学习系统硬件,能够加速大规模的分散训练。与百度的密切合作能够确保英特尔开发部门始终紧跟客户对训练硬件的最新需求。
从2016年起,英特尔便一直针对英特尔®至强®可扩展处理器优化百度飞桨(PaddlePaddle*)深度学习框架。如今,通过为百度飞桨优化NNP-T,双方能够为数据科学家提供更多的硬件选择。
与此同时,英特尔还通过更多技术来进一步增强这些AI解决方案的性能。例如,凭借英特尔傲腾数据中心级持久内存所提供的更高内存性能,百度能够通过其Feed Stream*(信息流)服务向数百万用户提供个性化移动内容,并通过百度AI推荐引擎获得更高效的客户体验。
此外,鉴于数据安全对于用户极其重要,英特尔还与百度共同致力于打造基于英特尔软件保护扩展(SGX)技术的MesaTEE*——内存安全功能即服务(FaaS)计算框架。
Naveen Rao表示:“未来几年,AI模型的复杂性以及对大规模深度学习计算的需求将爆发式增长。英特尔和百度将延续双方十多年的合作并聚焦于联合设计和开发全新的硬件以及配套软件,从而向‘AI 2.0’的新疆界不断迈进。”
而在英特尔分论坛上,英特尔及其合作伙伴分别就边缘计算、百度超级计算平台的软硬件优化、英特尔 DL Boost、百度海洋引擎与英特尔SGX的合作、爱奇艺在OpenVINO™上的AI实践以及英特尔AEP的分布式系统在AI训练和数据处理上的实践等方面的技术细节进行了探讨。我们将从以下四个演讲中阐释英特尔取得的主要进展。
英特尔DL Boost的至强云端深度学习推理优化实践
英特尔DL Boost是一套旨在加快人工智能深度学习速度的处理器技术。英特尔人工智能资深架构师姚伟峰讲述了利用英特尔DL Boost的至强云端深度学习推理优化实践。
DL Boost基于AVX-512扩展新的矢量神经网络指令集,性能提升是数量级的,具有更好的TCO,为终端用户提供更一致性的体验。他指出,英特尔 DL Boost VNNI就是为加速深度学习推理任务而生。他还从图优化、量化、算子优化三方面详细讲解了XEON深度学习推理优化。
英特尔MKL-DNN优化的深度学习框架和OpenVINO™
英特尔软件产品开发部、资深AI 技术咨询工程师胡英以英特尔MKL-DNN优化的深度学习框架为主讲述了如何利用英特尔AI软件工具加速深度学习。
英特尔MKL-DNN是一个开源的、性能强化的函数库,用于加速在CPU上的深度学习框架,包含高度矢量化和线程化的构建模块,支持利用C和C++接口实施卷积神经网络。
英特尔MKL-DNN主要在以下对象上运行:基元、引擎和流。库文档对这些对象的定义如下所示:
基元——任何操作,包括卷积、数据格式重新排序和内存。基元可以以其他基元为输入,但是智能输出内存基元。
引擎——一种执行设备,如CPU。每个基元都映射为特定的引擎。
流——一种执行环境,将基元提交至流后等待完成。提交至流的基元可能有不同的引擎。流对象也可以跟踪基元间的相关性。
OpenVINO是英特尔基于自身现有的硬件平台开发的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。 支持在Windows与Linux系统,使用Python/C++语言。
OpenVINO工具包主要包括两个核心组件,模型优化器和推理引擎。
OpenVINO的主要特点有:
在英特尔平台上提升计算机视觉相关深度学习性能达19倍以上
解除CNN-based的网络在边缘设备的性能瓶颈
对OpenCV,OpenXV*视觉库的传统API实现加速与优化
基于通用API接口在CPU、GPU、FPGA等设备上运行加上
爱奇艺在OpenVINO™上的AI实践
软件工具包OpenVINO,专为在边缘部署深度神经网络而设计,广泛支持各种框架,只需编写一次,可扩展到不同加速器上使用,使边缘AI实现高性能、高效率。
借助英特尔OpenVINO工具包,能够帮助开发人员加快深度神经网络推理应用的开发,支持深度神经网络测试、调整和原型制作,可以帮助开发者进入实际应用的量产阶段。
爱奇艺助理研究员虞科华分享了他们在OpenVINO上的AI应用开发的相关实践 。首先是应用开发方法主要包括三点:
训练模型:固化模型
模型优化:图分割、客制化层、 客制化子图
推理引擎:模型级联计算、多输入尺寸设计、自动评估CPU端执行特征
另外,虞科华指出OpenVINO FPGA后端实践主要包括两方面:1推理引擎: 异构Plugin、 异构执行分析;性能分析:Bitstream精度、异构Affinity设置、流水线化。
OpenVINO目前在爱奇艺的落地服务主要有AI雷达、图文审核、视频标签、图片审核等。
百度计算平台的软硬件优化
作为英特尔重要的合作方,百度AI系统架构师丁瑞全介绍了在百度大规模分布式训练系统中与英特尔在软硬件优化方面的合作。
在系统设计上,百度超级AI计算平台X-MAN与英特尔进行合作共同推动OAI & OAM全球标准定义。
软硬件联合优化方面主要包括四个方面。IO优化,百度Fast-F共享并行文件系统,同时基于英特尔 SPDK,为AI场景海量小文件而优化 ;预处理优化,通过预取 + 硬件Offload + 均衡CPU与AI加速卡配比的方式进行合作;数据下发优化,增加下行链路 + 避免冲突;前后向计算优化,自动混合精度 (AMP) +大显存增大batch size 英特尔 AI芯片可支持bfloat16*, 其动态范围相比float16 的更大液冷+48V供电 支持计算性能更强的芯片;通信优化,软件算法优化以及英特尔 SCR* ICL支持多机互联。