当前位置:首页 > 智能硬件 > 人工智能AI
[导读] 当我们考虑机器学习时,首先能够想到的是,通过服务器集群搭建的大数据中心和云平台,对于很多机器学习的应用来讲,这是一个存在了很多年的标准搭建方式。但近些年来,随着硬件能力的不断提升、物联网场景的出

当我们考虑机器学习时,首先能够想到的是,通过服务器集群搭建的大数据中心和云平台,对于很多机器学习的应用来讲,这是一个存在了很多年的标准搭建方式。但近些年来,随着硬件能力的不断提升、物联网场景的出现以及成本的下降,大量的应用场景从云端转移到了边缘。在这样的模式转换中,随着智能化越来越接近事件发生地而远离云端,节点设备会变得更加自主化。这些变化导致了很多有趣的应用产生,例如无人机、ADAS辅助驾驶以及可移动的智能机器人,而且这仅仅是个开始。

在本文中,我们将在系统设计层面,综合阐述如何考虑在边缘部署人工智能。通常,一个比较典型的思路,可以归纳为对于任务的理解、算法的选择,以及对于推理模型的训练和部署。

目标:问题定义

架构:选择正确的工具

应用的需求和限制是驱动带有人工智能算法的最终产品标准的因素。这些需求和限制,与鲁棒性、推理时间、硬件资源以及服务质量相关,这对于考虑边缘方案的部署以及嵌入式平台的选型至关重要。鲁棒性代表了模型输出的精确度,以及防止运算结果过度拟合的能力。一般来讲,模型越复杂(深度和层级),数据集越丰富,鲁棒性越好。

推理时间的需求完全取决于应用场景。对于有些场景,例如自动驾驶,考虑到功能安全因素,需要机器视觉系统的响应时间在毫秒级别,但对于测量值变化缓慢的传感器融合系统来说,需求就没有这样苛刻。推理的速度取决于模型的复杂度,模型的层级越多,需要的计算就越多,从而导致更长的推理时间。这个问题可以通过选择算力资源更为丰富的方案来规避,例如嵌入式GPUDSP,以及带有OpenCL内核的神经网络加速器。

模型的内存占用是随着神经元数量以及权重的增加而增加的,每个权重都需要作为数据存储在内存中。为了减小模型占用的内存,以及解决一些硬件细节问题,可以将权重从浮点数或双精度数转换为整数进行存储。服务的质量以及系统的可靠性取决于模型的部署。在云端为基础的方案里,连接的需求使得系统的可靠性存在疑问,一旦服务器无法可靠连接,服务就无法获取,决策也就无法正常处理。在这种情况下,边缘部署就成了唯一可行的方案,例如自动驾驶汽车以及需要隔离的环境。基于机器学习的算法,本质上是概率系统,其输出具有一定的不确定性,理解这一点很重要,但在许多情况下,AI系统所做出的预测精准度和可靠度,早已超过人类的判断。至于系统设计是否需要90%乃至99%的概率,是由应用需求决定的。

最后,设计者应该根据解决方案的开发难度以及可扩展性的需要,来考虑采用何种硬件和软件。举例来说,在NVIDA Jetson这个AI应用嵌入式开发平台上运行模型,软件可以无缝运行,从而大大降低软件开发成本。

Jetson AGX Xavier开发套件

数据 & 训练:获取正确的结果

训练模型有很多种方法,简要来说,分为监督学习、无监督学习以及增强学习。对于监督学习,首先数据集会被标注,就图像分类而言,图像和标签是成对出现的。图像通过模型的各层向前传播,每层增加一点抽象,最终得到分类值;输出的分类值与标签进行比较,得到的误差反向传播到模型初始以更新权重。而对于无监督学习,数据集不会被标注,模型会开启自我寻找模式。对于增强学习,电子游戏是个最好的应用用例,增强学习的目标是在与环境的交互过程中,通过一系列的后续行为,对环境的反馈作出响应,达成回报最大化,例如执行一系列从一个地方移动到另一个地方的连续控制决策。

部署和推理:尚未解决的挑战

大多数的深度神经网络会在大型的GPU 上完成训练。当模型被用来进行推理时,例如通过神经网络的正向传播,以获得对单个样本的预测或者分类,可以使用的平台有很多种。我们可以将用于推理的模型部署在微控制器为Cortex M、Cortex A的设备上,这些微控制器带有GPU、神经网络加速器、FPGA 或者专有ASIC,硬件的选型取决于应用的需要,而它们的区别在于运算能力、功耗以及成本。选择方案时,最棘手的一点在于如何有效且简易地部署模型。一般来说,模型训练通常会在诸如Tensor Flow或者Caffe这样的深度学习框架下完成,这些训练好的模型必须转变成在边缘设备的推理引擎上能够运行的格式。举例来说,使用开放式神经网络交换格式(ONNX),或者是在Cortex M 上使用的ARM CMSISNN文件格式。除此之外,模型还需要根据边缘设备的特点进行进一步的优化,可以通过剪枝(删除接近零的值)、量化(从float32移动到integer)或压缩来优化权重。

模型在边缘设备上的部署和运行,最终还是需要通过推理引擎来实现,这取决于设备供应商为OpenCV或者OpenCL等框架支撑所提供的目标处理器以及组件。令人遗憾的是,这个市场目前碎片化很严重,我们可以看到很多不同版本的SDK 以及工具,并没有一个统一的标准来指导如何在边缘节点上部署和推理。因此,业界对于类似于ONNX这样的统一标准更感兴趣,期待标准化的进一步演进。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭