更大的模型并不总是更好的模型,微型机器学习将是未来的方向( 二 )


潜伏 。 对于标准IoT设备(例如Amazon Alexa) , 这些设备将数据传输到云中进行处理 , 然后根据算法的输出返回响应 。 从这个意义上讲 , 该设备只是通向云模型的便捷网关 , 就像您自己和亚马逊服务器之间的信鸽 。 该设备非常笨拙 , 完全取决于互联网的速度才能产生结果 。 如果您的网速较慢 , Amazon Alexa也会变慢 。 对于具有机载自动语音识别功能的智能IoT设备 , 由于减少了对外部通信的依赖(如果不是这样) , 因此可以减少延迟 。
这些问题导致了边缘计算的发展 , 即在边缘设备(位于云''边缘''的设备)上执行处理活动的想法 。 这些设备在内存 , 计算和功能方面都受到资源的高度限制 , 从而导致了更高效的算法 , 数据结构和计算方法的发展 。
此类改进也适用于较大的模型 , 这可能导致机器学习模型的效率提高几个数量级 , 而不会影响模型的准确性 。
例如 , Microsoft开发的算法可以小到2 KB , 但比典型的40 MB kNN算法或4 MB神经网络具有更好的性能 。 这个结果听起来可能并不重要 , 但是在尺寸的1/10万分之一的模型上 , 相同的精度令人印象深刻 。 如此小的模型可以在具有2 KB RAM的Arduino Uno上运行 , 总之 , 你现在可以在5美元的微控制器上构建这样的机器学习模型 。
我们正处于一个有趣的十字路口 , 机器学习在两个计算范式之间分叉:以计算为中心的计算和以数据为中心的计算 。 在以计算为中心的范例中 , 数据是通过数据中心中的实例进行存储和分析的 , 而在以数据为中心的范例中 , 处理是在数据的原始位置进行的 。 尽管我们似乎正在迅速迈向以计算为中心的范例的上限 , 但是以数据为中心的范例的工作才刚刚开始 。
物联网设备和嵌入式机器学习模型在现代世界中变得越来越普遍(到2020年底 , 预计将有200亿以上的活动设备) 。 其中许多你甚至可能都没有注意到 。 智能门铃、智能恒温器、智能手机 , 只要你说几句话 , 甚至只是拿起电话 , 都可以''唤醒'' 。 本文的其余部分将更深入地关注tinyML的工作方式以及当前和将来的应用程序 。

更大的模型并不总是更好的模型,微型机器学习将是未来的方向
本文插图
云的层次结构
TinyML的例子
以前 , 复杂的电路是设备执行各种动作所必需的 。 现在 , 机器学习使将这种硬件''智能''抽象为软件变得越来越可能 , 从而使嵌入式设备变得更加简单 , 轻巧和灵活 。
嵌入式设备的机器学习所面临的挑战是巨大的 , 但是在这一领域已经取得了巨大的进步 。 在微控制器上部署神经网络的关键挑战是低内存占用 , 有限的功率和有限的计算 。
TinyML最明显的例子也许是在智能手机中 。 这些设备会永久地积极聆听''唤醒词''
例如Android智能手机的'' Hey Google''或iPhone的'' Hey Siri'' 。 通过智能手机的主中央处理器(CPU)运行这些活动 , 现代iPhone的主中央处理器(CPU)为1.85 GHz , 将在短短几个小时内耗尽电池 。 对于大多数人每天最多使用几次的这种程度的降级是不可接受的 。
为了解决这个问题 , 开发人员创建了专用的低功耗硬件 , 该硬件可以用小电池(例如 , 环形CR2032''硬币''电池)供电 。 这些功能使电路即使在CPU未运行时(基本上在屏幕不亮时)也保持活动状态 。
这些电路消耗的功率仅为1 mW , 使用标准CR2032电池可供电长达一年 。
看起来好像不对 , 但这很重要 。 能量是许多电子设备的限制因素 。 任何需要主电源的设备都限于带有布线的位置 , 当同一位置有十几个设备时 , 这些位置很快就会变得不堪重负 。 市电也效率低下且价格昂贵 。 将电源电压(在美国大约为120 V)转换为典型的电路电压范围(通常约为5 V)会浪费大量能量 。 拥有笔记本电脑充电器的任何人在拔出充电器时都可能知道这一点 。 充电器内部变压器产生的热量在电压转换过程中被浪费掉了能量 。


推荐阅读