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

TinyML:人工智能革命的新篇章

人工智能的一个趋势是正快速从边缘走向云端。TinyML 是在海量的物联网设备端微控制器上实现的人工智能,有望在未来几年内,成为人工智能在工业领域的重要新应用。边缘设备往往计算资源和电量受限,对功耗极为敏感。在此类设备上实现人工智能模型,面临着新的挑战,也提出了新的应用。本文是 TinyML 系列文章中的第一篇,介绍了 TinyML 概念、技术及未来潜力。

由 NASA 引领的小型化风潮已经席卷了整个消费电子产品产业。现在,一个领针中即可保存全部贝多芬作品,并可使用耳机聆听。——天体物理学家、科学评论员 Neil deGRaSSe TYson

超低功耗嵌入式设备的普及,以及用于微控制器的 TensoRFlow LITe 等嵌入式机器学习框架的推出,意味着人工智能驱动的 IoT 设备将得到大规模普及。——哈佛大学副教授 Vijay JaNAPA Reddi

图 1 嵌入设备上的 TinyML 概览图

模型并非越大越好。

本文是 TinyML 系列文章中的第一篇,目的是向读者介绍 TinyML 概念及其未来潜力。本系列的后续文章中,将深入介绍一些特定的应用、具体实现和教程。

引言

过去的十年中,由于处理器速度的提高和大数据的出现,我们见证了机器学习算法的规模呈指数级增长。最初,模型的规模并不大,在本地计算机中运行,使用 CPU 的一或多个内核。

此后不久,GPU 计算使人们可以处理更大规模的数据集,并且通过基于云的服务,例如 Google ColaboRaTory 等 SaaS 平台,AMazon EC2 Instances 等 IaaS,GPU 技术变得更易于获取。与此同时,算法仍可在单机上运行。

最近,专用的 ASiC 和 TPU 已可提供大约 8 个 GPU 的处理能力。这些设备的发展,增强了将学习算法分布到多个系统中的能力,满足了规模不断增大的模型需求。

2020 年 5 月发布的 GPT-3 算法,推动模型的规模达到登峰造极的水平。在 GPT-3 的网络架构中,包含了数量惊人的 1750 亿个神经元,是人脑中约 850 亿个神经元的两倍多,也是 TuRing-NLG 神经元数量的 10 倍以上。TuRing-NLG 发布于 2020 年 2 月,是有史以来的第二大神经网络,其中包含约 175 亿个参数。有人估计,GPT-3 模型的训练成本约为 1000 万美元,使用约 3GWh 的电力,是三个核电站一小时的输出。

尽管 GPT-3 和 TuRing-NLG 的成就值得称赞,但它们自然也引发了一些业内人士对人工智能行业日益增长碳足迹的批评。另一方面,它们也激发了人工智能领域对更为节能计算的兴趣。过去数年中,更高效的算法、数据表示和计算等理念,一直是机…

TinyML 的主要受益者,是边缘计算和节能计算领域。TinyML 源自物联网 IoT 的概念。物联网的传统做法,是将数据从本地设备发送到云端处理。一些人对这一方式在隐私、延迟、存储和能源效率等方面存在疑虑。

能源效率。无论通过有线还是无线方式,数据传输都非常耗能,比使用乘积累加运算单元(MultIPly-accuMulate unITs,MAU)的本机计算高出约一个数量级。最节能的做法,是研发具备本地数据处理能力的物联网系统。相对于以计算为中心的云模型,以数据为中心的计算思想已得到了人工智能先驱者的一些先期探讨,并已在当前得到了应用。 隐私。数据传输中存在侵犯隐私的隐患。数据可能被恶意行为者拦截,并且存储在云等单个位置中时,数据固有的安全性也会降低。通过将数据大部保留在设备上,可最大程度地减少通信需求,进而提高安全性和隐私性。 存储。许多物联网设备所获取的大部分数据是毫无用处的。想象一下,一台安防摄像机每天 24 小时不间断地记录着建筑物的入口情况。在一天的大部分时间中,该摄像机并没有发挥任何作用,因为并没有什么异常情况发生。采用仅在必要时激活的更智能的系统,可降低对存储容量的需求,进而降低需传输到云端的数据量。 延迟。标准的物联网设备,例如 AMazon Alexa,需将数据传输到云来处理,然后由算法的输出给出响应。从这个意义上讲,设备只是云模型的一个便捷网关,类似于和 AMazon 服务器之间的信鸽。设备本身并非智能的,响应速度完全取决于互联网性能。如果网速很慢,那么 AMazon Alexa 的响应也会变慢。自带自动语音识别功能的智能 IoT 设备,由于降低甚至是完全消除了对外部通信的依赖,因此降低了延迟。

上述问题推动着边缘计算的发展。边缘计算的理念就是在部署在云边缘的设备上实现数据处理功能。这些边缘设备在内存、计算和功能方面都高度受限于设备自身的资源,进而需要研发更为高效的算法、数据结构和计算方法。

此类改进同样适用于规模较大的模型,在不降低模型准确率的同时,实现机器学习模型效率数个数量级的提高。例如,MicRosoft 开发的 BonsAI 算法 可小到 2 KB,但比通常 40MB 的 kNN 算法或是 4MB 的神经网络具有更好的性能。这个结果听上去可能无感,但如果换句话说——在规模缩小了一万倍的模型上取得同样的准确率,这就十分令人印象深刻了。规模如此小的模型,可以运行在 2KB 内存的 ARduino Uno 上。简而言之,现在可以在售价 5 美元的微控制器上构建此类机器学习模型。

机器学习正处于一个交叉路口,两种计算范式齐头并进,即以计算为中心的计算,和以数据为中心的计算。在以计算为中心的计算范式下,数据是在数据中心的实例上存储和分析的;而在以数据为中心的计算范式下,处理是在数据的原始位置执行的。尽管在目前,以计算为中心的计算范式似乎很快会达到上限,但是以数据为中心的计算范式才刚刚起步。

当前,物联网设备和嵌入式机器学习模型日益普及。预计到 2020 年底,将有超过 200 亿台活跃设备。人们可能并未注意到其中许多设备,例如智能门铃、智能恒温器,以及只要用户说话甚至拿起就可以唤醒的智能手机。本文下面将深入介绍 TinyML 的工作机制,以及在当前和将来的应用情况。

图 2 云的层级结构图。

TinyML 示例

以前,设备执行的各种操作必需基于复杂的集成电路。现在,机器学习的硬件智能正逐渐抽象为软件,使得嵌入式设备更加简单、轻量级和灵活。

使用嵌入式设备实现机器学习,需解决巨大的挑战,但在该领域也取得了长足的进步。在微控制器上部署神经网络,关键挑战在于低内存占用、功率受限和计算受限。

智能手机是最典型的 TinyML 例子。手机一直处于主动聆听唤醒词的状态,例如 AndRoid 智能手机的你好,谷歌,以及 iphone 的你好,SiRi。如果通过智能手机的 CPU运行语音唤醒服务,那么电池电量会在短短几个小时内耗尽。这样的电量消耗是不可接受的,而语音唤醒服务大多数人每天最多使用几次。

为了解决这个问题,开发人员创建了可以用小型电池供电的专用低功耗硬件。即使 CPU 未运行,集成电路也能保持活跃状态。

这样的集成电路消耗功率仅为 1MW,如果使用标准的 CR2032 电池,可供电长达一年。

虽然有些人不觉得这有什么了不起的,但这是非常重要的进步。许多电子设备的瓶颈就是能源。任何需要市电供应的设备,其使用都受电力布线位置的限制。如果同一位置部署了十几台设备,可能电源会很快不堪重负。市电的效率并不高,且代价昂贵。将电源电压转换为典型的电路电压范围,会浪费掉大量的能量。笔记本电脑用户在拔充电器时,对此都深有体会吧。充电器的内部变压器所产生的热量,就是在电压转换过程中被浪费掉的能量。

即使设备自带电池,电池续航也是有限的,需要频繁充电。许多消费类电子设备的电池,设计上可持续使用一个工作日。一些 TinyML 设备可以使用硬币大小的电池持续运行一年,这意味着可将此类设备部署在一些偏远的环境中,仅在必要时进行通信,以节省电源。

在一台智能手机中,唤醒词服务并非唯一无缝嵌入的 TinyML 应用。加速度计数据可用于确定用户是否刚拿起手机,进而唤醒 CPU 并点亮屏幕。

显然,这些并非 TinyML 的唯一用武之地。实际上,TinyML 为产品粉丝和企业提供了大量令人兴奋的应用,用于实现更智能的 IoT 设备。在当前数据变得越来越重要的情况下,将机器学习资源分发到远端内存受限设备的能力,为农业、天气预报或地震等数据密集行业提供了巨大机遇。

毫无疑问,赋予边缘设备执行数据驱动处理的能力,将为工业过程中的计算范式带来转变。举个例子,如果能够监测农作物并检测到诸如土壤湿度、特定气体等特征或特定的大气条件,将极大地促进作物的生长,提高作物的产量。

另一个例子是,在智能门铃中可安装摄像机,使用面部识别确定到场的来访者。这将实现安防功能,甚至可以在有人到场时将门铃摄像头输出到屋内电视屏幕,以便主人了解门口的访客情况。

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

关键字发现。大多数人已经非常熟悉此应用,例如你好,SiRi和你好,Google等关键字,通常也称为热词或唤醒词。设备会连续监听来自麦克风的音频输入,训练实现仅响应与所学关键字匹配的特定声音序列。这些设备比自动语音识别更简单,使用更少的资源。Google 智能手机等设备还使用了级联架构实现扬声器的验证,以确保安全性。 视觉唤醒词。视觉唤醒词使用图像类似替代唤醒词的功能,通过对图像做二分类表示存在与否。例如,设计一个智能照明系统,在检测到人的存在时启动,并在人离开时关闭。同样,野生动物摄影师可以使用视觉唤醒功能在特定的动物出现时启动拍摄,安防摄像机可以在检测到人活动时启动拍摄。