选择边缘ML应用程序硬件的注意事项

描述

  随着边缘机器学习 (ML) 应用的不断发展,EE 需要了解边缘的

ML,尤其是在处理和处理硬件方面。

  随着边缘的日益扩散 机器学习

技术上,工程师有必要了解什么是边缘的ML以及不同类型的硬件如何适合其各种应用。这首先是一个定义问题。边缘节点不仅仅是依赖于云服务的设备,如果不合理详细地了解边缘的

ML 到底是什么(以及它的优点和缺点),就无法正确指定边缘 ML 产品/应用程序。

  在边缘使用 ML

的工程师必须在设计过程开始时考虑相关的应用功能和产品尺寸。这不是一个小考虑因素。不考虑这些基本设计注意事项的项目可能会遇到额外的设计周期和效率低下的问题,这些周期和效率低下会在整个成品的生命周期中级联。

  图 1 显示了边缘设备和应用程序的高级概述。

  处理器

  图1. 边缘和边缘设备的概述。图片由恩智浦提供

  为了解决这一基本设计问题,本文首先在边缘定义 ML,并探讨哪些处理设备适合此领域。然后,它检查了这些设备的处理能力问题,并以一个示例 ML

应用程序结束,该应用程序说明了设计人员如何开始考虑本文中讨论的一些注意事项。

  寻找合适的 ML 边缘设备的优点和缺点

  边缘节点(图 2)与仅依赖云服务进行计算的设备之间的区别在于边缘设备完成的处理。如果该处理步骤包括使用 ML 算法,则可以将设备归类为 ML

边缘设备。

  处理器

  图2. 边缘计算和终端节点的示例。图片由 恩智浦

  处理步骤可以像计算移动平均线或丢弃无效传感器读数一样简单。但是,在将数据上传到云之前,涉及更多应用程序可能会执行基于 ML

的任务,例如关键字检测或语音到文本转换。因此,边缘设备可以在本地执行所有处理,也可以使用混合方法,在云中进行本地预处理和进一步处理以及数据存储。

  与纯粹基于云的方法相比,在边缘使用 ML 的好处包括减少延迟和提高安全性。边缘的 ML 允许实时推理,而从未上传到云的数据更难泄露。

  但是,与云相比,边缘设备的处理能力通常较低。因此,它们通常不能作用于工程师可以在基于云的应用程序中部署的相同模型。工程师必须仔细选择他们在边缘使用的算法和技术,以确保应用程序达到所需的性能水平。

  根据应用程序的不同,一些边缘节点还必须存储它们收集和处理的数据,然后再将其上传到云。云中的存储空间通常很充足。但是,在边缘,必须仔细考虑如何将外部存储添加到边缘节点以及它们连接到设备的存储介质类型。因此,他们应该研究具有不同连接选项的边缘处理器,以确保在为其应用程序选择存储介质时有更多选择。

  工程师还必须确保边缘节点存储的数据是安全的,并防止未经授权的访问和篡改。功能如 硬件加密/解密 支持可以帮助保护边缘的敏感客户和运营数据。

  机器学习的处理单元类型

  微处理器 (MPU) 和微控制器 (MCU)

近年来,整体处理性能和能力有了相当大的进步。此外,这些器件的成本和功耗显著降低。其中许多器件包括多个专用处理内核,用于并行执行各种特定任务。此外,针对物联网和边缘计算市场的微控制器通常还包含大量最先进的连接和安全选项。

  由于边缘处理能力的显着提高,边缘设备可以执行越来越多的以前在云中执行的 ML 任务。ML 推理通常发生在边缘,而云则提供增强的分析功能以增强 ML

边缘应用程序。

  微处理器依靠通过系统总线连接到处理器的外部支持设备来执行各种任务,而 MPU 将所有必要的功能集成到单个 片上系统 (SoC)。这样的 MPU

可以包含多个专用处理单元、闪存、 内存和只读存储器和外围控制器,例如以太网接口。MPU 可以使用内部处理单元执行边缘 ML 计算,例如:

  中央处理单元 (中央处理器)

  图形处理单元 (GPU)

  数字信号处理器 (数字通讯)

  神经处理单元

  工程师可以独立使用这些处理单元;但是,某些应用程序可能需要多个处理器才能协同工作。

  中央处理器和单片机

  大多数 CPU 和 MCU 包含多个处理内核,与单核架构相比,它们每秒可以执行更多的计算。它们针对快速执行复杂命令链进行了优化,这对于要求更高的 ML

应用程序来说可能很困难。

  显卡

  专用 GPU 擅长执行许多简单的计算,例如并行矩阵乘法。将它们用于 ML 应用程序时的一个问题可能是内存的可用性。虽然 CPU

通常可以访问系统中的大量 RAM,但由于访问速度更快、数据吞吐量更高,GPU 通常使用其内置视频内存。

  净动力单位

  工程师可以在其 ML 应用程序设计中使用 NPU,有时被某些制造商称为 NNP 或 TPU。这些专用电路实现执行 ML

算法所需的控制和算术逻辑块。NPU 可加速 ML 任务,并允许工程师实现更高级的用例,而这些用例是通用 CPU 或 GPU 等硬件无法实现的。

  处理能力是 ML 应用程序的关键考虑因素

  从高级角度来看,ML 可以分为三种常见的应用程序类型。这三个学科是:

  视觉

  音频

  时间序列

  如图3所示,通用CPU和MCU等处理硬件适用于一些更简单的用例(例如,静止图像识别和检测传感器数据中的异常)。然而,随着复杂性的增加、输入源的增加以及对更快推理结果的需求,工程师将不得不研究更专业的计算硬件,如

GPU 和专用神经处理单元。

  处理器

  图3: 概述运行各种 ML 应用程序所需的处理能力。图片由 恩智浦

  当然,嵌入式处理设备(如 MPU)由于物理尺寸较小,无法提供一些更复杂的 ML

应用程序所需的大量处理内核和内存。此外,客户希望将所有必要的功能组合在一个封装中,以减少嵌入式设计的BOM。此要求进一步减少了用于其他处理内核的可用空间。此外,大多数物联网应用需要相对较小、高效且具有成本效益。

  在大多数情况下,边缘 ML

应用程序的限制因素很可能是特定算法的模型大小和内存要求,因为经济高效的本地处理器可用的内存量通常很小。每个应用程序都有一个盈亏平衡点,在边缘添加额外的处理能力没有多大意义。在这一点上,提高边缘处理能力的成本超过了收益。

  因此,只有在应用程序达到一定的复杂性限制之前,在边缘添加计算能力才可行。除此之外,工程师应该研究云的高级数据分析功能如何潜在地增强边缘的处理能力。

  选择合适的边缘处理器:ML 应用程序示例

  许多用例允许工程师通过添加 ML

边缘功能来增强现有应用程序。可能的应用范围从智能家居领域到工业物联网(IIoT)和工业4.0,再到互联城市基础设施和汽车应用。

  例如,假设有人在高速公路上安装基于自动视觉的道路通行费支付和交通违规检测系统。此用例在边缘将云技术与 ML 相结合具有许多潜在点。

  这样的系统必须可靠地检测接近某个点的每辆车,例如入口或出口坡道。在此示例中,边缘设备监视接近坡道的每辆车。然后,系统必须对坡道上的每辆车(例如,汽车、半卡车、公共汽车、摩托车)进行正确分类,因为不同的道路税法规可能适用于各种类型的车辆。司机在支付车辆通行费时可以在地方当局注册车牌。然后,边缘设备必须检测通过检查点的每辆车的车牌号。然后,系统可以将收集到的信息存储在本地,然后从云中的数据库服务器请求数据,以检查是否允许检测到的车辆使用道路。出于隐私原因,

系统不应上传通过检查站的所有车辆的车牌。相反,它只将违规行为发送到云端进行进一步处理,例如,向车主发送罚单。

  该系统未来可能进行的调整还可以检测潜在问题,例如出口匝道上的交通拥堵,并通过打开高架标志来警告即将到来的司机。随着公共道路上联网车辆数量的增加,还可以使这些边缘节点与汽车通信以发送警告或其他消息。

  在此示例中,需要通过边缘处理实时分析和适当处理多个数据馈送。当车辆经过摄像头时,系统必须监控和分类视频流中的车辆,并且视频需要具有足够高的分辨率和帧速率。根据图

3,每个这样的应用程序都需要一个能够处理大约两个 TOPS 的 ML 处理器。此外,边缘节点应该能够安全地存储敏感的私人信息并将其上传到云服务器。

  总之,在边缘应用程序中为此 ML 正确指定的设备应提供以下功能:

  用于实时图像特征检测的 GPU 或 NPU 加速器

  用于运行应用程序逻辑的高效主核心

  用于与外部高分辨率摄像机通信的接口

  连接外部工业级设备的连接选项,例如头顶标志和警告灯

  用于建立云连接的以太网/无线功能

  防止未经授权的篡改的安全功能

  ECC 等可靠性功能

  这些功能(以及更多)在 恩智浦 i.MX 8M Plus 和下面的图 4。

  处理器

  图4: 此框图总结了 i.MX 8M Plus最重要的特性和功能块。图片由 恩智浦

  恩智浦 i.MX 8M Plus:在边缘实现机器学习

  假设的简单自动车牌检测算法可能包含四个主要步骤。这些步骤是图像采集和预处理、车牌提取、分割和字符识别。经济高效的高清摄像头监控高速公路匝道的入口。由于相机是一种经济高效的单元,因此无需执行任何预处理即可输出RGB拜耳图案。

  恩智浦 i.MX 8M Plus应用处理器包含一个双摄像头ISP,支持简单的 CMOS传感器

以及执行更精细预处理的相机。额外的内置去扭曲引擎提供高性能的去扭曲处理,以校正鱼眼镜头和广角相机镜头引入的失真。尽管 i.MX 8M的内置ISP可以处理高达60

FPS的高清视频流,但此应用程序每秒只能捕获和处理约30帧。降低的帧率应该仍然会产生令人满意的结果,而降低的计算需求和降低的数据吞吐量将进一步提高每个边缘节点的效率。

  一旦ISP完成图像处理,i.MX 8M

Plus的片上GPU可以执行进一步的图像处理和操作步骤,例如将捕获的相机图像的颜色信息转换为灰度图像,然后生成二进制黑白图像。最后,GPU

可以通过创建较小的副本并应用混合缺陷的过滤器来进一步准备图像,例如由车牌中的污垢或螺丝引起的缺陷。

  然后,应用处理器对完整的预处理输入图像执行特征检测,以查找图像中的车牌。在这里,工程师可以从他们希望系统检测的各种功能中进行选择。突出特征可以是车牌的背景和字体颜色、形状或其他特征,例如国家/地区或州名称。但是,这些取决于此系统将运行的位置。

  无论哪种方式,都有几种方法来检测图像中的特征,例如,定向梯度直方图(HOG)和应用处理器的 ARM Cortex-A53 主 CPU

可以执行此步骤。一旦主CPU验证图像中是否存在车牌,应用处理器的2.3 TOPS

NPU就可以利用DNN来执行字符和其他特征识别。输出可能包含国家/地区、州和车牌号等信息。

  然后,系统可以存储数据以供以后处理。一旦检测到违规行为,设备就可以加密提取的信息并将其上传到云服务器进行进一步处理。恩智浦 i.MX

8M的两个千兆以太网接口(其中一个包括TSN支持)允许边缘节点将大量数据上传到云端进行进一步处理。该器件增强的片上安全功能可确保敏感用户信息的机密性和完整性。

  可靠性和安全性是工业应用中需要考虑的另外两个重要方面。i.MX 8M Plus 在 DDR RAM

接口中提供内联纠错码,以确保高可靠性并支持系统级安全完整性等级 (SIL) 认证。安全启动、加密启动、硬件防火墙和运行时完整性检查器 (RTIC)

等安全功能有助于防止可能危及嵌入式系统安全性的各种攻击,包括硬件逆向工程、恶意软件插入、修改/替换设备映像和版本回滚攻击。

  总结 ML 边缘处理注意事项

  就像任何其他软件项目一样,了解边缘基于 ML

的应用程序的要求是成功项目的关键,不会超出范围。一旦工程师确定并了解项目的需求,他们就可以调查合适的硬件。

  随着处理能力的提高和边缘设备功能越来越强大,越来越多的基于 ML

的分析任务远离云。但是,边缘计算并不能替代云。相反,边缘和云计算相辅相成,同时减少延迟并提高安全性和可靠性。

  现代边缘处理器包含多个专用处理内核,这些内核针对特定任务进行了精确调整和优化。每种类型的处理器在用于 ML

应用程序时都有优点和缺点。虽然工程师可以单独使用它们,但在边缘实施复杂的 ML 应用程序时,这些专用处理设备在协同使用时可以发挥其真正的潜力。

  除了纯粹的处理能力外,还必须始终考虑要部署ML边缘节点的环境。某些用例(例如基于视觉的 ML

应用程序)可能需要与基于音频的应用程序不同的硬件,因此仔细评估所研究的处理设备的接口选项非常重要。额外的协处理器可能有助于减少所选设备主CPU的负载,工程师还应该识别并考虑边缘每个ML项目的安全相关方面。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分