当前位置:首页 > 智能硬件 > 人工智能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这样的统一标准更感兴趣,期待标准化的进一步演进。

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

北京——2024年4月30日 亚马逊云科技持续引领云上数据服务创新,助力企业构建全面的数据基座以充分发挥数据潜力,加速生成式AI技术落地。在生成式AI时代,数据是企业脱颖而出的关键——基础模型依赖于大规模高质量数据集,生...

关键字: 生成式AI 数据 模型

上海2024年4月16日 /美通社/ -- 4月14日,为期四天的第89届中国国际医疗器械博览会(CMEF)盛大收官。澳鹏Appen很荣幸再次作为唯一的人工智能训练数据参展商参与此次"航母级"规模医疗...

关键字: APP 医疗器械 PEN 模型

福州2024年4月16日 /美通社/ -- 4月15日,第61届中国高等教育博览会(以下简称“高博会”)于福州隆重开幕。索贝以“视听新体验•数智向未来,让知识传递更加精准高效”为主题,携全新升级的智慧教育资源管理平台、课...

关键字: 模型 数字化 AI算法 质量评估

该实验室的创新技术能够增强人工智能边缘解决方案,提高神经网络能力

关键字: 人工智能 神经网络

机器学习将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对机器学习的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 机器学习 神经网络 支持向量机

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

未知语音经过话筒变换成电信号后加在识别系统的输入端,首先经过预处理,再根据人的语音特点建立语音模型,对输入的语音信号进行分析。

关键字: 语音识别 语音 模型

通过大量的数据,训练出一个能处理此类数据的模型,使得这个模型可以根据已知的数据,准确率很高的判断出未知的数据,从而使得人类能够采取正确的方法去处理某些事情。

关键字: 机器学习 模型 图像

深度学习需要大量的计算。它通常包含具有许多节点的神经网络,并且每个节点都有许多需要在学习过程中必须不断更新的连接。换句话说,神经网络的每一层都有成百上千个相同的人工神经元在执行相同的计算。

关键字: 机器学习 神经网络 TensorFlow
关闭
关闭