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

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

3天内不再提示

加速嵌入式视觉和推理的开放标准:行业概述

星星科技指导员 来源:嵌入式计算设计 作者:Neil Trevett 2022-11-29 16:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

不断发展的机器学习领域为部署设备和应用程序创造了新的机会,这些设备和应用程序利用神经网络推理,具有前所未有的基于视觉的功能和准确性。但是,快速发展的领域已经让位于处理器、加速器和库的混乱格局。本文讨论了开放式互操作性标准及其在降低成本和在实际产品中使用推理和视觉加速的障碍方面的作用。

每个行业都需要开放标准,通过提高生态系统元素之间的互操作性来降低成本并缩短上市时间。开放标准和专有技术具有复杂且相互依存的关系。专有API接口通常是达尔文式的试验场,可以在聪明的市场领导者手中保持主导地位,这是应该的。强大的开放标准源于行业对成熟技术的更广泛需求,并且可以提供健康、激励性的竞争。从长远来看,随着技术、平台和市场地位的旋转和发展,不受任何一家公司控制或依赖的开放标准通常可以成为行业进步的连续性线索。

创建嵌入式机器学习应用程序

许多互操作部分需要协同工作来训练神经网络,并将其成功部署在嵌入式加速推理平台上,如图 1 所示。有效的神经网络训练通常需要大型数据集,使用浮点精度,并在功能强大的 GPU 加速桌面机器或云中运行。训练完成后,经过训练的神经网络将被摄取到针对快速张量操作进行优化的推理运行时引擎中,或者将神经网络描述转换为可执行代码的机器学习编译器中。无论使用引擎还是编译器,最后一步都是在从 GPU 到专用张量处理器的各种加速器架构之一上加速推理代码。

pYYBAGOFw_WAflF2AADG6bjbMAI200.png

图1.训练神经网络并将其部署在加速推理平台上的步骤

那么,行业开放标准如何帮助简化这一过程呢?图2.说明了在视野和推理加速度中使用的 Khronos 标准。总的来说,随着处理器频率缩放让位于并行编程,人们对所有这些标准越来越感兴趣,并行编程是以可接受的成本和功耗水平提供所需性能的最有效方法。

pYYBAGOFw_6AO4eFAADI5i3zSqY232.png

图2.用于加速视觉和推理应用和引擎的 Khronos 标准

从广义上讲,这些标准可以分为两组:高级和低级。高级 API 侧重于易于编程,并跨多个硬件架构提供有效的性能可移植性。相比之下,低级 API 提供对硬件资源的直接、显式访问,以实现最大的灵活性和控制力。每个项目都必须了解哪个级别的 API 最适合他们的开发需求。此外,高级 API 通常会在其实现中使用较低级别的 API。

让我们更详细地看一下其中一些Khronos标准。

SYCL - C++ 单源异构编程

SYCL(发音为“镰刀”)使用C++模板库来调度标准 ISO C++应用程序的选定部分以卸载处理器。SYCL 使复杂的C++机器学习框架和库能够直接编译和加速到在许多情况下优于手动调优代码的性能水平。如图 3 所示,默认情况下,SYCL 是通过较低级别的 OpenCL 标准 API 实现的:将用于加速的代码馈送到 OpenCL 中,其余主机代码通过系统的默认 CPU 编译器输入。

poYBAGOFxACADr69AADX87qrQKc340.png

图3.SYCL 将标准C++应用程序拆分为 CPU 和 OpenCL 加速代码

有越来越多的SYCL实现,其中一些使用专有后端,例如NVIDIA的CUDA用于加速代码。值得注意的是,英特尔新的oneAPI计划包含一个名为DPC++的并行C++编译器,它是OpenCL上的SYCL实现。

NNEF – 神经网络交换格式

目前有数十种神经网络训练框架在使用,包括Torch,Caffe,TensorFlow,Theano,Chainer,Caffe2,PyTorch和MXNet等等,并且都使用专有格式来描述其训练的网络。市场上还有数十种,甚至数百种嵌入式推理处理器。迫使许多硬件供应商理解和导入如此多的格式是一个经典的碎片化问题,可以通过开放标准解决,如图 4 所示。

pYYBAGOFxAiAOCbYAAFFzvdNcRI099.png

图4.NNEF 神经网络交换格式可通过推理加速器简化对训练网络的摄取

NNEF 文件格式旨在为网络训练和推理芯片世界提供有效的桥梁——Khronos 经过验证的多公司治理模型为硬件社区提供了强有力的声音,说明该格式如何以满足开发处理器工具链和框架的公司的需求的方式发展,通常在安全关键市场中。

NNEF不是业界唯一的神经网络交换格式,ONNX是由Facebook和微软创立的开源项目,是一种广泛采用的格式,主要关注训练框架之间的网络交换。NNEF 和 ONNX 是互补的,因为 ONNX 跟踪训练创新和机器学习研究社区的快速变化,而 NNEF 针对的是需要具有更深思熟虑的路线图演变格式的嵌入式推理硬件供应商。Khronos围绕NNEF启动了一个不断发展的开源工具生态系统,包括来自关键框架的导入商和导出商以及一个模型动物园,以使硬件开发人员能够测试他们的推理解决方案。

OpenVX – 便携式加速视觉处理

OpenVX(VX代表“视觉加速”)通过提供图形级抽象来简化视觉和推理软件的开发,使程序员能够通过连接一组函数或“节点”来构建所需的功能。这种高级抽象使芯片供应商能够非常有效地优化其OpenVX驱动程序,以便在几乎任何处理器架构上高效执行。随着时间的推移,OpenVX 在原始视觉节点之外添加了推理功能 - 神经网络毕竟只是另一个图!通过将NNEF训练的网络直接导入OpenVX图,OpenVX和NNEF之间的协同作用越来越大,如图5所示。

poYBAGOFxBGAIL-2AAC8-6WP8Fw671.png

图5.OpenVX 图可以描述视觉节点和从 NNEF 文件导入的推理操作的任意组合

OpenVX 1.3 于 2019 年 10 月发布,支持针对垂直细分市场(如推理)的精心挑选的规范子集作为正式标准实施和测试。OpenVX 还与 OpenCL 进行了深度集成,使程序员能够添加自己的自定义加速节点以在 OpenVX 图形中使用,从而提供简单可编程性和可定制性的独特组合。

OpenCL – 异构并行编程

OpenCL 是一种低级标准,用于对 PC、服务器、移动设备和嵌入式设备中的各种异构处理器进行跨平台并行编程。OpenCL 提供基于 C 和 C++ 的语言,用于构建内核程序,这些内核程序可以在具有 OpenCL 编译器的系统中的任何处理器上并行编译和执行,从而明确控制程序员在哪些处理器上执行哪些内核。OpenCL 运行时协调加速器设备的发现,编译选定设备的内核,以复杂的同步级别执行内核,并收集结果,如图 6 所示。

pYYBAGOFxBOAJnf4AABpmIvB8oE649.png

图6.OpenCL 使 C 或 C++ 内核程序能够在异构处理器的任意组合中并行编译和执行

OpenCL 在整个行业中广泛使用,为计算、视觉和机器学习库、引擎和编译器提供最低的“接近金属”执行层。

OpenCL最初是为在高端PC和超级计算机硬件上执行而设计的,但在与OpenVX类似的演变中,需要OpenCL的处理器变得越来越小,精度越来越低,因为它们的目标是边缘视觉和推理。OpenCL 工作组正在努力定义为嵌入式处理器量身定制的功能,并使供应商能够完全一致地针对关键功耗和成本敏感用例提供选定的功能。

审核编辑:郭婷

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

    关注

    5186

    文章

    20156

    浏览量

    328975
  • 神经网络
    +关注

    关注

    42

    文章

    4829

    浏览量

    106809
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM嵌入式这样学

    相对纯软导致起步工资低,但行业大牛的工资也非常可观。另外以长远目光来看,嵌入式渗透消费电子、安全安防、汽车电子、医疗电子、电信等等各个行业的计算机领域,而每年也约有40万的人才缺口。今年机器学习(ML
    发表于 12-04 07:48

    嵌入式和FPGA的区别

    ,FPGA凭借硬件并行处理能力,能够实现纳秒级响应,远优于微秒级的嵌入式系统。 功耗效率上,嵌入式系统针对特定应用优化后能效比很高,而FPGA由于可编程特性通常功耗较大,但在特定算法加速场景下可能更高
    发表于 11-19 06:55

    2025嵌入式行业现状如何?

    2025嵌入式行业现状如何? 一、市场规模与增长趋势1.1 全球市场概况总体规模:2025年全球嵌入式系统市场规模预计突破1.2万亿美元,相当于每天诞生3个“光谷”级产业集群。 驱动因素:物联网
    发表于 08-25 11:34

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1042次阅读

    盘点嵌入式就业所需要的技能有哪些?

    ,把握未来的职业机遇。 1.智能汽车行业: - 熟悉嵌入式编程语言,如C/C++、Python等。 - 掌握嵌入式系统设计与开发流程,了解汽车电子控制系统的基本原理。 - 具备良好的数据结构和算法
    发表于 08-11 15:43

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在嵌入式设备上的一种配置。
    发表于 06-20 09:46

    IAR引领嵌入式DevSecOps新时代

    在德国纽伦堡举办的embedded world 2025展会上,行业专家Jacob Beningo指出,嵌入式行业开发正经历一场变革,开发工具正从传统模式向DevSecOps转型。在他的最新文
    的头像 发表于 05-28 10:19 758次阅读

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」议程公布

    4月22日,飞凌嵌入式“2025嵌入式及边缘AI技术论坛”将在深圳举行,论坛以“新生态,智未来”为主题,旨在汇聚行业智慧,探讨嵌入式技术与边缘AI的深度融合与创新应用。
    的头像 发表于 04-02 15:12 1071次阅读
    飞凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及边缘AI技术论坛」议程公布

    新生态 智未来「飞凌嵌入式2025嵌入式及边缘AI技术论坛」开启报名!

    在这个技术日新月异的时代,每一场思想的碰撞都可能成为推动行业前行的力量,每一次深度对话都可能迸发出改变时代的强光——2025年4月22日,飞凌嵌入式将在深圳举办“2025嵌入式及边缘AI技术论坛”,本次论坛以“新生态,智未来”为
    的头像 发表于 03-28 08:05 1021次阅读
    新生态 智未来「飞凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及边缘AI技术论坛」开启报名!

    BlackBerry QNX推出通用嵌入式开发平台

    Platform,GEDP),这一全新平台旨在加速机器人、医疗和工业自动化等通用嵌入式行业的高性能、可扩展、网络信息安全的系统开发。
    的头像 发表于 03-11 16:04 949次阅读

    使用Lattice mVision打造嵌入式视觉系统解决方案

    嵌入式视觉嵌入式系统与机器视觉技术的集合,嵌入式视觉系统硬件集成摄像头模组和处理板,将图像捕获
    的头像 发表于 03-06 16:09 1224次阅读

    电子发烧友荣获飞凌嵌入式“2024年度最具价值媒体”奖

    曝光度、精准触达目标客户,同时获取市场反馈优化产品设计,强化行业技术标杆形象,驱动产品迭代与销售转化,加速生态合作布局。 飞凌嵌入式作为电子发烧友企业号尊享版认证客户,标志着双方合作从基础资源互通迈向
    发表于 02-28 15:20

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、处理和通讯等多种功能。本文将对嵌入式主板的基本概念、构成部分、
    的头像 发表于 01-13 16:30 1187次阅读
    <b class='flag-5'>嵌入式</b>主板的<b class='flag-5'>概述</b>与发展

    哪些专业适合学习嵌入式开发?

    哪些专业适合学习嵌入式开发? 在传统行业不断被取代的当下,对于大学生、从业者而言,选择一个热门主流的职业方向,是未来发展的关键因素之一。 嵌入式作为当下高薪岗位之一,转行、转专业的人群已经占据求职
    发表于 01-03 13:44

    嵌入式好找工作吗?

    功能稳定且智能化运行,再到工业领域里的自动化生产线,靠嵌入式设备精准控制生产流程,还有医疗设备中那些辅助诊断、精准治疗的仪器等。可以说,它横跨了消费电子、汽车、工业、医疗等众多行业行业覆盖面如此之广
    发表于 12-16 15:43