数码小王|TinyML:下一轮人工智能革命( 二 )


此类改进同样适用于规模较大的模型 , 在不降低模型准确率(accuracy)的同时 , 实现机器学习模型效率数个数量级的提高 。 例如 , Microsoft开发的Bonsai算法可小到2KB , 但比通常40MB的kNN算法或是4MB的神经网络具有更好的性能 。 这个结果听上去可能无感 , 但如果换句话说——在规模缩小了一万倍的模型上取得同样的准确率 , 这就十分令人印象深刻了 。 规模如此小的模型 , 可以运行在2KB内存的ArduinoUno上 。 简而言之 , 现在可以在售价5美元的微控制器上构建此类机器学习模型 。
机器学习正处于一个交叉路口 , 两种计算范式齐头并进 , 即以计算为中心的计算 , 和以数据为中心的计算 。 在以计算为中心的计算范式下 , 数据是在数据中心的实例上存储和分析的;而在以数据为中心的计算范式下 , 处理是在数据的原始位置执行的 。 尽管在目前 , 以计算为中心的计算范式似乎很快会达到上限 , 但是以数据为中心的计算范式才刚刚起步 。
当前 , 物联网设备和嵌入式机器学习模型日益普及 。 预计到2020年底 , 将有超过200亿台活跃设备 。 人们可能并未注意到其中许多设备 , 例如智能门铃、智能恒温器 , 以及只要用户说话甚至拿起就可以“唤醒”的智能手机 。 本文下面将深入介绍TinyML的工作机制 , 以及在当前和将来的应用情况 。
数码小王|TinyML:下一轮人工智能革命
文章图片
图2云的层级结构图
TinyML示例
以前 , 设备执行的各种操作必需基于复杂的集成电路 。 现在 , 机器学习的硬件“智能”正逐渐抽象为软件 , 使得嵌入式设备更加简单、轻量级和灵活 。
使用嵌入式设备实现机器学习 , 需解决巨大的挑战 , 但在该领域也取得了长足的进步 。 在微控制器上部署神经网络 , 关键挑战在于低内存占用、功率受限和计算受限 。
【数码小王|TinyML:下一轮人工智能革命】智能手机是最典型的TinyML例子 。 手机一直处于主动聆听“唤醒词”的状态 , 例如Android智能手机的“你好 , 谷歌” , 以及iPhone的“你好 , Siri” 。 如果通过智能手机的CPU(主流iPhone的CPU已达1.85GHz)运行语音唤醒服务 , 那么电池电量会在短短几个小时内耗尽 。 这样的电量消耗是不可接受的 , 而语音唤醒服务大多数人每天最多使用几次 。
为了解决这个问题 , 开发人员创建了可以用小型电池(例如CR2032纽扣电池)供电的专用低功耗硬件 。 即使CPU未运行(通常表现为屏幕并未点亮) , 集成电路也能保持活跃状态 。
这样的集成电路消耗功率仅为1mW , 如果使用标准的CR2032电池 , 可供电长达一年 。
虽然有些人不觉得这有什么了不起的 , 但这是非常重要的进步 。 许多电子设备的瓶颈就是能源 。 任何需要市电供应的设备 , 其使用都受电力布线位置的限制 。 如果同一位置部署了十几台设备 , 可能电源会很快不堪重负 。 市电的效率并不高 , 且代价昂贵 。 将电源电压(例如美国使用的120V)转换为典型的电路电压范围(通常约为5V) , 会浪费掉大量的能量 。 笔记本电脑用户在拔充电器时 , 对此都深有体会吧 。 充电器的内部变压器所产生的热量 , 就是在电压转换过程中被浪费掉的能量 。
即使设备自带电池 , 电池续航也是有限的 , 需要频繁充电 。 许多消费类电子设备的电池 , 设计上可持续使用一个工作日 。 一些TinyML设备可以使用硬币大小的电池持续运行一年 , 这意味着可将此类设备部署在一些偏远的环境中 , 仅在必要时进行通信 , 以节省电源 。
在一台智能手机中 , 唤醒词服务并非唯一无缝嵌入的TinyML应用 。 加速度计数据可用于确定用户是否刚拿起手机 , 进而唤醒CPU并点亮屏幕 。
显然 , 这些并非TinyML的唯一用武之地 。 实际上 , TinyML为产品粉丝和企业提供了大量令人兴奋的应用 , 用于实现更智能的IoT设备 。 在当前数据变得越来越重要的情况下 , 将机器学习资源分发到远端内存受限设备的能力 , 为农业、天气预报或地震等数据密集行业提供了巨大机遇 。