虽然人工智能和机器学习计算通常在数据中心中大规模地执行,但是最新的处理设备使得能够将AI / ML能力嵌入到网络边缘的IoT设备中。边缘的AI可以快速响应,无需等待云的响应。如果可以在本地完成推理,则无需进行昂贵的数据上传或云中昂贵的计算周期。一些应用程序也受益于对隐私的担忧减少。
在两种最常见的应用程序,语音处理和图像识别之外,机器学习当然可以应用于来自几乎任何类型的传感器的数据。在当今的智能工厂中,机器学习技术可能适用于工业过程控制中的复杂传感器融合,或工业机器中的异常检测和预测性维护方案。
AspenCore Media深入研究了人工智能在边缘的应用,超越了收集大部分媒体的语音和视觉系统。这个特别项目包括: 创新推动人工智能走向边缘, 人工智能会来到测试行业吗? 而 如何改变AI边缘计算的未来。
MCU异常检测
恩智浦在本月早些时候的Microsoft Build开发者大会上展示了一个用于此目的的模块。30x40mm
电路板将少量传感器与功能强大的微控制器相结合 - i.MX RT1060C是一款高性能Cortex-M器件,运行速度极快,可达600MHz,并具有连接功能(见图1)。
图1. NXP AI驱动的工业异常检测模块,正面和背面。(来源:XXX)
“我们的想法是将这块电路板连接到旋转电机,压缩机或电机上,但它也可以用于检测矿井中的气体这样简单的事情,”物联网执行董事兼总经理Denis Cabrol表示。安全解决方案,恩智浦。“有两种模式:首先,设备在正常运行的系统上收集数据,并创建正常模型。然后部署设备...我们将看到由于温度或设备的正常磨损导致的小变化,但是如果出现问题,轴承开始分离,或者某些东西失去平衡,我们可以派技术人员或关闭设备马上就下来了。“
可以在GUI中看到AI供电异常检测的结果(图2)。
图2.恩智浦异常检测模块的GUI。在右边,蓝点代表正常操作,粉红色三角形是正常操作的极限,红点代表异常。(来源:恩智浦)
恩智浦模块既可以完全在本地运行机器学习,也可以在其MCU上进行培训和推理,也可以连接到Microsoft Azure并将所有数据发送到云中进行培训,推断,或两者兼而有之。
“实际上,最佳用例介于两者之间; 使用本地智能处理大量数据,因为大多数时候,本地处理器有足够的能力来决定一切都很好,“Cabrol说。“那么你只需要将一些数据字节发送到云[具有运行状态],而不是原始数据。”
以这种方式使用,这种微控制器能够在边缘运行训练任务。这在此应用中很有用,因为机器的确切环境会因放置位置而异。需要进行培训以创建正常操作的图片。
在为此类应用选择MCU时,有几点需要注意。
“你需要拥有正确的处理能力才能使培训尽可能准确,而且你需要拥有大量的内存,”Cabrol说。“我们这里的设备介于512kB和1MB之间; 对于具有大量SRAM的MCU,您可以创建一个非常大的模型。“
如果应用程序更简单,这里讨论的模块将扩展到性能较低的MCU,但在实践中,工业应用可能不会非常成本敏感。但是,如果设备是电池供电的,较小的MCU可能有助于提高能效。
在这种情况下,MCU如何与MPU进行比较?虽然微处理器提供了更简单的解决方案,但微控制器仍然在外形和功耗方面取得成功,Cabrol表示。
“如果你想要或多或少无限的性能,你不想花太多时间优化你的软件,或者你只是想快速尝试一下,使用微处理器 - 它运行Linux,它有更多的处理能力,它有DRAM,“他说。“但这是以牺牲更高的功耗为代价的,而且成本更高,通常占地面积更大。所以它可能不会是电池供电,你需要至少另外6美元的硬件成本,不包括两个芯片之间的价格差异[用于支持硬件,如DRAM,引导ROM,闪存,通常是PMIC] “。
FPGA AI加速
FPGA也适用于边缘的AI,因为它们可以提供可编程的硬件加速。虽然大型高端FPGA可能对我们的智能工厂示例而言过于苛刻,但可用的小型可编程逻辑器件可能符合要求。莱迪思提供极低功耗的FPGA,这些FPGA已经在智能
手机等设备中出货:iCE40 UltraPlus的功耗仅为1mW(见图3)。
图3.较小的FPGA器件可能适用于边缘应用上的AI。(来源:Lattice Semi)
“这类FPGA非常适合这些非视觉的低端传感器处理应用,”莱迪思
半导体部门和解决方案营销高级总监Deepak Boppana说。“对于工厂环境中可能存在的压力和热传感器,它们的性能不是很高。我可能会把它们放在两个极端之间[视觉和语音处理之间]。“
Boppana指出虽然AI推理可以在智能工厂的边缘设备上完成,但如果数据在某种网关中汇总,则可能需要更多的处理能力 - 扩大馈入每个网关的传感器数量意味着性能要求加起来。
“在传感器融合场景中,您可以为每种传感器设置单独的神经网络,或者您可以先进行某种传感器融合,然后在组合模型上应用通用神经网络。所以有不同的方法,“他说。
与此应用中的MCU相比,FPGA具有多种优势。它们可以提供界面灵活性,这在同一系统中使用许多不同类型的传感器时非常有用,并且它们可以帮助进行未来验证。
“MCU的问题在于I / O的灵活性和性能,”Boppana说。“关于性能是否足够,总会有一个问号,因为这些工业系统中的一些通常不会被替换10年或更长时间。因此,具备未来验证功能非常重要,能够根据新要求进行扩展,并具有实现更新算法的灵活性和性能余量。这是你可以更有效地利用FPGA获得的东西。“
莱迪思的AI产品基于其sensAI硬件/软件堆栈,可在两个不同的FPGA平台(iCE40 UltraPlus和ECP5)上运行。该堆栈包括软件工具,编译器和参考设计,虽然它基于视觉应用程序,但仍有将其应用于其他应用程序的余地(见图4)。
图4.莱迪思的sensAI硬件/软件堆栈包括两个低功耗FPGA平台,IP内核,软件工具和参考设计。(来源:Lattice Semi)
GPU深度学习
如何使用更专业的硬件加速器,如GPU?GPU经过高度优化,可以并行执行大量数据的简单操作,使其成为AI的有效选择。然而,虽然GPU制造商的目标是人工智能处于边缘,但他们有点面向计算机视觉和物体识别应用。
Nvidia几周前发布了Jetson Nano,这是一个小型主板,有两个版本:一个99美元的开发套件和一个129美元的生产就绪模块(见图5)。它包括128个CUDA-X GPU内核,4核CPU和4GB内存。
图5. Nvidia Jetson Nano板有开发套件(左)和生产就绪版本。(来源:Nvidia)
Nvidia智能机器产品管理负责人Murali Gopalakrishna说:“我们称之为低功耗人工智能计算机,因为有史以来人们第一次能够以99美元的价格进行有意义的人工智能,有意义的深度学习。”
一个相对基本的应用程序,如我们的非视觉智能工厂示例,可以在GPU上运行吗?
“是的,绝对,”他说。对于简单的应用程序,系统可以非常快速地运行,“但该应用程序价值99美元?如果没有,您可以使用微控制器。这一切都归结为用例,你想要多大的灵活性,你想要多大的扩展,以及你希望解决方案的未来证明。“
Jetson平台,包括Nano和Nvidia的边缘GPU,TX2,支持所有类型的神经网络。
“GPU非常灵活,”Gopalakrishna说。“GPU使您能够[比定制SoC或定制ASIC更多的东西] ...如果您使用神经网络来解决问题,并且您需要灵活性,性能和速度,那么Jetson是正确的选择。如果你有一个非常具体的需求,非常特别适合用例,除了那个用例你不关心任何东西,那么你可以使用FPGA或[Google] TPU ...如果你想将来证明它,并且不断改进它,如果你想拥有使用任何网络和多个独立运行的网络的灵活性,那么选择Jetson Nano。“
在GPU的边缘进行培训当然是完全可能的,因为正如Gopalakrishna所补充的那样,云基础设施中使用的相同GPU核心与边缘设备相同。这只需要有足够的记忆和足够的时间来完成培训过程。
最后,机器学习模型是算法,因此可以在任何类型的处理器上运行。针对确切应用进行优化意味着要考虑所需的内存量,可用的电量,如何进行培训以及需要多长时间,以及未来验证的可能性。大多数MCU,MPU,FPGA和GPU的主要供应商都有可用于嵌入式AI的解决方案,以及软件工具等资源,可用于最基本的复杂AI应用。
本文是AspenCore Media深入研究人工智能应用的一部分,超越了收集大部分媒体的语音和视觉系统。有关AI超出语音和愿景的硬件,实施和影响的进一步见解,请查看特殊项目中的其他文章。
将
AI推向边缘的创新 AI将允许开发人员实现更复杂的嵌入式系统行为,新工具允许更多开发人员实现AI。
AI会来测试行业吗?
人工智能和机器学习正在逐步进入半导体测试领域,但尚未进入功能系统测试领域,至少目前还没有。
AI如何改变边缘计算的未来
虽然将AI与边缘计算相结合是有意义的,但硬件和软件组件需要解决几个挑战,包括功耗,处理能力,数据存储和安全性。
AI使数据存储更有效地进行分析
将数据转换为智能需要分析。正如这个概念验证演示所示,在存储控制器中实现的AI可以大大加快分析速度。
连接性仍然是人工智能主流化的核心,机器学习工作负载
有一种竞赛可以使AI结果具有相关性,可靠性和易用性。只有那些拥有最佳机器/深度学习基础设施的AI模型的人才能从最大的数据集中获益。