嵌入式系统中的TinyML可以通过多种方式实现,通常是利用增强型MCU、DSP、AI加速器和NPU。目前的难题是,如何在TinyML的预算范围内,以最佳方式开发具有机器学习(ML)功能的嵌入式系统。
几乎每项新技术都会让业界浮想联翩,随之而来的是大量新工具、新软件和新硬件的发布,这一切都助长了市场快速增长和批量销售的梦想。
然后是现实。
TinyML就走到了这一步。
自TinyML于2019年首次发布以来,嵌入式行业一直在努力将TinyML带回家。然而,空谈误国,TinyML现实可行吗?
首先,嵌入式系统工程师并不一定是AI专家。在许多情况下,TinyML被证明是嵌入式系统设计师的第一个AI项目。
评估TinyML的真正市场潜力也不那么简单。
TinyML是ML的一个类别,其模型体积小,运行功耗低。然而,TinyML受制于AI软件和硬件的不断发展,这可能会模糊TinyML在市场中的定义。
在此背景下,Ceva前不久推出了“new TinyML optimized NPUs”,即Ceva-NeuPro-Nano NPU。Ceva确信,它拥有所有正确的技术要素,可以帮助系统设计者打入TinyML市场。
NeuPro-Nano是Ceva首次涉足TinyML市场。Ceva副总裁兼传感器和音频BU总裁Chad Lucien说,Nano的重点是“AI的设备和嵌入式实现”。
与Nano无关,Ceva此前发布了面向边缘AI市场的NeuPro-M,专注于生成式AI和大规模NPU实现等应用。M和Nano都属于Ceva的NeuPro NPU系列。
Lucien承认,业界尚未接受一个大家都遵守的统一的TinyML定义,因为许多玩家都在以不同的方式使用这个术语。Ceva坚持使用自己的术语,表示TinyML“功耗通常为1W或更低,支持每秒千万次运算(GOPS)”。
Ceva的NeuPro NPU系列提供了从数十GOPS到数千TOPS的IP组合。
AI软件栈
Ceva还推出了Ceva NeuPro Studio,这是一个专为NeuPro系列设计的AI软件栈。Lucien表示,该软件栈“围绕行业开放标准构建”,包括TFLM(TensorFlow Lite)和µTVM(microTensor Virtual Machine)。
客户的意见让Ceva认识到,“当今AI市场的痛点之一是缺乏跨产品组合的通用软件接口。”
Ceva的NeuPro Studio包括标准库,如经过训练和优化的TinyML模型的Model Zoo,涵盖语音、视觉和传感用例。
TinyML:爆炸式增长?
ABI Research是密切跟踪TinyML市场的公司之一。据ABI的行业分析师Paul Schell称,其最新的TinyML报告尚未发布,但“即将发布”。
Schell承认,ABI“尚未见证TinyML的爆炸式增长”。但随着其“采用率稳步上升”,他仍然保持乐观。“随着硬件和软件能力的不断提高,使用案例的数量也在不断扩大”。
Schell之所以对TinyML持乐观态度,有几个因素,其中包括更好的硬件的出现。同样重要的是,关键软件工具的易用性也得到了改善。
Schell还看好NPU,如Ceva的NeuPro-Nano IP。他说:“像NPU这样能够加速AI工作负载的创新,将使要求更高的神经网络能够在嵌入式设备上运行,特别是在机器视觉方面。从简单的音频和视觉检测到分类,如果没有NPU,以前需要更高的功耗。”
他补充说:“针对AI模型的软件压缩技术(如量化)的创新也扩大了可在嵌入式设备上运行的更高要求应用的数量。”
ABI还在MLOps和其他软件工具及平台的可访问性方面取得了进展。MLOps(Machine learning operations)是一套自动化和简化ML工作流程和部署的实践。Schell解释说,这些关键工具使“在云端训练的模型能够更快地部署到TinyML硬件上”。“这加快了实现价值的时间,使项目能够突破PoC阶段”。Schell强调说:“对任何TinyML芯片供应商来说,提供此类工具都已成为赌注。”
为什么要为TinyML提供NPU?
考虑到AI(包括TinyML)是一个不断变化的目标,芯片设计人员始终面临着艰难的选择。
ABI的Schell指出:“对于TinyML,‘机器视觉’和‘音频信号’用例是一个新出现的分歧(也可能是混乱)领域”,这为争论“迄今为止MCU可以实现的功能与需要NPU或其他加速器的高要求工作负载(如图像分类)”提供了素材。
在这种情况下,许多芯片公司通过各种芯片解决方案在嵌入式系统中使用TinyML。
例如,Ceva的Lucien说,许多芯片公司“都推出了自制的加速器,通常都带有硬连接的NPU”。但是,当这些供应商发现他们的芯片(专为特定的AI任务而设计)并不能涵盖一切时,他们就不得不设计一种新的加速器,或者立即采取一些不同的措施。“很多客户告诉我们,他们需要一个新的加速器,因为他们现有的加速器已经达到了使用寿命。”
另一方面,Lucien补充说,一些MCU和DSP“正在通过一些特殊的扩展来处理神经网络。然后,他们在旁边添加一个单独的NPU加速器,以产生性能良好的解决方案”。
这一方案似乎可以解决TinyML的性能问题。但实际上,剩下的将是一场编程噩梦,因为“现在你有了两个内核”,Lucien指出,“你必须处理在两个不同内核上实施软件的复杂性”。双核解决方案也让系统设计师头疼不已,包括“面积和成本影响,以及在双核之间来回移动数据的内存管理”。
对于Ceva来说,所有这些复杂问题都明确了它必须为TinyML市场的客户提供什么。Lucien强调说:“我们专注于一个完全可编程、自给自足的单核,它不是加速器。它不需要”单独的CPU或DSP来运行”。
他说:“有了Nano NPU,我们可以在同一个内核中高效地执行所有特征提取和神经网络(NN)计算。它充当控制器,运行DSP和音频代码。”
Lucien解释说,其完全可编程NPU的架构具有可扩展性,可以增加先进的ML处理能力。
Ceva称其“面向未来”,并吹嘘Nano可以支持最先进的ML数据类型和运算符,包括4位到32位整数支持和原生变换器计算。Nano还为所有用例提供终极ML性能,包括稀疏性加速、非线性激活类型加速和快速量化。
有了Ceva的Nano IP,TinyML可以广泛集成。Lucien说,它可以作为微控制器的NPU内核嵌入到微控制器中。Nano IP还可以与用于耳机、智能扬声器或音响的蓝牙SoC上的连接功能相邻。此外,Nano IP还可用于传感器本身或安装在传感器旁边。
竞争格局
尽管Ceva没有具体说明它是如何将自己的Nano IP与TinyML市场上的其他厂商进行比较的,但Ceva的明显竞争对手是Arm的Ethos。Arm率先发布了microNPU,这是一种新型ML处理器,旨在加速嵌入式和IoT设备的推理。
Ceva的Lucien没有透露具体细节,但他指出,NeuPro Nano为TinyML市场带来了一些其他公司没有的关键特性。
其中之一就是Ceva开发的AI压缩技术。Lucien指出,这项技术被称为“Ceva-NetSqueeze”,它采用压缩模型权重并将其送入NPU,无需额外的解压缩步骤。相比之下,如果采用双核解决方案,Lucien解释说可能需要将权重解压缩到内存中,然后重新压缩并输入NPU。
最终,NetSqueeze使Ceva的NeuPro-Nano NPU能够将内存占用减少80%,而内存占用是AIoT处理器的一个很头疼的问题。
NeuPro Nano的另一个优势是能耗。Lucien说,使用稀疏的非零权重进行计算可以节省能耗。但Ceva更进一步,“根据用例动态调整频率中的电压”。他补充说:“因此,当每个模型在执行网络时对频率和电压有不同要求时,你可以调整频率中的电压,使其与运行该网络所需的电压相匹配。然后,当你运行下一个网络时,它就会适当地扩展内核。”
除了TinyML硬件和软件的基本问题外,还要考虑IoT设备的生命周期。ABI的Schell称这个问题是阻碍TinyML发展的“障碍之一”。对于生命周期为五年或更长的现有IoT项目来说,尤其是在工业市场,让TinyML成为一个良好的、自然的解决方案可能比想象的要难。