TensorFlow技术主管Peter Wardan:机器学习的未来是小而美
大数据文摘授权转载自OReillyAI
Pete Wardan任谷歌TensorFlow移动和嵌入式团队的leader,在O'Reilly AI Conference 2019的Keynote演讲环节,他对机器学习的未来进行了深度剖析。他认为机器学习的未来就是以小为美。未来,微处理器将如何与机器学习共同合作?能否在技术上取得突破?这些问题值得深思。
想象一下这样一个世界:数千亿台设备不仅收集数据,而且会将数据转化为可操作的意见,而这些意见可以改善数十亿人的生活。
而要做到这一点,我们需要机器学习。但是一般来说,机器学习会消耗大量的系统资源。因此,低功耗,低成本的机器学习是目前需要探索并寻求突破的。
与此同时,深度神经网络也越来越多地被应用于改进很多东西,从广告系统到自动驾驶汽车原型,因此,它们也注定要改造微型计算机(即微控制器)。
因此,Pete在演讲中指出,微型处理器、内嵌处理器是机器学习的未来。
微处理器已无处不在
Pete首先用Alexa做了一个小演示,展示了基于网络的机器学习模型如何在小型的、内嵌式的处理器上去运行的,以及它可以持续几周的时间。
之所以选择用Alexa演示,是因为这台设备没有联网,也没有Wi-Fi和蓝牙,它只是在20KB的模型上运行,这个微型处理器也只有几百KB的内存。而这个模型仅仅靠钮扣电池供电,就能独立运行数周的时间。
这一点非常重要。因为全世界有2500亿个微处理器,每年出货量达到了 400亿,每年都有20%的增幅,平均成本不到50美分。这样的产品已经非常便宜而且无处不在。
此外,CPU如今也已经很便宜了,几乎都是免费的。但是我们把处理器安装到设备上之后,却要专门接电线为其供电,比如在机场,这个供电系统可能就要花几千美金。
除了布线问题,还在于,某些场合,比如手术室、工厂车间,可能并没有合适的地方去增加电源插座等设备。所以说,这非常不合理。能源供应问题成了很多设备的限制因素。
手机需频繁充电的首要原因——高能耗
以我们现在每天都离不开的手机为例。虽然手机不需要连接外部的电源,但它每天都需要充电。如果你有几十个甚至几百个电子设备需要进行打理的话,那可能你所有的时间都花在充电上了。所以很多设备,我们只好采取即插即用的办法来供电。
智能手机的能耗情况如何,为什么总要频繁充电?请参考以下数据:
- 显示器大约使用400毫瓦
- 有源蜂窝无线电大约使用800毫瓦
- 蓝牙大约使用100毫瓦
- 加速度计使用21毫瓦
- 陀螺仪消耗130毫瓦
- GPS消耗176毫瓦
如果我们把手机的能耗降到1毫瓦以下,那么仅仅一枚钮扣电池就能支持手机运行一个月。我们需要在这样的能耗限制下进行设计,才能保证无所不在的微处理计算和人工智能技术相得益彰。
传感器数据被浪费的原因——传输能耗太大
现有的CPU做计算本身是基本没有功耗的,它可以把功耗降到几百微瓦的水平,传感器也是如此。比如,麦克风的功耗也非常低,还有图形传感器。麦克风可能是几百微瓦的水平,传感器也是可以降到1毫瓦的水平。
因此,微处理器和传感器可以把功耗降到非常低的程度。低功耗的解决方案大大提升了传感器收集数据的能力,它们能够更频繁地查看需要的信息。
然而,虽然传感器能够以很低的功耗获得巨量的数据,但是这些却没有得到充分的应用。
比如,几年前,一家卫星公司,能够拍摄很多高清晰度的图片。但是因为带宽的问题,每个小时只能下载几百MB的数据,所以卫星和地面的通讯成本太高了,最终我们能得到的图片只是很少的一部分。
此外,比如在工厂里面的温度计,它们可以获取很多的数据。但是工厂并没有那么多的电力把这些数据上传到云端,所以很多数据也都被浪费了。
深度学习与微处理器的完美配合
对于现有的这些问题,技术应该发挥什么样的作用?如何能够把大量的传感器的数据利用起来,把它的价值发挥出来?能否降低设备能耗?
Pete认为还有很大的市场等待科技去解锁
机器学习在这方面就可以发挥非常重要的作用,具体来说,是深度学习。因为深度学习才能够最有效地把这些混沌的、非结构性质的数据利用起来。
深度学习可以处理大量未标记的数据
很少有人意识到深度学习和微处理器(MCU)的匹配程度。深度学习实际上是基于计算,而不是依靠通讯或者数据读取来运行的。因此,我们不需要很大的内存,也不需要大量访问内存。这恰好也符合微处理器的设计,它只有几百KB的内存,同时每秒可以运行几千万甚至上亿次的指令。
所以我们可以用很低的功耗来满足它的学习或者训练目的。如果我们知道对于一个给定的神经网络系统,它需要5皮焦(pJ)的能耗来执行一个操作,如果用最小的图象识别,它需要2200万的浮点计算,那么它将共需要5皮焦*22,000,000=110微焦(µJ)的能量来执行这个操作。如果每秒分析一帧,那只需要110微瓦,如此,用钮扣电池就能供一年的电量,而且不需要对现有的硬件改进。
谷歌的团队曾在2014年开发了一个13KB的模型来进行语音识别,而苹果也在做类似的研发工作。所以这些语音识别团队,就可以在非联网的微型处理器上来进行机器学习和训练。
TensorFlow Lite——赋予移动终端机器学习的能力
2017年,谷歌在Google I/O大会推出TensorFlow Lite,是专门针对移动设备上可运行的深度网络模型简单版。但当时只是开发者预览版,未推出正式版。
2019年3月,TensorFlow Lite嵌入式平台发布了第一个实验原型。这是由SparkFun构建的开发板的原型,它有一个Cortex M4处理器,具有384KB的RAM和1MB的闪存存储。该处理器功率极低,在许多情况下功耗不到1毫瓦,因此它可以仅凭小型纽扣电池运行很多天。
Pete在安卓开发峰会上介绍TensorFlow Lite
它完全在本地嵌入式芯片上运行,无需任何互联网连接,因此最好将其作为语音接口系统的一部分。该模型本身占用的存储空间不到20KB,TensorFlow Lite代码的占用空间仅为25KB的Flash,而且只需要 30KB的RAM即可运行。
TensorFlow Lite 的目标便是移动和嵌入式设备,它赋予了这些设备在终端本地运行机器学习模型的能力,从而不再需要向云端服务器发送数据。这样一来,不但节省了网络流量、减少了时间开销,而且还充分帮助用户保护自己的隐私和敏感信息。
TensorFlow Lite被用来解决了移动设备的图像分类、物体检测、智能聊天的问题。
深度学习未来的应用
深度学习最关键的在于,它特别适合把传感器的数据转化为非常有价值的资产。
全语音界面
深度学习的一个「杀手」应用,也许在不久的将来就会实现,那便是:全语音的界面。这样的界面用50美分的芯片就可以实现,同时,用一个钮扣电池就可以维持一年的运行。如此一来,我们可以只用语音操控,而不再需要开关或者是按纽了。所有的机器、设备都可以使用语音通讯的界面。
这种便宜的芯片还可以用于农业的用途,比如通过图形识别可以用很低的成本来识别有害杂草,农业工作者便可以精准地施用农药。
预维护模式
另外,还有预测式维护。我们可以预先知道哪些机器可以出故障。比如针对汽车故障,人不可能到汽车里面去看发动机哪出了什么问题,或者听出马达的声音出现了问题,但是我们可以对模型进行训练,把这些设备直接插到系统里面,不需要做新的布线或联网,这个设备就可以直接告诉你:系统好像出问题了,设备需要及时维护、维修。当然,这个模型并不需要持续上网发出设备信息,只是当要发生重大事故或者隐患的时候才会发出通讯。
深度学习未来的应用
未来的世界有更多的可能性,现在人工智能对于我们,就像八十年代的电脑一样。我们不知道它会发展成什么样子,但是我们可以想象一下我们目前面对的各种问题和挑战,在工作中面临的困难。如何用小小的芯片进行机器学习?这方面我们可以有新的角度去探索,也有新的研究成果去发挥作用。
关于Pete Warden
Pete Warden是谷歌TensorFlow Mobile团队的技术主管,曾担任 Jetpac 的首席技术官,该公司于 2014 年被谷歌收购,因其深度学习技术优化,可在移动和嵌入式设备上运行。他之前曾在Apple从事 GPU 优化图像处理工作。