AI设计主要参与方都是功能强大的CPU,GPU和FPGA等。微型微控制器与强大的人工智能(AI)世界有什么关系?
但随着AI从云到边缘的发展,使得这一观点正在迅速改变,AI计算引擎使MCU能够突破嵌入式应用可能的极限,嵌入式设计已经能够提高网络攻击的实时响应能力和设备安全性。
支持AI的MCU
云计算推动了对具有AI功能的MCU的需求;它减少了数据传输所需的带宽,并节省了云服务器的处理能力,如下图。
配备AI算法的MCU正在应用包含对象识别,启用语音服务和自然语言处理等功能的应用程序。它们还有助于提高物联网(IoT),可穿戴设备和医疗应用中电池供电设备的准确性和数据隐私性。
那么,MCU如何在边缘和节点设计中实现AI功能?下面简要介绍了三种基本方法,这些方法使MCU能够在IoT网络边缘执行AI加速。
三个MCU + AI场合
第一种方法(可能是最常见的方法)涉及各种神经网络(NN)框架(例如Caffe 2,TensorFlow Lite和Arm NN)的模型转换,用于在MCU上部署云训练的模型和推理引擎。有一些软件工具可以从云中获取经过预训练的神经网络,并通过将其转换为C代码来针对MCU进行优化。
在MCU上运行的优化代码可以在语音,视觉和异常检测应用程序中执行AI功能。工程师可以将这些工具集下载到MCU配置中,并运行优化神经网络的推论。这些AI工具集还提供了基于神经网络的AI应用程序的代码示例。
AI执行模型转换工具可以在低成本和低功耗MCU上运行优化神经网络的推论,如下图所示。
第二种方法是绕过了对从云借用的预训练神经网络模型的需求,设计人员可以将AI库集成到微控制器中,并将本地AI培训和分析功能纳入其代码中。
随后,开发人员可以基于从边缘的传感器,麦克风和其他嵌入式设备获取的信号来创建数据模型,并运行诸如预测性维护和模式识别之类的应用程序。
第三,AI专用协处理器的可用性使MCU供应商能够加快机器学习功能的部署。诸如Arm Cortex-M33之类的协处理器利用了诸如CMSIS-DSP之类的流行API来简化代码的可移植性,从而使MCU与协处理器紧密耦合,可加快AI功能,如协处理相关和矩阵运算。
上述软件和硬件平台演示了如何通过根据嵌入式设计要求开发的推理引擎在低成本MCU中实现AI功能。这很关键,因为支持AI的MCU很有可能在IoT,工业,智能建筑和医疗应用中改变嵌入式设备的设计。