OpenVINO™ 发布三年半来最大升级!全新版本已开放下载

openlab_25991cf5 更新于 2年前

本文转载自“英特尔物联网”微信公众号。


冬奥落幕,竞技魅力仍霸屏,
14年过去,我们不再向世界解释“我是谁”!
每次回想,Nono仍感到心潮澎湃
感慨之余,相信细心的小伙伴已经发现,
在欣赏这场精彩绝伦的冰雪盛会之际,
OpenVINO 也推出了全新版本,
进一步赋能开发者一起向未来,
这也是OpenVINO最近三年半以来的最大升级!

是虚张声势还是全新升级?
这就让小Nono带大家来看看,
新版本都有哪些惊喜吧!

全新版本

长期以来,OpenVINO 始终未曾停止创新的步伐,不断更新迭代,系统功能也日益强大和丰富。
在此次全新升级的版本中,OpenVINO在构建阶段,通过更方便、简洁的API获得了生产效率的提高;在优化阶段,OpenVINO支持了更广泛的模型,显著提高了兼容性;在部署阶段,OpenVINO通过自动优化部署,实现了性能提升。接下来,让我们从构建、优化、部署三个阶段,进一步了解OpenVINO的诸多亮点吧!





一、构建:更简洁、方便的API

01 更多的预训练模型

简约不减配,这才是更经济、更高效能的升级。此次全新版本的OpenVINO 对框架转换、降低复杂性的同时,还能支持哪些呢?小孩子才做选择,Nono当然是全都要。
新版本包含18个Intel预训练模型和15 Public预训练模型,Intel预训练模型将提供不同精度的IR格式模型,开发者可以直接通过OpenVINO API进行部署;Public预训练模型来源于第三方框架训练得到的模型文件,开发者可以通过converter.py工具,将模型轻松转化为IR格式表达式,再进行部署。这么丰富的预训练模型,你心动了吗?




02 更简化的依赖库管理


众所周知,系统功能越丰富,需要的依赖库就越多,当依赖库发生改变时,很容易“牵一发而动全身”,让系统为之焦灼,担心殃及池鱼。

此次全新版本的OpenVINO更进一步减少了OpenVINO依赖库的数量,最突出的则是将Inference Engine与nGraph等与runtime相关的依赖库全部集成到了OpenVINO Runtime这一个库中,显著降低了对不同库之间的依赖。开发者可以根据自己使用的硬件设备,部署环境与功能需求,有选择性地挑选合适的动态库进行安装,减轻OpenVINO安装环境的容量。
简而言之,依赖库瘦身成功,不要再经常草木皆兵、担惊受怕了!




03 全新的runtime API 2.0

再高性能的系统一旦忽略了用户,也只能是昙花一现。OpenVINO深谙此道,秉持着“用户友好型系统才能立足未来”的更新理念推出了全新的runtime API 2.0。

不同于之前Inference Engine的接口规范,Intel这次引入了“OpenVINO”的新全局命名空间及相关头文件和函数方法,但整体API调用方式不变,并且新的runtime API 2.0默认支持原有的Inference Engine接口,Inference Engine的相关接口功能还将继续保留。



在新的API 2.0接口中,OpenVINO全新版本也对过程进行了简化,开发者可以之间通过新的Tensor API来获取结果数据。此外,全新的Configuration API引入后,通过get_property接口获取的设备配置信息将自动获取数据类型,开发者做进一步解析就更方便了。用户体验是不是看起来很棒?连Nono都忍不住想立马去试试了。




二、优化:更广泛的模型支持
01 Model Optimizer参数简化
“高端的食材往往只需要最简约的烹饪方式,”OpenVINO 也想向高端看齐,在全新升级时采用了更简易的更新API。
引入全新的IR v11模型表达式版本以后,IR将全面支持动态input shape,MO工具中将无需指定模型转换后的--input_shape,并根据模型中的其他layer自动推断动态input中的某几个未定义的维度,提升动态输入在runtime阶段的执行效率。此外,针对类似TensorFlow这样特定的框架结构,OpenVINO全新版本将简化额外的转置操作,用户无需指定--disable_nhwc_to_nchw,MO自动加入额外的layer,确保与原框架Layout和数据精度一致。
在极简主义与断舍离盛行的当下,希望小伙伴们和Nono一样,在进行相关操作时更能得心应手哦。





02 直接支持PaddlePaddle模型
作为国内最受欢迎的深度学习框架之一,之前OpenVINO在对Paddle模型做适配的时候,需要将Paddle模型转化为ONNX格式,再通过MO工具对ONNX模型进行优化和加速部署,Nono的小伙伴们日常吐槽不、不、不方便。
目前OpenVINO 全新版本已经实现对PaddlePaddle模型的直接支持,MO工具可以直接完成对Paddle模型的离线转化,同时runtime api接口也可以直接读取加载Paddle模型到指定的硬件设备。
没有了ONNX这个“中间商”模型耗步骤,省去了离线转换的过程,大大提升了Paddle开发者在Intel平台上部署的效率。经过性能和准确性验证,在OpenVINO™ 2022.1发行版中,会有 13个模型涵盖5大应用场景的Paddle模型将被直接支持。并且,其中不乏像PPYolo和PPOCR这样非常受开发者欢迎的网络哦。




三、部署:自动优化


01 Preprocessing API
为了适配模型对于输入数据的结构要求,我们往往需要利用OpenCV这样的工具,在CPU上将原始数据进行前处理操作后再送入到指定的硬件处理器上中进行模型推理,此时前处理任务不仅会占用一部分的CPU资源,也无法真正发挥某些硬件加速器对前处理任务性能能上加速,好比手机厂家费尽心机将手机做“薄”,而消费者却选择戴上了壳。
针对此痛点,Preprocessing API选择将前处理任务集成到模型执行图中, 不依赖于CPU,利用指定的硬件平台进行输入数据预处理,更充分发挥类似GPU或VPU这样协处理在处理图像数据时的性能优势。Preprocessing API拒绝了CPU,选择了独立,小伙伴们怎么看?



02 CPU plugin支持动态输入

为了适配更广泛的模型种类,OpenVINO 全新版本的CPU Plugin已经支持了动态input shape,让开发者以更便捷的方式部署类似NLP或者OCR这样的网络。
在不支持动态input shape的情况下,我们往往需要通过Padding ,Model reshape或者是Dimension Partitioning对模型或是输入数据进行重构,对性能和准确性都有较大影响。
虽然通过动态input shape可以减少相关影响,但其需要在推理的过程中才能获取输入数据shape,并对模型进行编译,所以综合性能还是不及固定input shape,此时我们建议开发者通过设置upper-bound的方式,为动态维度的数据设置宽度范围,以更高效地进行合理的内存分配,提升性能表现。


03 Auto Device plugin
在国内外竞技场都能发挥出杰出的水平,这应该是优秀的运动员必备实力,技术的竞技场理应同理,卓越的可移植性对于软件来说必不可少。
在全新版本之前,小伙伴们必须自己手动选择相应的部署设备,并配置设备中的相关资源。全新升级后,当开发者将定义的设备设置为“Auto”后,该接口会搜索系统中所有的算力单元以及其规格属性,根据模型的精度、网络结构以及用户指定性能要求等信息,选取并配置合适的算力单元进行部署,降低不同设备平台间的移植难度与部署难度。




除了自动选择部署硬件以外,Auto Device plugin还将进一步优化GPU/VPU的第一次推理延迟。AUTO Device plugin的策略是默认将第一次推理任务加载到CPU上运行,同时在GPU/VPU等性能更强的协处理器上编译加载执行网络,待CPU完成第一次推理请求后,再将任务无感地迁移到GPU/VPU等硬件设备中完成后续的推理任务。
如今疫情肆虐,希望这次全新升级的OpenVINO能给忘带电脑、封控在家回家的小伙伴们提供便利,和Nono一样再也不怕不同设备平台间的移植、部署和推理了。




04 PERFORMANCE_HINT
卓越的可移植性固然重要,但在相应的硬件平台,需要为推理任务配置不同的参数时,相信很多小伙伴也会和Nono一样感到很痛苦。
为了让开发者尽可能用一套代码来适配不同的Intel硬件平台。OpenVINO 全新版本中引入了全新的PERFORMANCE_HINT功能,用户只需指定他的推理任务需求:延迟优先还是推理优先。compile_model便可以自动进行相应的硬件参数配置,达到相对较优的性能目标。
此外,针对GPU这样并行计算能力较强的设备,新的Auto Batching功能还可以通过将PERFORMANCE_HINT指定为吞吐量模式,来隐式地开启该功能,并自动配置batch size大小,充分激活GPU硬件性能,优化内存资源占用。
看到这里,Npnp突然来了种错觉,“垂死码中惊坐起,Nono看到PERFORMANCE_HINT还能理”,不知道小伙伴们是不是也有同样感受?


全新升级·大咖怎么看

英特尔网络与边缘事业部OpenVINO开发者工具副总裁Adam Burns表示:
“最新版OpenVINO 2022.1根据数十万开发者在过去三年多的反馈而开发,旨在简化和自动化优化工作。最新版本增加了硬件自动发现和自动优化功能,让软件开发者可以在任意平台上实现最优性能。该软件与英特尔芯片相结合,可实现显著的AI投资回报优势,并可轻松部署到用户网络中基于英特尔技术的解决方案中。”

Zeblok创始人兼首席执行官Mouli Narayanan认为:
“我们的使命就是要考虑每次洞察的成本。通过采用英特尔处理器,我们实现了经济、高能效的AI推理,并产生了极高的投资回报。这个新版OpenVINO将为我们的生态系统创造更高的价值。”

在American Tower创新副总裁Eric Watko看来:
“凭借American Tower的边缘基础设施、英特尔的OpenVINO深度学习功能和Zeblok的AI平台即服务,我们可以为市场提供完整的智能解决方案。”

                                                                        不得不说,这次的新版本
                                                                        真的是太灵啦~
                                                                        还没有体验过的小伙伴们
                                                                        快来试试吧!
                                                                        扫码即可下载!
                                                                

                                                                    想了解更多OpenVINO技术?
                                                                    后台留言,Nono立刻安排!
                                                                    初心不改,才能虽远不怠,
                                                                    你还想让我们更新什么功能,
                                                                    欢迎随时反馈给我们
                                                                    一起向未来!

英特尔、英特尔标识、以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。
©英特尔公司版权所有。
* 文中涉及的其它名称及商标属于各自所有者资产。

0个评论