解读至强的小秘密之 OpenVINO™ 工具套件,面向 AI 任务的 “神奇改造车间”

经历了之前几期对至强平台的揭秘,我们想必都已了解:英特尔® 至强® 平台对于 AI 应用的加速,从来都不是依靠某个单一的产品或技术特性来实现的。我们看到英特尔® AVX-512 和英特尔® 深度学习加速(DL Boost)技术的导入,让至强平台有了能够加速 AI 任务,尤其是基于 INT8 和 BF16 这两种数据格式的 AI 任务所需的 “VIP专用车道”;我们还看到面向英特尔® 架构优化的多种主流 AI 框架的出现,让 AI 应用更好地感知并充分利用 “专用车道” 的加速效果;还有 Analytics Zoo,是打通大数据平台与 AI 应用平台的高速车道,是平衡 AI 铁三角——算力、算法和数据发展步骤的关键……所有这些与 AI 加速相关的产品特性和功能在组合后,才是至强平台加速 AI 应用的底蕴所在。

今天这期揭秘,我们的焦点将汇聚在OpenVINO™ 这款软件工具套件身上,它在英特尔® 架构平台上专攻 AI 应用加速的产品技术组合中也占据着举足轻重的地位。谈到它的主要功能,那就是 “变形” 或者 “改造”,而这种变形或改造的对象,正是 AI 应用涉及的数据。

众所周知,AI 应用原生的数据格式并不统一,不过大多数 AI 模型多采用传统的 FP32 数据格式,其实这种格式完全可以在损失很小精度的前提下,转换成 BF16 或 INT8 格式,以换取更高的处理效率或者说吞吐量,这正是英特尔为至强平台上导入和更新深度学习加速技术,或者说在 CPU 上实现 INT8 和 BF16 数据处理加速的源起,不过,要想真正用好这些加速特性,大家要么得人为地对 AI 模型实施数据格式转换,要么就得用更为专业和省心的工具来帮忙。

人为转换显然费时费力,不仅无法根据处理器平台特性实施优化,且转换后的模型也无法兼容不同的硬件平台。这就如同专为小型车优化的车道上,却不断驶来传统的大型车辆。驾车的司机要么只能选择维持原速度,甚至得降速前进,要么就必须在上路前自己动手将大车改成适合车道的尺寸,不论采用这两种方法中的哪一种,显然都无法便捷和充分地利用到至强® 平台提供的加速支持。

由英特尔推出的 OpenVINO™ 工具套件,则是专业和省心工具的代表,它提供的模型量化功能,为上述问题提供了应对良方。它能让基于不同 AI 框架,如 TensorFlow、MXNet、PyTorch 等构建的 FP32 数据格式 AI 模型,在损失很少精度的情况下转化为 INT8 和 BF16 数据格式。

图一 OpenVINO™ 工具套件提供的模型量化功能

如图一所示,OpenVINO™ 工具套件就像是一个神奇的 “自动化改造车间”,当基于 FP32 数据格式的 AI 模型来到这里时,都要自动化改造为可利用英特尔® AVX-512 和英特尔® 深度学习加速技术提速的 INT8 和 BF16 数据格式。这就好比赛车在上场前都会针对赛道特点进行全面的优化改装,在甩掉了所有干扰速度、又不会影响行车安全的累赘后,就只剩勇往直前,疾速狂飙了!

除模型量化功能外,针对一系列 AI 应用场景,如视觉模拟、自动语音识别、自然语言处理及推荐系统等,OpenVINO™ 工具套件还提供了能提升它们开发和部署效率的组件,例如 OpenVINO™ Model Server 和 OpenVINO™ Model Zoo 等组件可对基于 TensorFlow、PyTorch、MxNet、Keras 等不同框架构建的训练模型实施更为高效的优化,并简化这些模型部署的流程及耗时。更值得期待的是,OpenVINO™ 工具套件还有基于通用 API 为用户智能选择 AI 加速硬件的功能,让用户的 AI 应用在一次编写之后,就可以更智能、也更有针对性地选择英特尔的 CPU、VPU、GPU、FPGA、ASIC 等芯片,来实现异构的部署及更优的加速能力。

目前,已经有很多行业和领域的企业用户开始利用 OpenVINO™ 工具套件所提供的种种优势功能来为 AI 应用提供加速支持。例如在在线视频服务领域,OpenVINO™ 工具套件与英特尔® 至强® 可扩展处理器相结合,已帮助爱奇艺 Jarvis 深度学习云平台有效提升了 AI 应用的推理效率,如图二所示,在典型的图像抠图应用场景中,OpenVINO™ 工具套件带来了 5 倍的推理速度提升,而在不良内容检测和文本检测场景中,效率提升更是达到了 6 倍和 11 倍之多 1

图二 OpenVINO™ 工具套件在爱奇艺 AI 应用场景中带来的性能提升

在医疗行业的应用中,西门子医疗团队选用了第二代英特尔® 至强® 可扩展处理器与 OpenVINO™ 工具套件,以保证在极小准确率损失的情况下来加速心脏 MRI 的 AI 推理速度。如图三所示,在使用 AI 进行心脏图像分割的过程中,右上是未使用 INT8 模型的传统 ONNX 输出图像,而右下是使用 INT8 模型的输出图像,可以直观地看到,两者的输出成像质量几乎保持一致。同时,从推理速度来看,结合第二代英特尔® 至强® 可扩展处理器、英特尔® 深度学习加速技术以及OpenVINO™ 工具套件可使得心脏 MRI 的 AI 分析效能得以大幅增强——优化后的方案在量化和执行模型时,其性能可提升至未优化方案的 5.5 倍 2

图三 使用INT8模型前后的输出成像结果对比

OpenVINO™ Model Server 组件对 AI 应用优化和部署的加速功效,也有实战用例予以佐证:首都在线旗下的云服务品牌——CDS 首云就导入这一功能,并借助它对英特尔® 架构基础设施的专门优化、与既有云平台 K8S 的良好集成以及对多种主流深度学习框架的出色支持,大大简化了其 AIaaS(AI 云服务)方案的部署流程并提升了其生产效能。如图四所示,在其常见的实时视频非法内容检测场景对比测试中,使用 OpenVINO™ Model Server 组件的方案在支持的用户并发数量上远胜于对比组,相比采用 Tensorflow Serving 的方案提升了 2.4 倍 3

图四 CDS 首云针对不良视频内容检测场景的验证测试结果

产品和性能信息

3测试配置:测试组:处理器:单路英特尔® 至强® 金牌 6240Y 处理器,18核心/36线程,超线程开启,睿频关闭;内存:6 * 16GB 2666MHz DDR4;存储:2*英特尔S4510 SSD 480GB;BIOS:2.48;操作系统:CentOS Linux Release 7.8.2003(Core);Kernel版本:3.10.0-1127.19.1.el7.x86_64;OpenVINO Model Server版本:21.1;对比组:处理器:单路英特尔® 至强® 金牌 6240Y 处理器,18核心/36线程,超线程开启,睿频关闭;内存:6 * 16GB 2666MHz DDR4;存储:2*英特尔S4510 SSD 480GB;BIOS:2.48;操作系统:CentOS Linux Release 7.8.2003(Core);Kernel版本:3.10.0-1127.19.1.el7.x86_64;Tensorflow Serving版本:2.3.0。