谷歌發佈TensorFlow Lite,支持設備內機器學習模型的低延遲推理
安妮 編譯整理
量子位 出品 | 公眾號 QbitAI
還得從半年前說起。
今年5月的谷歌I/O大會上,安卓工程副總裁Dave Burke宣佈將推出一個專門為移動設備優化的TensorFlow,稱為TensorFlow Lite。
安妮 編譯整理
量子位 出品 | 公眾號 QbitAI
還得從半年前說起。
今年5月的谷歌I/O大會上,安卓工程副總裁Dave Burke宣佈將推出一個專門為移動設備優化的TensorFlow,稱為TensorFlow Lite。
△ 安卓工程副總裁Dave Burke
自谷歌公佈這個計劃以來,已經湧現出了很多移動端部署AI的產品,包括蘋果的CoreML、Clarifai移動端訓練AI的雲服務、還有像華為Mate 10上的硬件麒麟970 AI處理器。
今天,谷歌終於宣佈推出TensorFlow Lite,它是TensorFlow在移動和嵌入式設備中的輕量解決方案,為開發者提供在移動和嵌入設備上部署AI的能力。
安妮 編譯整理
量子位 出品 | 公眾號 QbitAI
還得從半年前說起。
今年5月的谷歌I/O大會上,安卓工程副總裁Dave Burke宣佈將推出一個專門為移動設備優化的TensorFlow,稱為TensorFlow Lite。
△ 安卓工程副總裁Dave Burke
自谷歌公佈這個計劃以來,已經湧現出了很多移動端部署AI的產品,包括蘋果的CoreML、Clarifai移動端訓練AI的雲服務、還有像華為Mate 10上的硬件麒麟970 AI處理器。
今天,谷歌終於宣佈推出TensorFlow Lite,它是TensorFlow在移動和嵌入式設備中的輕量解決方案,為開發者提供在移動和嵌入設備上部署AI的能力。
特性
從機架式服務器到小型物聯網設備,TensorFlow已經能在很多平臺上運行。
有一個問題是,隨著使用的機器學習模型數量在近幾年呈指數型增長,所以有必要在移動和嵌入設備中部署它們。TensorFlow Lite支持設備內(on-device)的機器學習模型的低延遲推理。
它有以下三點重要特性:
輕量:支持小型binary size和快速初始化/啟動的設備內機器學習模型的推理。
跨平臺:為可在多個不同平臺上運行而設計運行時,首先允許安卓和iOS平臺使用。
快速:對移動設備進行優化,包括有顯著改善的模型加載時間,並且支持硬件加速。
今天,越來越多的移動設備中加入了為特定用途的定製硬件,使之更有效地處理機器學習的負載。TensorFlow Lite用安卓的神經網絡API,以利用新的加速器。
當加速器硬件不可用時,TensorFlow Lite返回優化的CPU執行操作,保證模型仍讓在很多設備上快速運行。
架構
先來看張TensorFlow Lite的架構圖:
安妮 編譯整理
量子位 出品 | 公眾號 QbitAI
還得從半年前說起。
今年5月的谷歌I/O大會上,安卓工程副總裁Dave Burke宣佈將推出一個專門為移動設備優化的TensorFlow,稱為TensorFlow Lite。
△ 安卓工程副總裁Dave Burke
自谷歌公佈這個計劃以來,已經湧現出了很多移動端部署AI的產品,包括蘋果的CoreML、Clarifai移動端訓練AI的雲服務、還有像華為Mate 10上的硬件麒麟970 AI處理器。
今天,谷歌終於宣佈推出TensorFlow Lite,它是TensorFlow在移動和嵌入式設備中的輕量解決方案,為開發者提供在移動和嵌入設備上部署AI的能力。
特性
從機架式服務器到小型物聯網設備,TensorFlow已經能在很多平臺上運行。
有一個問題是,隨著使用的機器學習模型數量在近幾年呈指數型增長,所以有必要在移動和嵌入設備中部署它們。TensorFlow Lite支持設備內(on-device)的機器學習模型的低延遲推理。
它有以下三點重要特性:
輕量:支持小型binary size和快速初始化/啟動的設備內機器學習模型的推理。
跨平臺:為可在多個不同平臺上運行而設計運行時,首先允許安卓和iOS平臺使用。
快速:對移動設備進行優化,包括有顯著改善的模型加載時間,並且支持硬件加速。
今天,越來越多的移動設備中加入了為特定用途的定製硬件,使之更有效地處理機器學習的負載。TensorFlow Lite用安卓的神經網絡API,以利用新的加速器。
當加速器硬件不可用時,TensorFlow Lite返回優化的CPU執行操作,保證模型仍讓在很多設備上快速運行。
架構
先來看張TensorFlow Lite的架構圖:
單個組件包括:
TensorFlow模型:一個存儲在磁盤中的TensorFlow模型。
TensorFlow Lite轉換器:將模型轉化為TensorFlow Lite文件格式的程序。
TensorFlow Lite模型文件:基於FlatBuffers的模型文件格式,已經對最大速度和最小規模進行過優化。
TensorFlow Lite模型之後會被部署到手機APP中,包括:
Java API:安卓上C++ API的輕便封裝
C++ API:加載TensorFlow Lite模型文件並調用編譯器,在安卓和iOS系統中都有體現。
編譯器:用一系列運算符執行模型。編譯器支持加載可選擇的操作符;如果沒有運算符,編譯器只有70KB,當所有運算符加載完時為300KB,比TensorFlow Mobile需要的1.5M小很多。
在選中的安卓設備上,編譯器將用安卓神經網絡API實現硬件加速,如果無API可用,將默認用CPU執行。
開發人員也可以使用C++ API實現自定義的內核,也可以被編譯器使用。
模型
目前,TensorFlow Lite已經開始支持一系列在手機上訓練和優化過的模型:
MobileNet:一種能識別1000多種不同物體類別的視覺模型,專為高效執行移動和嵌入式設備而設計。
Inception v3:功能類似MobileNet的圖像識別模型,它的準確性更高,尺寸也更大。
智能回覆:一種設備內部的對話模型,支持即時回覆對話聊天信息。第一方和第三方的訊息App在Android Wear上使用這個特徵。
Inception v3和MobileNet已經在ImageNet數據集上進行了訓練。你可以通過遷移學習在你的圖像數據集上重新訓練這些數據。
未來
目前,TensorFlow已經可以通過TensorFlow Mobile API支持移動嵌入設備中的模型部署。未來,TensorFlow Lite應該被當做TensorFlow Mobile的進化版,隨著不斷優化將成為移動和嵌入設備上部署模型的推薦解決方案。
今天推出的TensorFlow Lite還是開發者預覽版本,目前TensorFlow Mobile已久支持應用程序的開發。
最後,附一系列資料——
代碼地址:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite
文檔頁面:
https://www.tensorflow.org/mobile/tflite/
博客介紹:
https://developers.googleblog.com/2017/11/announcing-tensorflow-lite.html
模型示例:
https://research.googleblog.com/2017/11/on-device-conversational-modeling-with.html
安卓神經網絡API:
https://developer.android.com/ndk/guides/neuralnetworks/index.html
— 完 —
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態