互联网资讯 / 人工智能 · 2023年11月15日 0

超低功耗TinyML:新型边缘AI方法

人工智能(AI)正在迅速从云端转向边缘,逐渐渗透到更小的物联网设备中。这些设备体积小巧,但面临着许多挑战,如功耗、延迟和精度等,传统的机器学习模型难以满足这些要求。那么,微型机器学习能否提供解决方案呢?

在NASA的推动下,小型电子产品已经形成了一个完整的消费品市场。如今,我们甚至能够将贝多芬的全部音乐作品存储在一枚翻领针上,通过耳机欣赏。——天体物理学家兼科学评论员尼尔·德格拉斯·泰森(Neil deGrasse Tyson)

超低功耗的嵌入式设备已经随处可见,结合TensoRFlow LITe等嵌入式机器学习框架的引入,使得AI驱动的物联网设备得以大规模普及。——哈佛大学副教授Vijay Janapa Reddi

超低功耗TinyML:新型边缘AI方法

嵌入式设备的微型机器学习(TinyML)示意图。

本文是关于微型机器学习系列的第一篇,旨在向读者介绍微型机器学习的概念及其未来潜力。后续文章将深入探讨具体应用、实现方式和相关教程。

TinyML概述

在过去十年中,由于处理器速度提升和大数据的出现,机器学习算法的规模呈指数级增长。最初,这些模型较小,能够在本地计算机的CPU上运行。

随后,使用GPU的计算成为处理更大数据集的必要条件,同时云服务(如SaaS平台Google Colaboratory和IaaS服务Amazon EC2 Instances)的引入使得计算变得更加便捷。在这一阶段,算法仍然可以在单机上运行。

最近,专用集成电路(ASIC)和张量处理单元(TPU)的发展,使得其运算能力相当于8个GPU。这些设备增强了跨多个系统进行分布式学习的能力,并推动了更大模型的发展。

随着GPT-3算法的发布(2020年5月),这一趋势达到了巅峰,其网络结构包含惊人的1750亿个神经元,是人类大脑中神经元数量的两倍多(约850亿)。该模型的训练成本估计约为1000万美元,耗电约3GWh,相当于三个核电站一小时的发电量。

尽管GPT-3和TuRing-NLG的成就令人赞叹,但业界对于人工智能产业的碳足迹日益增大的批评也在加剧。然而,这也激发了对更节能计算的关注,诸如更高效的算法、数据表示和计算方式一直是微型机器学习的核心。

微型机器学习(TinyML)是机器学习与嵌入式物联网(IoT)设备的交汇点。这一领域是一个新兴的工程学科,具有可能引发各行业革命的潜力。

TinyML的受益者主要集中在边缘计算和节能计算,这源于物联网(IoT)的理念。传统的物联网概念是将数据从本地设备传输到云端进行处理,而这一概念引发了一些担忧,包括隐私、延迟、存储和能源效率。

能源效率:数据传输(无论是通过电缆还是无线)是极为耗能的,通常比在设备上进行本地计算耗能多一个数量级。因此,开发能够自我处理数据的物联网系统是最节能的方法;

隐私:数据传输可能会侵犯隐私,恶意参与者可能会截获数据,且当数据存储在单一位置(如云)时,其安全性将降低。将数据保存在设备上并减少通信可以提升数据安全性和隐私性;

存储:许多物联网设备收集的数据往往没有价值。想象一下,一个安全摄像头24小时监控一座大楼的入口,但大部分时间镜头毫无用处。通过更智能的系统,仅在必要时激活,可以降低存储容量,减少传输到云端的数据量;

潜在因素:标准的物联网设备如Amazon Alexa,通过将数据传输到云端进行处理,并根据算法输出返回响应。这样的设备本质上只是连接用户与云模型的桥梁,完全依赖互联网速度来产生结果。如果网速较慢,Amazon Alexa的响应也会变慢。而具备机载自动语音识别能力的智能物联网设备,因减少了对外部通信的依赖,从而降低了延迟。

这些问题促进了边缘计算的发展,允许在边缘设备(即云的边缘设备)上执行处理。这些设备在内存、计算和功耗方面受到极大限制,从而推动了更高效的算法、数据结构和计算方法的发展。

这些改进同样适用于更大型的模型,可能使机器学习模型的效率提高一个数量级,而不影响准确性。例如,微软开发的BonsAI算法可以缩小到2KB,但其性能优于典型的40MB kNN算法或4MB神经网络。尽管这一结果看似微小,但同样准确度的模型大小下降了万分之一,实属可观。如此小的模型可以在仅需2KB RAM的Arduino Uno上运行——换句话说,你可以在一个5美元的微控制器上构建这样的机器学习模型。

机器学习正在向两种计算范式分化:以计算为中心的计算和以数据为中心的计算。在以计算为中心的范式中,数据由数据中心存储和分析,而在以数据为中心的范式中,数据处理在本地完成。尽管以计算为中心的范式似乎正走向极限,但以数据为中心的范式才刚刚起步。

随着物联网设备和嵌入式机器学习模型的普及,预计到2020年底将有超过200亿台活跃设备,许多设备可能尚未被注意到。智能门铃、智能恒温器,以及通过简单的语音或移动即可唤醒的智能手机等设备。本文的其余部分将深入探讨tinyML的工作原理及其当前和未来的应用。

超低功耗TinyML:新型边缘AI方法

云的层级结构(图源:https://www.thinkebiz.net/what-edge-computing/)

TinyML应用案例

以往,复杂的电路是设备执行多种动作的必要条件。如今,机器学习使得将硬件智能抽象为软件变得日益可能,从而使嵌入式设备变得更加简单、轻巧和灵活。

TinyML的一个显著例子是智能手机。这些设备通常具备唤醒词功能,比如安卓手机的“嘿,谷歌”或iPhone的“嘿,Siri”。智能手机通过CPU处理这些语音活动,但现代iPhone的主CPU为1.85GHz,会在几个小时内耗尽电量。对于大多数用户而言,这样的耗电量是不可接受的。

为了解决这一问题,开发者设计了专用的低功耗硬件,这些硬件可由小型电池(如CR2032硬币电池)供电,使得电路即使在CPU未运行时(即屏幕未亮起时)依然保持活跃。

这些电路的功耗仅为1mW,使用标准的CR2032电池可以持续供电长达一年。电力是许多电子设备的制约因素,任何需要主电源供电的设备都受限于有线电路。当多台设备同时出现在同一位置时,电路会迅速超负荷。电力系统效率低下且成本高昂,将电源电压(在美国约为120V)转换为典型电路电压(通常约为5V)会浪费大量能量。任何使用笔记本电脑充电器的人都知道,充电器内部的变压器在电压转换过程中会产生热量,从而浪费能量。

即便是有电池的设备,电池续航时间也有限,需频繁充电。许多电子产品的电池设计只能支持一天使用。TinyML设备能够使用硬币大小的电池持续工作一年,这意味着在偏远地区仅在必要时进行通信,从而节省能源。

唤醒词并不是TinyML唯一的应用。加速度计的数据可以确定是否有人刚刚拿起手机,从而唤醒CPU并打开屏幕。

显然,TinyML的应用不仅限于此。实际上,TinyML为企业和爱好者提供了生产更智能物联网设备的机会。数据的价值日益增加,将机器学习资源分配到存储有限的偏远设备上,对数据密集型行业(如农业、气象或地震学)带来了巨大好处。

毫无疑问,赋予边缘设备进行数据驱动处理的能力,将为工业过程带来范式转换。例如,当设备检测到土壤湿度、特定气体(如苹果成熟时释放的乙烯)或特定气候条件(如强风、低温或高湿度)时,检测设备可以发送有助于作物的信息,从而极大地促进作物生长,提高产量。

另一个例子是,智能门铃可以安装摄像头,通过面部识别确定现场人员。这可以用于安全目的,或仅在有人到访时将门铃摄像头的信号传输到家中的电视,让居民知晓门外的情况。

目前,TinyML的两个主要应用领域是:

关键字发现。大多数人已经熟悉此类应用。“嘿,Siri”和“嘿,谷歌”是关键字的例子(通常与“热词”或“唤醒词”同义)。这样的设备持续监听麦克风的音频输入,并经过训练仅对特定的声音序列作出响应,这些声音序列与学习的关键字相对应。与自动语音识别(ASR)应用相比,这些设备更为简单,相应地也使用了更少的资源。某些设备(如Google智能手机)利用级联架构提供扬声器验证,以确保安全性;

视觉唤醒词。唤醒词还有一种基于图像的类似物,称为视觉唤醒词。我们可以将其视为图像的二值分类,用于表示某物的存在与否。例如,可以设计智能照明系统,使其在检测到人时打开,并在无人时关闭。同样,当特定动物出现时,野生动物摄影师可以使用此系统来拍摄。