數(shù)據(jù)科學(xué)家,Jetpac 公司CTO Pete Warden發(fā)表了一篇博文,詳細(xì)闡述了微型化是機(jī)器學(xué)習(xí)應(yīng)用的一條出路,并且相信機(jī)器學(xué)習(xí)可以在微小的、低功耗的芯片上運(yùn)行,利用深度學(xué)習(xí)可以做到非常高的能源利用率。谷歌大腦負(fù)責(zé)人Jeff Dean也轉(zhuǎn)發(fā)這篇博文,并且也強(qiáng)調(diào)了其技術(shù)可行性。
當(dāng)Azeem邀請(qǐng)我到CogX做演講時(shí),他希望我能把核心集中于引導(dǎo)用戶思考的某一個(gè)點(diǎn)上。前幾年,我的首要任務(wù)是讓人們相信,深度學(xué)習(xí)是一場(chǎng)真正的革命,而不僅僅是一時(shí)的風(fēng)尚,目前已經(jīng)有足夠多的例子可以證明這個(gè)觀點(diǎn)。我之所以知道這個(gè)觀點(diǎn)是正確的,并不是因?yàn)槲沂且粋€(gè)預(yù)言家,而是因?yàn)槲矣袡C(jī)會(huì)可以花時(shí)間去親自動(dòng)手操作這項(xiàng)技術(shù)。所以我非常相信深度學(xué)習(xí)的價(jià)值,因?yàn)槲矣H眼見到了這些效果,并且知道,阻止它從實(shí)驗(yàn)室走向工業(yè)界的唯一屏障,僅僅在于更廣泛的應(yīng)用場(chǎng)景需要投入更多的研究時(shí)間。
今天,我將談?wù)摿硪环N鮮為人知的,但我確信無疑的趨勢(shì)。那就是我相信機(jī)器學(xué)習(xí)可以在微小的、低功耗的芯片上運(yùn)行,這種技術(shù)將解決目前方案中的瓶頸問題,這就是我在CogX上要講的。
微型電腦已經(jīng)足夠便宜,且非常普及
因?yàn)槭袌?chǎng)過于分散,以至于很難得到確切的數(shù)字,但最好的估計(jì)是今年將有超過400億的微控制器售出,考慮到他們所使用的產(chǎn)品的持久性,可能會(huì)有數(shù)千億個(gè)微控制器在使用。微控制器(或MCUs)包含一個(gè)小CPU,僅僅只有幾千字節(jié)的RAM,并且被嵌入到消費(fèi)者、醫(yī)療、汽車和工業(yè)設(shè)備中。它們的設(shè)計(jì)目的是為了得到低功耗、低成本的產(chǎn)品,預(yù)計(jì)這一產(chǎn)品今年的平均價(jià)格將低于50美分。
它們并沒有得到太多的關(guān)注,因?yàn)樗鼈兘?jīng)常被用來取代舊的電動(dòng)機(jī)械系統(tǒng)在汽車、洗衣機(jī)或遙控器上的功能。這些設(shè)備的控制邏輯和以前使用的模擬電路和繼電器幾乎沒有什么區(qū)別,除了可能有一些可編程功能的微小改變。對(duì)于制造商來說,最大的好處是,標(biāo)準(zhǔn)的控制器可以用軟件來編程,而不是去定制電子設(shè)備,這樣可以降低制造過程的成本,也更容易生產(chǎn)。
能源是限制因素
任何需要電源的設(shè)備都面臨著布線問題的限制,而且一旦開始布線也有可能引來其他新的問題,例如,在手術(shù)室中與工廠的地板上。為了將電源電壓從輸電電壓轉(zhuǎn)換到設(shè)備可用電壓是非常昂貴且浪費(fèi)的。甚至是像手機(jī)或筆記本電腦這種便攜式設(shè)備也需要非常頻繁的充電。
幾乎任何智能產(chǎn)品的終極目標(biāo)都是為了讓設(shè)備可以部署在任何地方,而不需要什么維護(hù)手段。為了實(shí)現(xiàn)這一目標(biāo),最大的障礙是:大多數(shù)的電子系統(tǒng)都需要使用能源。下面是一些基于智能手機(jī)能耗數(shù)據(jù)的常見組件的粗略數(shù)字(更多細(xì)節(jié)請(qǐng)參閱我的以前的博文 【1】):
一個(gè)顯示器可能需要400毫瓦。
有源電池收音機(jī)可能使用800毫瓦。
藍(lán)牙可能使用100毫瓦。
加速度計(jì)是21毫瓦。
陀螺儀是130毫瓦。
GPS是176毫瓦。
一個(gè)微控制器本身可能只使用1毫瓦或者更少,但外設(shè)可能會(huì)使用更多的電能,一枚硬幣電池可以提供2500焦耳的能量,所以電池即使要給1毫瓦的設(shè)備供電,也只能維持一個(gè)月左右,當(dāng)然,目前大多數(shù)的產(chǎn)品都使用了輪轉(zhuǎn)和睡眠,以避免經(jīng)常開機(jī),但即便如此,問題仍未的到解決。
CPU和傳感器幾乎不使用電源,而收音機(jī)和顯示器使用的電量很多
一般來說處理器、傳感器可以將電力成本降低到微瓦級(jí)別,但顯示器、無線電等設(shè)備需要更多的電力成本,甚至是低功耗、藍(lán)牙等設(shè)備也需要幾十毫瓦。數(shù)據(jù)移動(dòng)的過程導(dǎo)致了更大的能量開銷,似乎有這樣一條規(guī)則,一個(gè)操作所需要的能量與發(fā)送數(shù)據(jù)的距離成正比。CPU和傳感器發(fā)送的距離只有幾毫米,而且非常便宜,而無線電發(fā)送的距離很遠(yuǎn),并且價(jià)格昂貴。我認(rèn)為即使技術(shù)上有所改善,這種差距仍然會(huì)進(jìn)一步擴(kuò)大。
我們獲取的傳感器數(shù)據(jù)比我們使用的多
幾年前,我和一些研究衛(wèi)星攝像的工程師交談過。他們的問題是,他們使用手機(jī)攝像頭已經(jīng)可以拍攝高清的視頻,但衛(wèi)星上只有少量內(nèi)存來存儲(chǔ)結(jié)果,每幾個(gè)小時(shí),需要通過有限的帶寬下載到地球上的基站中。我才突然發(fā)現(xiàn),幾乎所有的傳感器場(chǎng)景都面臨著同樣的問題。即使是家里的攝像頭也受到wifi和寬帶連接帶寬的限制。我的一個(gè)朋友,他12月份的ISP使用率大大超出今年的限額,當(dāng)他逐層分析后,發(fā)現(xiàn)主要原因居然是因?yàn)槲堇镩W爍的圣誕燈導(dǎo)致視頻流壓縮比急劇下降。
還有很多這樣的例子,我們的可穿戴設(shè)備和手機(jī)上的所有加速器都只是用來檢測(cè)可能喚醒設(shè)備的事件,或者是基本的步驟計(jì)數(shù),所有可能的更復(fù)雜的活動(dòng)檢測(cè)都無法涉及。
這對(duì)機(jī)器學(xué)習(xí)意味著什么?
如果你接受上面的所有觀點(diǎn),那么很明顯,有一個(gè)巨大的尚未開發(fā)的市場(chǎng)等待著用正確的技術(shù)來開啟。我們需要一種能在廉價(jià)的微控制器上工作的東西,它只需要很少的能量,它依賴于計(jì)算而不是無線電,它能把我們所有浪費(fèi)的傳感器數(shù)據(jù)變成有用的東西。這就是機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí)所填補(bǔ)的空白。
深度學(xué)習(xí)在已有的微控制器上是計(jì)算密集且可用的
在深度學(xué)習(xí)實(shí)現(xiàn)方面,它們幾乎都是受計(jì)算限制的。這一點(diǎn)很重要,因?yàn)槲宜芯康钠渌麊栴}幾乎都是受到訪問大量內(nèi)存的速度限制。相比之下,神經(jīng)網(wǎng)絡(luò)把大部分事件都花在了大矩陣相乘上,同樣的數(shù)字在不同的組合中可以重復(fù)使用,這意味著CPU大部分時(shí)間都花在計(jì)算兩個(gè)緩存的數(shù)字相乘上,而從內(nèi)存中獲取新值的時(shí)間要少得多。
這很重要,因?yàn)閺膬?nèi)存中獲取數(shù)據(jù)需要更大的能量開銷(這可能是距離-能量的一個(gè)明顯例子——因?yàn)閮?nèi)存比寄存器更遠(yuǎn))。相對(duì)較低的內(nèi)存需求意味著低功耗的SRAM或閃存可以用于存儲(chǔ),這使得深度學(xué)習(xí)應(yīng)用程序非常適合于微控制器,尤其是當(dāng)使用8位計(jì)算而不是浮點(diǎn)數(shù)時(shí),因?yàn)镸CUs通常已經(jīng)有類似dsp的指令,非常適合。這一想法并不是特別新穎,因?yàn)楣雀韬吞O果已經(jīng)開始有所行動(dòng),在這些芯片上進(jìn)行語音識(shí)別,但在ML或嵌入式世界中,似乎沒有多少人意識(shí)到深度學(xué)習(xí)和MCUs的結(jié)合價(jià)值。
深度學(xué)習(xí)可以做到非常高的能源利用率
我花了很多時(shí)間去思考焦耳/運(yùn)算(picojoules per op.,CPU算數(shù)單元的能量開銷)的問題。因?yàn)檫@樣我可以得出一個(gè)大概的估計(jì),知道一個(gè)神經(jīng)網(wǎng)絡(luò)大概要消耗多少能量。例如,MobileNetV2圖像分類網(wǎng)絡(luò)在最小的版本中要2200萬個(gè)操作,如果知道每個(gè)操作需要5微微焦的能量,那么他就需要110微瓦的能量,如果我們每秒分析一幀,那么只有110微瓦,一枚硬幣電池可以持續(xù)使用一年。這些數(shù)字在目前的dsp元件中是非常有競(jìng)爭力的。
深度學(xué)習(xí)能夠感知傳感器的數(shù)據(jù)
在過去幾年,利用神經(jīng)網(wǎng)絡(luò)接收?qǐng)D像、音頻、加速度等噪聲信號(hào),并從中提取出價(jià)值這一難題,突然變得可能。因?yàn)槲覀兛梢栽谖⒖刂破髦羞\(yùn)行這些模型,而傳感器本身只需要很少的電量,所以我們可以從傳感器數(shù)據(jù)中獲取更多的價(jià)值。例如,我希望讓所有設(shè)備都有一個(gè)簡單的語音交互能力。用于理解短語,或可以使用圖像傳感器完成目標(biāo)檢測(cè),這樣可以不依賴按鈕來完成很多操作。希望這種語音交互組件可以在50美分硬幣電池下運(yùn)行一年,并且這在我們當(dāng)前的技術(shù)上是可行的。
另一個(gè)例子是,我想要一個(gè)小型電池驅(qū)動(dòng)的圖像傳感器,我可以對(duì)它進(jìn)行編程,以查找特定的作物害蟲或雜草,并在被發(fā)現(xiàn)時(shí)發(fā)出警報(bào)。它們可以分散在農(nóng)田周圍,以一種更環(huán)保的方式指導(dǎo)諸如除草或殺蟲劑等干預(yù)措施。
讓我印象深刻的一個(gè)工業(yè)例子是一個(gè)工廠的經(jīng)營者對(duì)“Hans”的描述。他是一個(gè)資深工程師,每天都要沿著一排機(jī)器走,并把手放在每一個(gè)機(jī)器上,聽著,然后告訴工頭哪些機(jī)器需要離線維修,這些都是基于經(jīng)驗(yàn)和直覺的。如果你能在每臺(tái)機(jī)器上安裝一個(gè)電池驅(qū)動(dòng)的加速度計(jì)和麥克風(fēng)(一個(gè)“Cyber-Hans”),倘若出現(xiàn)異常,這些機(jī)器將提前給工廠警告。
類似的想法還有很多,但最讓我興奮地是,我不知道這些設(shè)備將如何使用,但背后的技術(shù)是如此迷人,這將建立我無法想象的全新應(yīng)用程序。對(duì)我來說,就像80年代家用電腦出現(xiàn)時(shí)的樣子。我不知道它們會(huì)變成什么,當(dāng)時(shí)大多數(shù)人都用它來玩游戲或存儲(chǔ)地址簿,但我知道這種設(shè)備將為世界帶來太多的可能性。
召開會(huì)議而不是發(fā)送文件的唯一理由是為了傳達(dá)信息之外的情感。我想和CogX觀眾分享的是我對(duì)ML在小型設(shè)備上的應(yīng)用前景。我不知道未來會(huì)出現(xiàn)什么細(xì)節(jié),但我知道可用于機(jī)器學(xué)習(xí)微型化、廉價(jià)化的電池驅(qū)動(dòng)芯片即將問世,它將帶來一批無法想象的新應(yīng)用。