基于边缘的机器学习应用开发正变得愈发容易
由于机器学习 (ML) 开发工具越来越多,特别是那些来自亚马逊网络服务 (AWS)、谷歌和微软等领先云服务提供商的工具,使得机器学习开发变得非常容易上手。尽管这些工具让机器学习开发变得简单,但对于物联网 (IoT)、智能家居、工业自动化系统和其他嵌入式领域,它们却不一定能够让基于边缘的应用更容易实现。不过,针对嵌入式系统,市面上开始出现越来越多的硬件和软件资源,可以解决其 ML 应用开发的独特需求。
“大型 ML”的大部分重点是在大规模、可升级的图形处理单元 (GPU) 和服务器农场上运行的较大模型和企业级应用。相比之下,针对边缘应用的“tinyML” 提出了一套完全不同的问题,部分来自微控制器 (MCU) 的资源限制,部分是因为应用的实时要求。
过去,设计 MCU 时只需满足相对简单的储存器和外设要求。对于大多数嵌入式应用来说,性能往往不是一个很大的问题,指定周期时间最多只有几毫秒。现在,在较传统的嵌入式应用中,对更强大的资源、连接性和性能的要求已经增加。此外,人们越来越希望在嵌入式应用中以最小的延迟执行 ML 算法,这极大地改变了对高级 MCU 的需求和期望。因此,半导体制造商已经推出了高级 MCU,如 NXP 的 i.MX RT1170 跨界 MCU,这些 MCU 提供的特性和功能在不久前还被视为服务器级特性。
硬件基础能力对于实现基于 ML 的嵌入式应用至关重要,但提供这样的应用最终取决于,成功开发基于 ML 的边缘解决方案所需的相对大量的软件。除了实现处于几乎所有嵌入式系统核心的数据采集软件外,开发者还需要建立一个合适的机器学习模型,并在 MCU 上部署相应的推理模型(图 1)。
图 1:基于 ML 的边缘应用的实现增加了 ML 特定的项目阶段,使得开发工作超出了人们较熟悉的构建基于传感器的智能产品所需的任务。(图片来源:NXP Semiconductors)
对于要在边缘实现基于 ML 的应用的嵌入式开发人员来说,创建 ML 模型所需的额外工作可归结为四个关键任务:
- 定义数据集:在这个关键的初始步骤中,开发人员要决定其应用的数据源以及所需的特征。
- 定义模型:在这里,开发人员确定需要调校的模型拓扑结构和超参数。
- 训练模型:这个计算密集型步骤通常要在强大的服务器和 GPU 农场上进行。
- 生成推理模型:在实际部署之前,开发人员要将训练模型转换为优化的推理模型,删除仅在训练期间需要的模型特征或对推理贡献很小或没有贡献的模型特征。
单独来看,这些步骤完全在嵌入式开发人员的能力范围之内。在实现传感器和数据采集系统时,开发人员对数据的了解足以处理企业级 ML 应用中通常需要的数据科学家角色。但是,除了这个最初的步骤之外,开发人员在很大程度上会自设陷阱,忙于模型定义、训练和转换。
早期应用者已经迅速利用一些零碎的技术,快速打造出了合适的边缘 ML 模型。像 TensorFlow Lite 这样的库,就将谷歌的开源 TensorFlow 生态系统的大部分功能带到了资源有限的移动和边缘系统。像 Arm 通用微控制器软件接口标准这样的开发库——神经网络 (CMSIS-NN) 及其神经网络 (NN) 软件开发工具包 (SDK),利用的是 Arm GPU 和 中央处理单元 (CPU) 的硬件能力。Facebook 的 Glow ML 编译器和微软的 ONNX Runtime ML 优化器这样的工具也有助于推理模型的生成。之于部署,像 Au-Zone Technologies 的 DeepViewRT 推理引擎这样的专业软件提供了一个生产就绪型推理引擎,可以简化模型转换。
对于为基于 MCU 的 ML 应用开发而设计(或能适应其开发)的可用软件库和工具来说,我在这里提到的软件仅仅触及了其表面。边缘 ML 有一个较有趣的趋势,就是出现了直接来自 MCU 半导体制造商的 ML 开发解决方案。
尽管 ML 研究人员可能更有能力创造特殊的 ML 算法,但 MCU 供应商有独特的资格,来解决为基于 MCU 的系统创造有效 ML 开发环境的工程问题。像 NXP 的 eIQ 工具包这样专门为这个问题设计的工具,有助于加快旨在运行在 MCU 上的 ML 模型的开发(图 2)。
图 2:NXP 的 eIQ 工具包之类工具的出现,极大地简化了基于 MCU 的边缘 ML 应用的开发。(图片来源:NXP Semiconductors)
结语
由于嵌入式设备的独特要求,边缘 ML 应用的开发可能无法达到企业级 ML 应用所追求的那种交钥匙式部署,但它已经获得了使许多智能设备得以运行的那种硬件和软件支持。
在我的下一篇文章中,将深入探讨边缘 ML 开发和 NXP 的 ML 生态系统,并揭示在边缘部署 ML 应用方面它已变得如何得容易。它可能还不是完全的交钥匙工程,但边缘 ML 正变得更加容易获得和部署。
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum