0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在微软云机器学习平台Azure ML上利用OpenVINO快速实现AI推理

英特尔中国 来源:英特尔中国 作者:武卓博士 2022-07-25 11:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者

英特尔AI软件布道师

武卓博士

曾主持国家级及省部级科研项目十余项,已授权国际国内专利十余项。

目前,数字化浪潮席卷全球,人类社会已经进入智能时代。万物互联的数字化浪潮下,端—边—云协同是实现数字化智能化的重要架构之一。本文我们将简要分析边云协同的必要性,并介绍如何使用英特尔开源的OpenVINO工具套件,在“端—边—云”快速实现高性能人工智能推理。

1边云协同的必要性及

OpenVINO工具套件简介

众所周知,18世纪60年代人类开始了第一次工业革命,从此进入“蒸汽时代”,接着进入了电气时代和信息时代,当前人类社会正在发生第四次工业革命,即智能时代。英特尔首席执行官帕特·基辛格在2021年世界互联网大会乌镇峰会上指出,要拥抱四大超级技术力量。这四大超级技术力量分别是:第一,无所不在的计算。计算能力正渗透到我们生活的方方面面,作为人和技术的交互点,跨越现有和新兴设备。第二,无处不在的连接,即万物互联。第三,从云到边缘的基础设施。它创造一个动态可靠的路径来连接计算和数据,实现规模和容量无限扩展的云与无限延伸的智能边缘相结合。第四是人工智能。这四大超级技术力量并不是技术孤岛,而且相互协同,相互融合,共同推动产业的巨大变革。

a5368f52-042c-11ed-ba43-dac502259ad0.png

四大超级技术力量使得数据一旦产生之后,能够在相应的节点做快速且及时的处理,从而减少数据处理的延时;高价值数据经过边缘提取后,高效率的传递到云端,借助云端的超级计算力量挖掘数据背后隐含的价值,让用户可以开发相应的服务,实现科技向善。没有边云协同,这四大超级技术力量将被割裂,数据将成为孤岛,智能时代要求的智能化、无人化和集群化将无法实现。如下图所示,将云端规模开发的优势与边缘端推理的好处结合起来,能够使得边云协同的优势发挥到最大化,将无限的数据变成可操作的洞察力。

a5589ef8-042c-11ed-ba43-dac502259ad0.png

下图是一个智能制造工厂中,利用“端—边—云”协同架构,利用人工智能技术实现实时产品缺陷检测的例子。在这个场景中,每个工位构成了“端”,在工位上架设的摄像头可以每秒采集超过400张产品生产过程中的图片。因此,在端这一侧利用 AI 推理技术,对实时产生的大量图片进行 AI 推理,从而避免将海量数据同时传输到云端产生的高成本及延时。生产流水线构成了这个场景中的“边”,一些更为复杂的推理任务可以实时的在边侧完成,并进行跨工位的调度。最终所有的推理结果可以进一步推送到云端,进行数据集中以及更为深层次的分析,同时边缘端产生的部分数据也可以推送至云端,作为训练数据的补充,用于对深度学习模型进行重训练,以获得更高的准确性。

a579a26a-042c-11ed-ba43-dac502259ad0.png

a58cb472-042c-11ed-ba43-dac502259ad0.png

通过上述的例子,我们可以看出,在边云协同的架构中,一个很重要的步骤就是将 AI 的推理扩展到边缘端,避免边缘端产生的大量数据向云端同时进行传输所引起的高成本,可以获得接近或处于边缘的近实时决策。而能够实现边缘端方便进行 AI 模型部署及推理加速的重要工具之一,就是由英特尔开源的OpenVINO工具套件。

a59d034a-042c-11ed-ba43-dac502259ad0.png

OpenVINO工具套件经过近四年的发展和演进,现已正式发布了迄今为止变化最大的版本,即 OpenVINO 2022.1版本。在这一版本中,不仅支持包括基于 Tensorflow,PyTorch 在内的深度学习框,更可以支持深受中国开发者喜爱的 PaddlePaddle 飞桨深度学习框架。同时,为了方便开发者在边缘端部署深度学习模型,实现“一次撰写,任意部署(Write once,deploy anywhere)”的目的,OpenVINO可以支持包括英特尔 CPU、集成 GPU(iGPU)以及 VPU 在内的多个硬件平台的部署。只需要改动一行代码,就可以实现多硬件平台部署。

尤为值得一提的是,在 OpenVINO2022.1版本中,为了使得开发者更加便捷的使用 OpenVINO进行深度学习的推理,更推出了 AUTO 插件(“auto device”)。开发者只需要使用这样的一行代码

a5c8a518-042c-11ed-ba43-dac502259ad0.png

就可以在边缘端实施 AI 推理时,由 AUTO 插件自动化的检测开发者环境中可以用来进行 AI 推理的设备,并自动化的选择更为合适的硬件设备进行 AI 推理。另外,根据不同使用场景的使用需求不同,AUTO 插件在使用时,还允许开发者选择不同的“performance hint”性能指标模式,从而按照使用需求,获得高吞吐量或者低延时的推理性能。

a5d9c3b6-042c-11ed-ba43-dac502259ad0.png

2在微软云机器学习平台 Azure ML 上利用

OpenVINO快速实现 AI 推理

除了在边缘端可以很方便地利用 OpenVINO工具套件进行快速部署以外,在云端,比如微软云 Azure 的机器学习平台 Azure ML 上,也可以利用 OpenVINO工具套件快速实现深度学习模型的部署,并进行相应的深度学习模型的优化及推理加速。实现步骤如下:

步骤一

在 Azure 上注册个人账号,并在机器学习平台上建立自己的工作室,就类似于建立一个自己运行推理的专用路径。工作室建立好之后,每次运行 AI 推理时,只需要点击“启动工作室”之后,就可以进入可以进行模型部署及推理的页面了。

a5f8da30-042c-11ed-ba43-dac502259ad0.png

步骤二

在启动工作室之后,即进入以下页面。由于我们是利用OpenVINOnotebooks的 notebook代码示例资源,因此,我们在页面上相应选择Notebooks,即进入可以使用Jupyter Notebook 运行代码,进行 AI 推理的页面。

页面地址:https://github.com/openvinotoolkit/openvino_notebooks

a61dd466-042c-11ed-ba43-dac502259ad0.png

步骤三

在进入 Notebooks 页面后,即可根据界面提示由本地上传所有 Notebooks 文件夹中的代码示例。也可以新建终端 Terminals,在终端页面以 git clone 的方式,直接将OpenVINO Notebooks 在 GitHub 上的资源导入在 Azure ML 平台上的工作室。

a640644a-042c-11ed-ba43-dac502259ad0.png

所有 notebooks 代码示例导入过后,即可看到文件夹内包含的所有代码示例。

a67075b8-042c-11ed-ba43-dac502259ad0.png

步骤四

申请 Azure 上的计算资源,运行 notebook 代码。

a6909226-042c-11ed-ba43-dac502259ad0.png

以运行 Notebook 213 机器问答代码示例,在申请好并打开计算资源的使用后,运行机器问答 notebook 代码示例,运行结果如下,

a6ae5bd0-042c-11ed-ba43-dac502259ad0.gif

3小结:

在上面的内容中,我们跟大家分享了边云协同的必要性,以及在边缘端能够实现快速深度学习模型优化、推理及任意部署的英特尔开源 OpenVINO工具套件。并通过一个实例,向大家展示了如何在 Azure 机器学习平台上利用 OpenVINO快速实现深度学习模型的推理。

关于英特尔 OpenVINO开源工具套件的详细资料,包括其中我们提供的三百多个经验证并优化的预训练模型的详细资料,请您点击:

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html

除此之外,为了方便大家了解并快速掌握 OpenVINO工具套件的使用,我们还提供了一系列开源的 Jupyter notebook demo。运行这些 notebook,就能快速了解在不同场景下如何利用 OpenVINO工具套件实现一系列、包括 OCR 在内的、计算机视觉及自然语言处理任务。OpenVINO notebooks的资源可以在 Github 以下地址下载安装:

https://github.com/openvinotoolkit/openvino_notebooks

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    10275

    浏览量

    179359
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136241
  • 微软云
    +关注

    关注

    0

    文章

    11

    浏览量

    3094

原文标题:使用OpenVINO™ 在“端—边—云”快速实现高性能人工智能推理

文章出处:【微信号:英特尔中国,微信公众号:英特尔中国】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    微软企业级应用AI能力全面升级

    微软宣布,已将 OpenAI 迄今为止最具突破性的的 AI 技术系统 GPT-5 全面集成至其产品生态中,全面增强平台的的推理、代码生成与对话体验。最新版 GPT-5 已在 Micro
    的头像 发表于 08-15 11:44 1107次阅读

    信而泰×DeepSeek:AI推理引擎驱动网络智能诊断迈向 “自愈”时代

    、资源分配的最优策略建议,减少资源浪费,提升整体网络效率。 客户实证:AI推理引擎的精准力量某大型政务平台遭遇核心业务运行缓慢问题,初步怀疑网络带宽不足。
    发表于 07-16 15:29

    无法NPU推理OpenVINO™优化的 TinyLlama 模型怎么解决?

    NPU 推断 OpenVINO™优化的 TinyLlama 模型。 遇到的错误: get_shape was called on a descriptor::Tensor with dynamic shape
    发表于 07-11 06:58

    Raspberry Pi Pico 2 实现:实时机器学习ML)音频噪音抑制功能

    Arm公司的首席软件工程师SandeepMistry为我们展示了一种全新的巧妙方法:RaspberryPiPico2如何将音频噪音抑制应用于麦克风输入。机器学习
    的头像 发表于 03-25 09:46 955次阅读
    Raspberry Pi Pico 2 <b class='flag-5'>上</b><b class='flag-5'>实现</b>:实时<b class='flag-5'>机器</b><b class='flag-5'>学习</b>(<b class='flag-5'>ML</b>)音频噪音抑制功能

    使用OpenVINO™进行推理时的内存泄漏怎么解决?

    使用 OpenVINO™ 进行推理时,内存会随着时间的推移而增加,并导致程序崩溃。
    发表于 03-06 08:29

    使用Python APIOpenVINO™中创建了用于异步推理的自定义代码,输出张量的打印结果会重复,为什么?

    使用 Python* API OpenVINO™ 中创建了用于异步推理的自定义代码。 遇到输出张量的打印结果会重复的问题,即使输入图像不同。
    发表于 03-06 07:53

    如何使用多摄像头作为OpenVINO推理的输入?

    无法确定如何使用多摄像头作为OpenVINO推理的输入
    发表于 03-06 07:30

    为什么深度学习中的Frame per Second高于OpenVINO™演示推理脚本?

    DL Workbench 使用 Microsoft 通用对象上下文 (MS COCO) 数据集运行 YOLOv4 对象检测模型,并获得 50 - 60 FPS。 OpenVINO™演示
    发表于 03-06 07:27

    是否可以使用OpenVINO™部署管理器部署机器运行Python应用程序?

    使用 OpenVINO™部署管理器创建运行时软件包。 将运行时包转移到部署机器中。 无法确定是否可以部署机器运行 Python 应用程
    发表于 03-05 08:16

    为什么无法在运行时C++推理中读取OpenVINO™模型?

    使用模型优化器 2021.1 版OpenVINO™转换模型 使用 Runtime 2022.3 版本 C++ 推理实现 ( core.read_model()) 中读取模型
    发表于 03-05 06:17

    C#集成OpenVINO™:简化AI模型部署

    开源测控、机器视觉、数采与分析三大领域中,如何快速AI模型集成到应用程序中, 实现AI赋能和
    的头像 发表于 02-17 10:03 2533次阅读
    C#集成<b class='flag-5'>OpenVINO</b>™:简化<b class='flag-5'>AI</b>模型部署

    C#中使用OpenVINO™:轻松集成AI模型!

    与分析三大领域中,如何快速AI模型集成到应用程序中,实现AI赋能和应用增值?最容易的方式是:C#中,使用
    的头像 发表于 02-07 14:05 1673次阅读
    C#中使用<b class='flag-5'>OpenVINO</b>™:轻松集成<b class='flag-5'>AI</b>模型!

    微软投资30亿美元扩大印度AIAzure服务

    近日,微软公司宣布将投资约30亿美元,以扩大其印度的人工智能(AI)和Azure计算服务的容量。这一举措标志着
    的头像 发表于 01-08 14:49 798次阅读

    利用Arm Kleidi技术实现PyTorch优化

    PyTorch 是一个广泛应用的开源机器学习 (ML) 库。近年来,Arm 与合作伙伴通力协作,持续改进 PyTorch 的推理性能。本文将详细介绍如何
    的头像 发表于 12-23 09:19 1633次阅读
    <b class='flag-5'>利用</b>Arm Kleidi技术<b class='flag-5'>实现</b>PyTorch优化

    如何在低功耗MCU实现人工智能和机器学习

    人工智能 (AI) 和机器学习 (ML) 的技术不仅正在快速发展,还逐渐被创新性地应用于低功耗的微控制器 (MCU) 中,从而
    的头像 发表于 12-17 16:06 1299次阅读