|边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习( 二 )


潜在因素:对于标准的物联网设备 , 如 Amazon Alexa , 这些设备将数据传输到云进行处理 , 然后根据算法的输出返回响应 。 从这个意义上说 , 这个设备只是一个通往云模型的便捷门户 , 就像你和亚马逊服务器之间的「信鸽」 。 这个设备相当愚蠢 , 完全依赖互联网的速度来产生结果 。 如果你的网速很慢 , Amazon Alexa 也会变慢 。 对于具有机载自动语音识别功能的智能物联网设备来说 , 由于减少了对外部通信的依赖性 , 因此延迟降低了 。
这些问题导致了边缘计算的发展 , 即在边缘设备(云的边缘设备)上执行处理活动 。 这些设备在内存、计算和功耗方面都受到了极大的资源限制 , 这使得更高效算法、数据结构和计算方法得以发展 。
这些改进同样适用于较大的模型 , 可能会使机器学习模型的效率提高一个数量级 , 而不影响准确度 。 例如 , 微软开发的 Bonsai 算法可以小到 2KB , 但比典型的 40MB kNN 算法或 4MB 神经网络性能更好 。 这个结果听起来可能不重要 , 但是同样准确度的模型大小却降到了万分之一 , 这是很可观的 。 这么小的模型可以在使用 2 KB RAM 的 Arduino Uno 上运行——简而言之 , 你现在可以在一个 5 美元的微控制器上建立这样一个机器学习模型 。
机器学习正在向两种计算范式分化:以计算为中心的计算和以数据为中心的计算 。 在以计算为中心的范式中 , 数据由数据中心的范例进行存储以及分析 , 而在以数据为中心的范式中 , 在本地完成对源数据的处理 。 虽然以计算为中心的范式似乎正在迅速走向一个极限 , 但以数据为中心的范式才刚刚开始 。
物联网设备和嵌入式机器学习模型变得越来越普遍 , 预计到 2020 年底将超过 200 亿台活动设备 , 许多设备你可能还没注意到 。 智能门铃、智能恒温器、以及说几个单词就能唤醒或者拿起就能唤醒的智能手机 。 本文的其余部分将更深入地关注 tinyML 的工作原理 , 以及当前和未来的应用 。
|边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习
本文插图
云的层级结构(图源:https://www.thinkebiz.net/what-edge-computing/)
TinyML 用例
在此之前 , 对于一个设备来说 , 复杂的电路是必要的 , 这样能够执行各种各样的动作 。 现在 , 机器学习将这种硬件智能抽象成软件变得越来越有可能 , 使得嵌入式设备越来越简单、轻便和灵活 。
TinyML 最显著的例子是智能手机 。 这些设备通常都有唤醒词 , 例如:安卓智能手机的「Hey Google」 , 或是 iPhone 的「Hey Siri」 。 智能手机通过 CPU 处理这些活动 , 现代 iPhone 的主中央处理器是 1.85 GHz , 会在几个小时内耗尽电量 。 对于大多数人一天中最多使用几次的设备来说 , 这种程度的耗电量不可接受 。
为了解决这个问题 , 开发人员开发了专用低功耗硬件 , 这种硬件可以由一个小电池(比如一个圆形的 CR2032 硬币电池)供电 。 这使得电路即使在 CPU 不运行的情况下(基本上是在屏幕不亮的时候)也能保持活跃状态 。
这些电路的功耗仅为 1mW , 使用标准 CR2032 电池可以供电长达一年 。 能源是许多电子设备的限制因素 。 任何需要主电源供电的设备都受限于有线电路 , 当十几台设备同时出现在同一位置时 , 线路就会迅速超负荷 。 电力系统的效率很低 , 而且价格昂贵 。 将电源电压(在美国约为 120v)转换为典型的电路电压(通常约为 5 V)会浪费大量的能量 。 任何使用笔记本电脑充电器的人在拔下充电器时都可能知道这一点 。 充电器内变压器产生的热量在电压转换过程中浪费了能量 。
即使是有电池的设备 , 电池的续航时间也有限 , 需要频繁地充电 。 许多电子产品的电池在设计时只能使用一个工作日 。 TinyML 设备可以用硬币大小的电池持续工作一年 , 这意味着在偏远环境中 , 只有在必要时才进行通信 , 以节省能源 。


推荐阅读