TinyML 也是机器学习的一种,他的特点就是缩小深度学习网络可以在微型硬件中使用,主要应用在智能设备上。
超低功耗嵌入式设备正在“入侵”我们的世界,借助新的嵌入式机器学习框架,它们将进一步推动人工智能驱动的物联网设备的普及。
FPGA一直以低功耗、可重构的特点在各个领域内应用,同时也可以大大增加物联网应用环境,所以在FPGA上应用TinyML是否是FPGA方便的最佳应用?我们接下来分析一下TinyML的特点再来总结。
接下来让我们翻译这个行话:什么是 TinyML?而且,更重要的是 – 它可以(也不能)用于什么?
什么是 TinyML?
机器学习是一个流行词,已经存在了一段时间,有许多有用的应用程序需要理解混沌数据,目前的应用中它很少与硬件相关联。通常,如果一定要与硬件那么通常通过云相关联,而云通常与延迟、耗电和连接速度有关。
然而,在设备中应用机器学习并不是什么新鲜事。几年来,我们的大多数手机都内置了某种神经网络。设备音乐识别,以及许多相机模式(如夜视和人像模式)只是依赖嵌入式深度学习的几个例子。这些算法可以识别我们更有可能再次使用的应用程序,并关闭不需要的应用程序来延长手机电池。然而,嵌入式 AI 面临着许多挑战,其中最重要的挑战就是功率和空间。这就是 TinyML 的用武之地。
设备上的传感器数据需要强大的计算能力,这会导致存储容量有限、中央处理器 (CPU) 有限和数据库性能下降等问题。TinyML 通过将人工智能嵌入到小块硬件中,将机器学习带到了“现场”。有了它,就可以利用深度学习算法在设备上训练网络并缩小它们的大小,而无需将数据发送到云端,从而减少分析它的延迟。
TinyML:了解基础知识
Google 的 TinyML 大师和 TensorFLow Lite 工程负责人 Pete Warden 与 Daniel Situnayake 一起出版了一本书。这本书“TinyML:在 Arduino 和超低功耗微控制器上使用 TensorFlow Lite 进行机器学习”已成为该领域的参考。
最后,TensorFlow Lite是谷歌创建的嵌入式机器学习框架,它有一个专门为微控制器设计的子类别。2019 年,除了 TensorFlow Lite 之外,其他框架开始专注于让深度学习模型更小、更快,并适配嵌入式硬件,包括uTensor和Arm 的 CMSIS-NN。与此同时,许多教程开始出现,内容是关于如何在 AI 驱动的微控制器上使用 TinyML 和类似框架来训练、验证然后通过推理引擎在硬件上部署小型神经网络集。
机器学习通常与优化有关,但 TinyML 不仅仅是与优化有关:一些云应用程序编程接口 (API) 只是排除交互性,并且从功耗角度来看过于受限。最重要的是,这些限制使边缘计算变得更慢、更昂贵且更不可预测。
与前面提到的基于手机上应用的机器学习的不同之处在于,TinyML 使电池或能量收集设备能够运行,而无需因功率限制而手动充电或更换电池。把它想象成一个永远在线的数字信号处理器。这转化为一种运行功率低于 1 毫瓦的设备(夸张描述),因此该设备要么能够使用电池运行多年,要么可以使用能量收集。这也意味着这些设备根本无法通过无线电连接,因为即使是低功率的短距离无线电也会使用数十到数百毫瓦的功率,并且它只允许短时间的功率爆发。这些限制还导致需要能够在限制为数十 KB 的极小内存限制下运行的代码,因此需要将 TinyML 与 raspberry 或手机上的代码区分开来。
TinyML:当前的应用概览
根据Emerging Spaces 对 Pitchbook的评论,自 2020 年 1 月以来,TinyML 已投资 2600 万美元,其中包括加速器、早期投资者和后期投资者的风险投资。与 AI 和 ML 的其他更成熟的分支(例如数据标签)相比,这相对较小。在趋势中,交易数量与认知计算、下一代安全和 AIOps 等其他热门话题竞争。
TinyML:工作机制
TinyML 算法的工作机制与传统机器学习模型几乎完全相同,通常在用户计算机或云中完成模型的训练。训练后处理是 TinyML 真正发挥作用之处,通常称为“深度压缩”(deep compression)。
深度压缩示意图。来源: ArXiv 论文
TinyML:展望未来
今年秋天,哈佛大学推出了课程CS249R:微型机器学习,提到“机器学习的爆炸式增长和 TensorFlow (TF) 等平台的易用性使其成为现代计算机科学专业学生不可或缺的学习课题”。
今天,世界上有超过 2500 亿个嵌入式设备在运行,预计每年增长 20%。,这些设备正在收集大量数据,并在云端处理这些数据提出了相当大的挑战。在这 2500 亿台设备中,目前正在生产的大约 30 亿台能够支持目前正在生产的 TensorsFlow Lite。TinyML 可以弥合边缘硬件和设备智能之间的差距。
总结
随着物联网设备的增加,多传感器的融合以及数量处理也是比较大的特点,所以低功耗的FPGA在这方面会大方异彩。
在这方面,FPGA厂商Lattice早就推出了基于超低功耗(iphone手机上曾用的up5k)FPGA的TinyML开发平台,并且开源了声音和人脸识别的开源方案,链接如下:
https://www.latticesemi.com/Products/DevelopmentBoardsAndKits/HimaxHM01B0
随着新智能设备和物联网设备数量的增加,TinyML在低功耗FPGA上的应用有可能在无处不在、更便宜、可扩展且更可预测的边缘嵌入 AI 设备上大量应用,从而改变 ML 的应用范式。
没有回复内容