边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习
人工智能 AI 正在加快速度从云端走向边缘,进入到越来越小的物联网设备中。而这些物联网设备往往体积很小,面临着许多挑战,例如功耗、延时以及精度等问题,传统的机器学习模型无法满足要求,那么微型机器学习又如何呢? 在 NASA 的推动下,小型化的电子产品成为了一个完整的消费品行业。现在我们可以把贝多芬的全部音乐作品放在翻领针上用耳机听。——天体物理学家兼科学评论员尼尔 · 德格拉斯 · 泰森 (Neil deGrasse Tyson) 超低功耗嵌入式设备随处可见,再加上用于微控制器的 TensorFlow Lite 等嵌入式机器学习框架的引入,这些使得人工智能驱动的物联网设备大规模普及。——哈佛大学副教授 Vijay Janapa Reddi 嵌入式设备的微型机器学习(TinyML)示意图。 本文关于微型机器学习系列文章的第一篇,旨在向读者介绍微型机器学习的概念及其未来的潜力。后续文章将深入讨论特定应用、实现和相关教程。 TinyML 简介 在过去的十年里,我们已经看到,由于处理器速度的提升和大数据的出现,机器学习算法的规模呈指数级增长。最初模型很小,在本地计算机上可以使用 CPU 中的一个或多个内核运行。 不久之后,使用 GPU 的计算成为处理更大数据集的必要条件,而且由于引入了云服务,如 SaaS 平台(谷歌 Google Colaboratory)和 IaaS(Amazon EC2 Instances),计算变得更加容易获得。此时,算法仍然可以在单机上运行。 近来,专用集成电路(ASIC)和张量处理单元(TPU)的发展,它们可以容纳 8GPU 左右的功率。这些设备增强了跨多个系统分布学习的能力,并试图发展越来越大的模型。 随着 GPT-3 算法(2020 年 5 月)的发布,这种情况达到了顶点,其网络结构包含惊人的 1750 亿个神经元——是目前存在于人类大脑中的两倍多(约 850 亿)。这是有史以来第二大神经网络神经元数量的 10 倍——Turing-NLG(2020 年 2 月发布,包含约 175 亿个参数)。一些人估计称,模型的训练成本约为 1000 万美元,使用了大约 3 GWh 的电力(大约是三个核电站一小时的发电量)。 虽然 GPT-3 和 Turing-NLG 的成就值得赞扬,但一些业内人士批评人工智能产业的碳足迹越来越大。然而,这也有助于激发人工智能界对更节能计算的兴趣。诸如更有效的算法、数据表示和计算,它们一直是微型机器学习的焦点。 微型机器学习(TinyML)是机器学习和嵌入式物联网(IoT)设备的交集。该领域是一门新兴的工程学科,有可能使许多行业产生革命性变革。 TinyML 的行业受益者是边缘计算和节能计算,其源于物联网(IoT)的概念。物联网的传统理念是将数据从本地设备发送到云上进行处理。一些人对这个概念提出了以下几个方面的担忧:隐私、延迟、存储和能源效率。 能源效率:传输数据(通过电线或无线)是非常耗能的,比板载计算(特别是乘积单元)的耗能多一个数量级。开发能够自己进行数据处理的物联网系统是最节能的方法; 隐私:传输数据可能会侵犯隐私。数据可能被恶意的参与者截获,并且当数据存储在一个单一的位置(如云)时,其安全性就会降低。通过将数据保存在设备上并尽量减少通信,能够提高数据安全性和隐私性; 存储:对许多物联网设备来说,所获得的数据毫无价值。想象一下,一个安全摄像头一天 24 小时都在记录一座大楼的入口。在一天的大部分时间里,摄像机的镜头毫无用处,因为什么都没有发生。通过一个更智能的系统,必要时激活,降低存储容量,传输到云端所需的数据量会减少; 潜在因素:对于标准的物联网设备,如 Amazon Alexa,这些设备将数据传输到云进行处理,然后根据算法的输出返回响应。从这个意义上说,这个设备只是一个通往云模型的便捷门户,就像你和亚马逊服务器之间的「信鸽」。这个设备相当愚蠢,完全依赖互联网的速度来产生结果。如果你的网速很慢,Amazon Alexa 也会变慢。对于具有机载自动语音识别功能的智能物联网设备来说,由于减少了对外部通信的依赖性,因此延迟降低了。 这些问题导致了边缘计算的发展,即在边缘设备(云的边缘设备)上执行处理活动。这些设备在内存、计算和功耗方面都受到了极大的资源限制,这使得更高效算法、数据结构和计算方法得以发展。 这些改进同样适用于较大的模型,可能会使机器学习模型的效率提高一个数量级,而不影响准确度。例如,微软开发的 Bonsai 算法可以小到 2KB,但比典型的 40MB kNN 算法或 4MB 神经网络性能更好。这个结果听起来可能不重要,但是同样准确度的模型大小却降到了万分之一,这是很可观的。这么小的模型可以在使用 2 KB RAM 的 Arduino Uno 上运行——简而言之,你现在可以在一个 5 美元的微控制器上建立这样一个机器学习模型。 机器学习正在向两种计算范式分化:以计算为中心的计算和以数据为中心的计算。在以计算为中心的范式中,数据由数据中心的范例进行存储以及分析,而在以数据为中心的范式中,在本地完成对源数据的处理。虽然以计算为中心的范式似乎正在迅速走向一个极限,但以数据为中心的范式才刚刚开始。 物联网设备和嵌入式机器学习模型变得越来越普遍,预计到 2020 年底将超过 200 亿台活动设备,许多设备你可能还没注意到。智能门铃、智能恒温器、以及说几个单词就能唤醒或者拿起就能唤醒的智能手机。本文的其余部分将更深入地关注 tinyML 的工作原理,以及当前和未来的应用。 云的层级结构(图源:https://www.thinkebiz.net/what-edge-computing/) TinyML 用例 在此之前,对于一个设备来说,复杂的电路是必要的,这样能够执行各种各样的动作。现在,机器学习将这种硬件智能抽象成软件变得越来越有可能,使得嵌入式设备越来越简单、轻便和灵活。 TinyML 最显著的例子是智能手机。这些设备通常都有唤醒词,例如:安卓智能手机的「Hey Google」,或是 iPhone 的「Hey Siri」。智能手机通过 CPU 处理这些活动,现代 iPhone 的主中央处理器是 1.85 GHz,会在几个小时内耗尽电量。对于大多数人一天中最多使用几次的设备来说,这种程度的耗电量不可接受。 为了解决这个问题,开发人员开发了专用低功耗硬件,这种硬件可以由一个小电池(比如一个圆形的 CR2032 硬币电池)供电。这使得电路即使在 CPU 不运行的情况下(基本上是在屏幕不亮的时候)也能保持活跃状态。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |