谷歌發佈TensorFlow Lite,支持設備內機器學習模型的低延遲推理

安妮 編譯整理

量子位 出品 | 公眾號 QbitAI

還得從半年前說起。

今年5月的谷歌I/O大會上,安卓工程副總裁Dave Burke宣佈將推出一個專門為移動設備優化的TensorFlow,稱為TensorFlow Lite。

安妮 編譯整理

量子位 出品 | 公眾號 QbitAI

還得從半年前說起。

今年5月的谷歌I/O大會上,安卓工程副總裁Dave Burke宣佈將推出一個專門為移動設備優化的TensorFlow,稱為TensorFlow Lite。

谷歌發佈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。

谷歌發佈TensorFlow Lite,支持設備內機器學習模型的低延遲推理

安卓工程副總裁Dave Burke

自谷歌公佈這個計劃以來,已經湧現出了很多移動端部署AI的產品,包括蘋果的CoreML、Clarifai移動端訓練AI的雲服務、還有像華為Mate 10上的硬件麒麟970 AI處理器。

今天,谷歌終於宣佈推出TensorFlow Lite,它是TensorFlow在移動和嵌入式設備中的輕量解決方案,為開發者提供在移動和嵌入設備上部署AI的能力。

谷歌發佈TensorFlow Lite,支持設備內機器學習模型的低延遲推理

特性

從機架式服務器到小型物聯網設備,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。

谷歌發佈TensorFlow Lite,支持設備內機器學習模型的低延遲推理

安卓工程副總裁Dave Burke

自谷歌公佈這個計劃以來,已經湧現出了很多移動端部署AI的產品,包括蘋果的CoreML、Clarifai移動端訓練AI的雲服務、還有像華為Mate 10上的硬件麒麟970 AI處理器。

今天,谷歌終於宣佈推出TensorFlow Lite,它是TensorFlow在移動和嵌入式設備中的輕量解決方案,為開發者提供在移動和嵌入設備上部署AI的能力。

谷歌發佈TensorFlow Lite,支持設備內機器學習模型的低延遲推理

特性

從機架式服務器到小型物聯網設備,TensorFlow已經能在很多平臺上運行。

有一個問題是,隨著使用的機器學習模型數量在近幾年呈指數型增長,所以有必要在移動和嵌入設備中部署它們。TensorFlow Lite支持設備內(on-device)的機器學習模型的低延遲推理。

它有以下三點重要特性:

輕量:支持小型binary size和快速初始化/啟動的設備內機器學習模型的推理。

跨平臺:為可在多個不同平臺上運行而設計運行時,首先允許安卓和iOS平臺使用。

快速:對移動設備進行優化,包括有顯著改善的模型加載時間,並且支持硬件加速。

今天,越來越多的移動設備中加入了為特定用途的定製硬件,使之更有效地處理機器學習的負載。TensorFlow Lite用安卓的神經網絡API,以利用新的加速器。

當加速器硬件不可用時,TensorFlow Lite返回優化的CPU執行操作,保證模型仍讓在很多設備上快速運行。

架構

先來看張TensorFlow Lite的架構圖:

谷歌發佈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技術和產品新動態

相關推薦

推薦中...