微信公眾號(hào):量子位(ID:QbitAI)
今天凌晨,谷歌一年一度的TensorFlow開(kāi)發(fā)者大會(huì)在加州舉行。明明應(yīng)該是一場(chǎng)軟件盛會(huì),卻被生生開(kāi)出了硬件發(fā)布會(huì)的味道。
谷歌在會(huì)上發(fā)布了兩款A(yù)I硬件:售價(jià)僅千元搭載著TPU的開(kāi)發(fā)板;可以為L(zhǎng)inux機(jī)器學(xué)習(xí)推理加速的計(jì)算棒。它倆取代軟件成了本次發(fā)布會(huì)的主角。
當(dāng)然還有照例升級(jí)的TensorFlow 2.0 Alpha版,版本號(hào)提升的同時(shí),Logo也變成時(shí)下流行的扁平化設(shè)計(jì)。
在移動(dòng)設(shè)備運(yùn)行AI模型越來(lái)越主流的今天,用于部署在邊緣設(shè)備上的TensorFlow Lite終于迎來(lái)了1.0版。
下面就讓我們一起來(lái)回顧這場(chǎng)發(fā)布會(huì)的亮點(diǎn)吧。
發(fā)布會(huì)主角Coral
Coral開(kāi)發(fā)板(Coral Dev Board)是一款售價(jià)150美元(折合人民幣約1000元)的小型計(jì)算機(jī),具有可拆卸的模塊化系統(tǒng)和一個(gè)定制的TPU芯片,類(lèi)似于樹(shù)莓派。
Coral中的Edge-TPU尺寸大約只有一枚硬幣的1/4,擁有1GB的LPDDR4內(nèi)存和8GB的eMMC存儲(chǔ),安裝Mendel版Linux或者Android,可以進(jìn)行本地的離線(xiàn)運(yùn)算。
它不訓(xùn)練機(jī)器學(xué)習(xí)模型,而只是用TensorFlow Lite進(jìn)行推理預(yù)測(cè),因此比全??蚣芨?jié)能。
Coral能夠以每秒30幀的速度在高分辨率視頻上運(yùn)行深度前饋神經(jīng)網(wǎng)絡(luò),或者以每秒超過(guò)100幀的速度運(yùn)行MobileNet V2這樣的單一模型。
這位妹子現(xiàn)場(chǎng)用Coral展示了一個(gè)有趣的圖像分類(lèi)應(yīng)用。只需要開(kāi)發(fā)板加攝像頭,再加幾個(gè)按鈕而已。
右邊的四個(gè)按鈕,各自代表一個(gè)類(lèi)別。
給AI看一只橘子,連按十幾下黃色按鈕。
再看到橘子的時(shí)候,黃燈就會(huì)亮起。
再給AI看TF的標(biāo)志,也是橙色的,連按十幾下紅色按鈕。
然后,再看到標(biāo)志的時(shí)候,紅燈就會(huì)亮起。
這時(shí)候,就算再把橘子放到攝像頭前,AI也不會(huì)被迷惑,毫不猶豫地點(diǎn)亮黃燈。
同時(shí),谷歌還發(fā)布了一款Coral USB加速器,體內(nèi)同樣包含一顆Edge TPU,可以在任何64位ARM或x86平臺(tái)的Debian Linux上運(yùn)行。
Coral USB加速器售價(jià)75美元,可以加速樹(shù)莓派和Linux系統(tǒng)的機(jī)器學(xué)習(xí)推理。
谷歌不是第一個(gè)發(fā)布此類(lèi)產(chǎn)品的廠(chǎng)商,英特爾早在幾年前就發(fā)布過(guò)USB神經(jīng)網(wǎng)絡(luò)加速計(jì)算棒,但是神經(jīng)計(jì)算棒只支持Caffe,而Coral支持Caffe、TensorFlow和ONNX。
由于PyTorch能轉(zhuǎn)成ONNX,所以Coral實(shí)際上也能支持PyTorch。
連競(jìng)爭(zhēng)對(duì)手Facebook的大神Yann LeCun,也在推特上給出一個(gè)好評(píng):“Nice feature rundown at Hackaday”。
此外還有一款售價(jià)25美元、500萬(wàn)像素的相機(jī)配件。
前兩款硬件已經(jīng)可以去官網(wǎng)訂購(gòu),和查看詳細(xì)技術(shù)文檔:https://coral.withgoogle.com/
TF 2.0 Alpha
TensorFlow團(tuán)隊(duì)表達(dá)了對(duì)Keras更深的愛(ài)。
用tf.keras高層API,可以有效簡(jiǎn)化TF的使用。
團(tuán)隊(duì)說(shuō),從前tf.keras的設(shè)定用來(lái)做小模型的,要擴(kuò)大規(guī)模怎么辦?
估計(jì)器 (Estimators) 就是強(qiáng)大的工具。
在2.0里,tf.keras已經(jīng)集成了Estimators的能量:
如此,便不用在一個(gè)簡(jiǎn)單API和一個(gè)可擴(kuò)展API之間,再做多余的選擇。
死磕Keras,扔掉其他API,就是為了減少重復(fù)。
除此之外,就是Eager Execution變成了默認(rèn)設(shè)定。有了它,除了執(zhí)行起來(lái)更加快捷,debug也容易一些:
“可以使用 Python 調(diào)試程序檢查變量、層及梯度等對(duì)象。”
快速上手
如果想要絲滑入門(mén)TF 2.0的Alpha版,可前往TensorFlow新鮮設(shè)計(jì)的友好網(wǎng)站,那里有教程和指南:
https://www.tensorflow.org/alpha
團(tuán)隊(duì)溫馨建議,先觀(guān)察一下“Hello World”示例,分為初學(xué)者版和老司機(jī)版:
初學(xué)者版,用的是Keras Sequential API,最簡(jiǎn)單的入門(mén)大法;
老司機(jī)版,展示了怎樣用命令式來(lái)寫(xiě)正向傳播、怎樣用GradientTape來(lái)寫(xiě)自定義訓(xùn)練loop,以及怎樣用tf.function一行代碼自動(dòng)編譯。
然后,再去讀Effective TensorFlow 2.0等等指南。
不止這些,還有AutoGraph指南,代碼升級(jí)指南,以及其他Keras相關(guān)指南,一應(yīng)俱全。
還有新課
隨著TF 2.0 Alpha版一同發(fā)布的,還有兩門(mén)深度學(xué)習(xí)課程,零基礎(chǔ)可食用。
其中一門(mén),吳恩達(dá)老師參與了課程開(kāi)發(fā),叫做針對(duì)人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的TensorFlow入門(mén):
這是一套實(shí)踐課程,會(huì)教你在TensorFlow里面搭建神經(jīng)網(wǎng)絡(luò)、訓(xùn)練自己的計(jì)算機(jī)視覺(jué)網(wǎng)絡(luò),再利用卷積來(lái)改善網(wǎng)絡(luò)。
課程分四周》
第一周,了解一種編程新范式。
第二周,入門(mén)計(jì)算機(jī)視覺(jué)。
第三周,用CNN增強(qiáng)計(jì)算機(jī)視覺(jué)。
第四周,給網(wǎng)絡(luò)喂食真實(shí)世界的圖像。
另一門(mén),是優(yōu)達(dá)學(xué)城的免費(fèi)課,叫做針對(duì)深度學(xué)習(xí)的TensorFlow入門(mén)。
第一節(jié)課還在了解課程大綱,第三節(jié)課就已經(jīng)要訓(xùn)練自己的模型了:
現(xiàn)在,前四節(jié)課已經(jīng)上線(xiàn)。第五節(jié)待續(xù)中。
給手機(jī)用的TF Lite
介紹完TF 2.0后,谷歌TensorFlow Lite的工程師Raziel Alvarez上臺(tái),TF Lite 1.0版正式上線(xiàn)。
TensorFlow Lite是一個(gè)為移動(dòng)和嵌入式設(shè)備提供的跨平臺(tái)解決方案。谷歌希望讓TensorFlow能夠運(yùn)行在更多設(shè)備上。
除了PC和服務(wù)器以外,我們的生活中還有像手機(jī)、智能音箱、智能手表等設(shè)備需要用到機(jī)器學(xué)習(xí)模型,而它們都是無(wú)法運(yùn)行TensorFlow的。
要讓這些設(shè)備運(yùn)行TensorFlow需要面臨以下挑戰(zhàn):計(jì)算力不足、存儲(chǔ)空間有限、電池限制。
必須要有個(gè)輕量級(jí)(Lite)框架能將機(jī)器學(xué)習(xí)模型部署在移動(dòng)和IoT設(shè)備上的。
TensorFlow Lite就是為此而誕生,它于2017年5月在谷歌I/O開(kāi)發(fā)者大會(huì)上首次推出,目前它已經(jīng)部署到超過(guò)20億臺(tái)設(shè)備中,主要是通過(guò)以下一些軟件,包括谷歌官方應(yīng)用和兩家來(lái)自中國(guó)的應(yīng)用——愛(ài)奇藝、網(wǎng)易。
接著谷歌邀請(qǐng)了來(lái)自中國(guó)的網(wǎng)易機(jī)器學(xué)習(xí)工程師Lin Huijie介紹了TensorFlow Lite在“有道”中的應(yīng)用。
Lin Huijie說(shuō),網(wǎng)易用它實(shí)現(xiàn)了30~40%的圖片翻譯加速。
谷歌表示為移動(dòng)設(shè)備部署TF Lite非常方便,只需用TensorFlow打包好模型,再用TF Lite轉(zhuǎn)換器將之轉(zhuǎn)化為T(mén)F Lite模型。
經(jīng)過(guò)TF Lite的優(yōu)化后,設(shè)備在CPU上的性能達(dá)到原來(lái)的1.9倍,在Edge TPU上的性能最高提升了62倍。
其他
除了以上幾款硬件和軟件外,谷歌今天還發(fā)布了TensorFlow Federated,和TensorFlow Privacy。
TensorFlow Federated是一個(gè)開(kāi)源框架,用來(lái)訓(xùn)練來(lái)自不同位置數(shù)據(jù)的AI模型。TensorFlow Privacy能讓開(kāi)發(fā)人員更容易訓(xùn)練具有強(qiáng)大隱私保障的AI模型。
另外在發(fā)布會(huì)上亮相的有:TensorFlow.js 1.0;Swift for TensorFlow 0.2。