飞桨PaddlePaddle & 英特尔神经计算棒 联合优化AI算法CPU部署性能,推动产业低成本智能化升级

原创
2020/12/10 14:04
阅读数 257

现如今,深度学习技术为工业质检、安防巡检、金融、医疗、能源等各行各业降本增效的效果已被广泛验证。然而,深度学习算法往往需要较高性能的计算芯片,以满足大计算量、高推理速度等产业需求。这带来一个问题,如果对前期大批量投入的低性能设备进行升级甚至更换,都将是一笔非常大的费用,从而提升了产业智能化升级时前期投入的硬件成本。比如,在工业界,产线上已有的工控机大多只配备了CPU,而深度学习涉及海量计算需要运算速度更快的GPU来处理,而GPU的价格非常昂贵,如果全部升级为高性能GPU,成本非常高。

 

有没有什么好办法,可以在不升级硬件或者不使用低功耗芯片的情况下,尽量提升算法的性能呢?

 

飞桨全流程开发工具PaddleX,在打通深度学习全流程开发的基础上,为产业开发者提供了多种高性能部署方案及详细的示例工程。

 

事不宜迟,让我带您快速了解一下这套方案吧!

 

首先,飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个开源开放、技术领先、功能完备的产业级深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。目前,飞桨已凝聚超230万开发者,服务企业9万家,基于飞桨开源深度学习平台产生了31万个模型 [1]  。

 

PaddleX飞桨产品矩阵中的一个重要工具组件,它提供了一套极其易用的开发方案,使开发者可以快速完成多种计算机视觉算法的开发、优化、并实现高效部署上线。

 

图片

                                                                                图1 PaddleX 飞桨全流程开发工具全景图

 

得益于Paddle Lite--飞桨轻量化推理引擎,凭借其多平台高性能深度学习预测引擎的能力,可以使开发者极其便捷地完成从Mobile到Server多种硬件平台的部署(包括ARM CPU、Mali GPU、Adreno GPU、华为NPU以及FPGA等架构),并持续增加更多新硬件。

 

此外,基于飞桨与英特尔的长期合作,开发者也可以使用OpenVINO来提升飞桨模型在英特尔的CPU、VPU等芯片上的性能。

 

目前,全流程深度学习开发套件PaddleX,为开发者提供了一套完整的基于OpenVINO的部署方案。通过这套方案,对部分企业来讲,无需额外配置任何硬件,便可以快速便捷地将最先进的深度学习算法模型部署至CPU工控机,进行深度学习算法的升级。

 

具体的技术实现的流程如下图所示:

图片

 

                                                                                图2 飞桨模型通过转换为ONNX打通OpenVINO部署

 

当前PaddleX对OpenVINO的支持情况如下表所示:

 

图片

 

随着飞桨与英特尔合作的持续深化,支持适配的算法及加速性能将会进一步提升。

那么OpenVINO到底是什么?又为什么可以提升飞桨的模型性能呢?下面逐一为您解答。

 

OpenVINO是英特尔针对自家硬件开发的深度学习部署工具套件,它基于通用API接口,支持多种英特尔硬件平台,包括CPU、VPU(视觉处理单元)、iGPU、FPGA;并且支持异构计算,可以加速工控机或服务器CPU设备上深度学习模型的预测性能。同时,通过集成OpenCV、OpenGL等工具套件,为开发者简化并加速部署流程。

 

对于边缘侧设备部署场景,OpenVINO还可以通过支持神经计算棒(一种基于VPU的深度学习硬件USB驱动器)实现在树莓派等低性能的嵌入式设备上部署复杂的深度学习模型,让AI在边缘侧的硬件设备上有更丰富的应用场景。在云端或者是工业场景,OpenVINO更是可以直接在不添加任何其他算力设备的情况下加速CPU上深度学习模型的部署性能,大大提升现有硬件设备的性价比。

 

                                                                                图片

                                                                                图3 神经计算棒

 

PaddleX在打通OpenVINO对飞桨模型进行加速部署的基础上,提供了丰富的实战案例、示例工程,使开发者每一步都有例可依,有据可考。

 

PaddleX当前提供的CPU加速部署端到端案例包括:

 

1.【工业质检】CPU加速部署YOLOV3模型

传送门:

https://github.com/PaddlePaddle/PaddleX/tree/develop/docs/examples/industrial_quality_inspection

 

2.【二代神经计算棒】结合【树莓派】加速部署MobileNetV2模型

传送门:

https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/deploy/raspberry/NCS2.md                                                                               

 

                                                                                图片

                                                                                图4 神经计算棒配合树莓派进行模型部署

 


 

加速效果性能测试

PaddleX对比测试了OpenVINO在CPU和VPU上的部署性能。

 

1. CPU性能测试

在型号为:Intel(R) Core(TM) i9-9820X@3.30GHz,模型推理的时间以及图像预处理时间结果如下表所示。YOLOV3-MobileNetV3-Prune表示经过剪裁后的模型。

 

图片

 

从表2中可以看出PaddleX训练出来的模型借助OpenVINO在CPU上的部署性能完全可以达到工业级的要求,而且裁剪方案还能进一步提升预测的性能。

 

2. VPU性能测试

在树莓派3B上插入神经计算棒测试了OpenVINO的性能加速比,并与树莓派自带的ARM处理器进行对比,结果如下表所示,单位为ms/image(均不包含数据预处理用时)。

 

图片

 

从表3可以看出,配合计算神经棒,可以显著提升模型在边缘侧的部署性能,给人们对AI应用开辟了新的想象空间。

 

除此之外,PaddleX 还针对产业具体应用场景提供了特殊的适配及优化工作,并结合具体、详尽的案例为开发者提供尽可能深层的支持,其中包括:

 

工业表计读数:

https://paddlex.readthedocs.io/zh_CN/develop/examples/meter_reader.html

人像分割:

https://paddlex.readthedocs.io/zh_CN/develop/examples/human_segmentation.html

遥感影像分割(RGB):

https://paddlex.readthedocs.io/zh_CN/develop/examples/remote_sensing.html

遥感影像分割(多通道):

https://paddlex.readthedocs.io/zh_CN/develop/examples/multi-channel_remote_sensing/README.html

地块变化检测:

https://paddlex.readthedocs.io/zh_CN/develop/examples/change_detection.html

工业质检:

https://paddlex.readthedocs.io/zh_CN/develop/examples/industrial_quality_inspection/README.html

 

欢迎加入PaddleX技术交流群(1045148026)获得更即时的技术支持~

图片

 

欢迎大家到PaddleX Github主页获取完整项目代码,并点星(Star)支持:

 

·飞桨PaddleX项目地址·

GitHub: 

https://github.com/PaddlePaddle/PaddleX

Gitee: 

https://Gitee.com/PaddlePaddle/PaddleDetection

 

·PaddleX  OpenVINO加速部署·

https://github.com/PaddlePaddle/PaddleX/tree/develop/deploy/openvino

本文同步分享在 博客“飞桨PaddlePaddle”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部