作者:贸泽电子Mark Patrick
云计算具有许多优势,例如可以灵活地工作,包括在家中进行高效率且富有成果的工作(在新冠大流行期间这些非常重要),并且使更多人可以使用人工智能(AI)和大数据等应用的强大且先进功能。作为物联网的中心,云计算需要收集来自环境传感器,工业执行器,自动驾驶汽车等数十亿个物联网端点的数据,因而云计算是使个人和企业享受智能世界优势的重要动力。
但是云计算也有缺点。要维持互联网连接非常耗能,对于小型设备而言,在技术上可能很难实现,或者非常昂贵。如果每一比特数据都需要传回云端,那么网络可能会因M2M流量而堵塞。此外,过多依赖云计算会导致延迟,需要提交的服务因此也会延迟,不能使IoT设备实时确定地运行。此外,通过网络传输数据并与其它云计算应用共享数据也会带来隐私和安全性问题。
处理能力需求追踪
处理数据并根据结果做出决策,这种过程所需的计算能力正在从云端迁移到网络边缘。从企业计算或运营商的角度来看,边缘计算与核心网络外围的网关设备相关联,这可以进一步细分为近端基础设施,通常负责通用服务,而处在在更接近最终用户的远端应用则变得更加具体化。
随着计算能力提高,边缘正在成为智能边缘。但是为什么要就此止步?将强大的计算功能进一步向外扩展以涵盖传感器和执行器、数据聚合器和网关等物联网端点,将创建嵌入式边缘。这样,新的解决方案应运而生,可帮助克服嵌入式设计人员面临的传统限制,包括功耗、计算性能、内存占用空间和物理尺寸等。
边缘处理能带来什么?
处理器技术的发展使之可以完成更复杂的任务,并提供更高的性能,同时消耗更少的电能,利用连续几代处理器所带来的进步,嵌入式边缘计算作为物联网处理的支柱将继续变得越来越重要。
尤其像工业4.0和自动驾驶这样影响巨大的产业趋势正在催生一些新应用,它们要求低延迟和网络独立性,而边缘处理则可以提供。这些示例包括机器视觉(见图1)和车辆导航等,通过在嵌入式系统上融入机器学习推理,可以进一步加速和改善这些应用。
当今机器学习的性能可以胜过传统的机器视觉应用,此外还支持其他功能。自动导航车辆(AGV)不仅可以简单地检测行驶路径中的物体,而且可以识别和分类它们。随着工厂操作空间变得越来越拥挤,需要容纳越来越多的员工和移动或静态机器人,这已成为越来越重要的功能。
同样,机器学习技术可以提高工业状态监视系统中模式识别的效率,从而提高诊断准确性。其他一些可以从本地机器学习功能中受益的应用包括智能农业,能够通过图像识别训练以自动识别农作物病害,而无需Internet连接。
使用TinyML进行机器学习
为了在嵌入式设备中实现这些功能,微型机器学习(TinyML)的概念正在兴起。TinyML包含了针对资源受限嵌入式系统而量身定制的机器学习框架,开发人员需要工具来构建和训练机器学习模型,然后对其进行优化以部署在诸如微控制器、小型处理器或FPGA之类的边缘设备上。
TinyML的工作原理体现在一些面向边缘的机器学习框架中,例如TensorFlow Lite(见图2)。这个非常流行且广泛使用的框架拥有一些工具,其中包括用于优化标准TensorFlow模型以在嵌入式Linux等目标设备上运行的转换器(converter),以及用于运行优化模型的编译器(interpreter)。
?
图2:Tensorflow Lite针对嵌入式部署优化的机器学习模型。
此外,针对微控制器的TensorFlow Lite是专门为内存极为有限的设备上运行机器学习而创建,内核运行时仅占用几KB内存,并且已在基于Arm?Cortex?-M内核的许多微控制器上进行了测试。TensorFlow Lite工具可提供多种方法来减小在嵌入式设备或微控制器上运行的TensorFlow模型大小。
边缘推理解决方案
领先的微控制器供应商目前正在为部署AI推理和机器学习提供有效的生态系统和流程,您可以获得这样的嵌入式微控制器,其架构设计允许部署神经网络以运行机器学习算法。
新一代专为机器学习推断而设计的微控制器正在不断出现。TI Sitara?处理器系列中的AM5729即是一例。AM5729除了具备两个Arm Cortex-A15内核和一个Cortex-M4嵌入式内核外,还包含四个嵌入式视觉引擎(EVE),能够支持深度学习网络以确保较高的推理性能。TI深度学习(TIDL)软件框架和TIDL接口可帮助开发人员在嵌入式处理器上构建、训练和部署神经网络。
意法半导体(STMicroelectronics)用于神经网络的工具箱包括STM32Cube.AI转换工具,用于转换使用各种流行框架创建且经过训练的神经网络,该工具会自动生成针对STM32 Arm Cortex-M微控制器优化的程序库。AI生态系统还提供软件功能包,其中包含必要的低级别驱动程序和中间件库,以部署经过训练的神经网络。还有用于音频场景分类和人员活动检测的示例应用,可帮助用户快速学习如何使用嵌入式AI。ST工具箱还提供专用的移动应用程序,以及ST的SensorTile参考硬件,用于运行推理或数据收集。 SensorTile是包含环境和周边传感器的交钥匙板,是一种预先集成的即插即用模块。
Microchip可为其微处理器、FPGA和诸如SAM D21系列之类的32位微控制器提供机器学习支持。该公司的工具可帮助开发人员使用TensorFlow、Keras和Caff以及TinyML框架(例如TensorFlow Lite)等流行的机器学习框架。在使用MPLAB?系列工具应对微控制器或微处理器时,开发人员可以利用ML插件和MPLAB Data Visualizer等工具来捕获数据,以利用Microchip合作伙伴的工具来训练神经网络,其中包括可以自动搜索AI模型,帮助分析传感器数据并生成程序库的Cartesiam Nano Edge AI Studio,以及具有Edge Impulse Inferencing SDK C++库的Edge Impulse Studio,可将TensorFlow Lite用于微控制器。用户可以使用Microchip MPLAB X IDE将项目部署在所选MCU上。
瑞萨电子(Renesas)的嵌入式人工智能(e-AI)平台包含多个概念,可帮助在端点设备中实现AI。Renesas RZ/A2M 微处理器采用动态可重配置处理器(DRP)技术,能够将硬件加速器的性能与CPU的灵活性相结合,以实现高速、低功耗的机器视觉应用。该平台还提供了包括e-AI转换器在内的工具,可以将经过训练的神经网络模型推理处理转换,并导入到可以在e2studio IDE C / C ++项目中使用的源代码文件。可以使用TensorFlow之类的开源深度学习框架来训练神经网络。
此外,创客(makers)、年轻工程师和专业人士现在都可以使用Google AIY自己动手制作AI套件和Google Coral本地AI平台来尝试构建智能设备。 AIY套件具有一个智能相机,该其中包括Raspberry Pi板和摄像头、一个Vision阀盖(bonnet)、必要的电缆和按钮,以及一个简单的板式外壳,可让用户快速了解图像识别。类似的智能扬声器套件可帮助开发语音识别技术。
Google Coral能够提供多种硬件选择,包括开发板、迷你开发板和USB加速器,可以为用户提供将AI“嵌入”现有产品的协处理器。该工具包支持TensorFlow Lite,所有板均包含Google的Edge TPU,这是与Google Cloud TPU相关的张量(tensor)处理单元,该处理单元经专门设计,占位面积小,功耗低。
结论:边缘计算的未来在于嵌入式智能
提高网络边缘设备的计算能力有助于确保可靠、高性能和保护隐私的物联网应用。从网络网关和聚合器到IoT端点等各个位置的设备都可以视为边缘设备,人工智能正在得到越来越多应用,以满足对性能和效率的需求,包括用于微控制器部署的机器学习解决方案,例如开源TinyML框架和领先制造商提供的经过优化、加速的微控制器架构。借助于各种工具、平台和即插即用工具包,无论是初学者还是经验丰富的专业人员,所有开发人员都能够探索各种可能的应用开发。