Google I/O 2017推出的Tensorflow Lite有什麼意義?

在移動端部署的deep learning架構會有怎樣的幫助?機能不允許進行training吧?


TensorFlow Lite+Android,細說Google要搞的大事情

近日谷歌開源了TensorFlow的終端版本TensorFlow

Lite,這個版本的發布其實早在預料之中,但又能從這件事看出未來谷歌整個生態版圖的一些端倪,接下來就讓博主為大家分析一下。

首先為什麼說TensorFlow Lite的發布早在意料之中呢?因為TensorFlow在之前的版本中已經發布了Android可運行的版本,我們知道Android是谷歌的另一大開源利器,也就是說谷歌從一開始就設想將終端系統Android和TensorFlow做一個整合。下面集中討論下,這兩大框架的整合到底能產生什麼價值。大家都知道現在IT領域最火的兩個技術,一個是人工智慧,另外一個是物聯網(IOT)。Android是大部分物聯網設備未來的內在系統,而TensorFlow又是業內標準的訓練框架,這兩個系統的整合將會產生巨大的化學反應。

先來看下人工智慧和物聯網領域融合所面臨的主要挑戰,以機器人為例。目前有很大的機器人公司都希望機器人作為智能的載體為人類提供服務,需要機器人能聽、說、讀、寫,這些背後的功能就是深度學習的識別模型。在將這些人工智慧模型服務化的過程中會面臨以下一些挑戰:

1. 如果模型文件太大,比如機器人的圖像識別、語音識別模型通常都達到幾百兆,這些模型文件如果特別大,當模型非常多的時候,很難在終端部署。

2. 很多機器人的功能需要調用雲端服務,那麼一旦斷網,這些服務就會中斷

3. 目前機器人所有模型訓練工作全在雲端完成,需要數據上傳,這就會產生安全風險

4. 數據在雲端訓練很難實時同步到終端

那麼通過TensorFlow Lite和Android模型的結合將有效解決以上問題,首先TensorFlow Lite可以大大壓縮模型大小,適配終端;另外,TensorFlow Lite完全可以將模型的serving本地部署,並且提升效率,解決了斷網情況造成的影響。最後,未來隨著終端硬體能力的升級,完全可以做到訓練在終端本地完成,這樣對於無人駕駛或者機器人領域都將起到性能的大躍進,試想下汽車攝像頭邊進行路面圖像提取邊在汽車上直接進行模型訓練和預測工作,這些都可以通過TensorFlow Lite+Android的方案解決。

講到這裡其實谷歌要做的事情已經很清晰了,TensorFlow未來會作為Android的演算法framework層,為終端設備提供智能服務,

這個就是谷歌為物聯網的智能化做的提前布局。當這套體系都成為業內標準,那麼Android壓倒IOS,或者說谷歌建立IOT行業系統標準,只是時間問題。


主要意圖如下:

1 小巧且兼容的移動端Interpreter

因為TF mobile體積巨大,如果要裝入APK的話,可能比其他Android代碼加起來還要大。所以用TF Lite專註優化了interpreter的體積。

另外當schema定下來之後,通過重寫各平台的interpreter,以及對不同處理器的適配,可以達到更高的效率

2 小巧且優化的model

通過quantization等方法可以讓model小大概4倍所有

另外TF checkpoint讀進去的話,會把手機內存吃光,TFLite的model使用mmap進去的

3 移動端機器學習

一個是隱私問題,所以不能把所有數據都上傳到伺服器,在移動端跑就可以搞出更多應用

一個是速度問題,如果移動端的速度大於RPC延遲,那麼就是有價值的

以後甚至可能在移動端進行訓練,這樣在不侵犯隱私的情況下用更廣泛的訓練數據進行訓練


個人淺見,剛看到新聞沒多久,Tensorflow Lite 的目的不是在移動端訓練,而是在訓練的時候針對移動平台進行調整,在移動端運行的時候充分利用移動端平台加速。針對移動平台訓練特定的模型,達到最優化運行的目的。


但是這樣可以在移動端inference啊,而且未來慢慢迭代可以再加上模型壓縮,簡化開發部署之類的功能。現在TF想跑個移動版可噁心了,還得專門下個編譯工具…


移動端和雲端上的兩個framework這是大家差不多都看到的

lite的上數據來源不僅僅是谷歌的應用 還有其他的應用 換句話說 谷歌把模型的應用擴展了 把市場擴展了 假如某個app自帶一個模型 谷歌的模型可以替代自帶的模型


Google 推出 TensorFlow Lite 開發者預覽版,在 iOS 和 Android 端部署人工智慧。

2017/11/15報道,但是值得注意的是:

Tensorflow Lite將專註於將模型的現有功能應用於新數據,而不是從現有數據中學習新功能,大多數移動設備根本沒有處理能力。也就是說訓練的過程,移動端還是做不了,Lite大多還是跑下判定結果。


推薦閱讀:

如何評價 Cloud TPU?
如何看待谷歌推出 Google Play Protect 用以掃描清理「有害」APP?
Google I/O 2017 上有哪些關於 Android 的新亮點?
如何看待 Google 與 HTC 和聯想合作研發 Standalone VR?
Google Photos 如何能做到為全球用戶提供無容量限制的高質量圖片視頻免費存儲服務?

TAG:谷歌Google | GoogleIO | 深度學習DeepLearning | TensorFlow |