本頁面由 Cloud Translation API 翻譯而成。
Switch to English

量化意識到培訓

通過TensorFlow模型優化維護

有兩種形式的量化:崗位培訓量化和量化感知訓練。與啟動後的培訓量化 ,因為它更容易使用,雖然量化意識到培訓往往是更好地為模型的準確性。

本頁提供有關量化意識到培訓的概述,以幫助您確定如何與你的使用情況相符。

概觀

量化知道訓練模擬推斷時間量化,建立了一個模型,下游工具將用來生產實際量化模型。量化的模型使用較低精度(例如8位,而不是32位浮點),在部署期間導致的好處。

與量化部署

量化帶來通過模型壓縮和延遲減小的改進。與API默認值,模型大小收縮了4倍,一般我們看到1.5之間 - 在CPU的等待時間改進在所測試的4倍後端。最終,改善延遲,可以看出在兼容的機器學習加速器,如EdgeTPU和NNAPI。

該技術在生產中的語言,視力,文本中使用,並翻譯使用情況。該代碼目前支持這些模型的子集

實驗與量化和相關硬件

用戶可以配置的量化參數(例如,比特數)和在一定程度上,底層算法。從API默認這些變化,有沒有支持路徑部署。

特定的API這樣的結構是實驗並沒有受到向後兼容性。

API兼容性

用戶可以應用量化並通過以下API:

  • 建立模型: tf.keras只有順序和功能模型。
  • TensorFlow版本:TF x為TF-夜間。
  • TensorFlow執行模式:急於執行

這是我們的路線圖,在以下幾個方面增加支持:

  • 建立模型:澄清子類,模型如何限制不支持
  • 分佈式訓練: tf.distribute

一般支持矩陣

支持在以下幾個方面可供選擇:

  • 型號範圍:使用模型白名單的層 ,當它遵循Conv2D和DepthwiseConv2D層BatchNormalization,並在有限的情況下, Concat
  • 硬件加速:我們的API默認值與EdgeTPU,NNAPI和TFLite後端加速兼容,等等。看到路線圖的警告。
  • 與量化部署:僅每軸量化為卷積的層,而不是每個張量量化,當前支持。

這是我們的路線圖,在以下幾個方面增加支持:

  • 型號範圍:擴大到包括RNN / LSTMs和一般的毗連支持。
  • 硬件加速:確保TFLite轉換器能夠產生全整數模型。見這個問題的詳細信息。
  • 用量化的用例的實驗:
    • 與量化算法跨度Keras層實驗或所需要的訓練步驟。
    • 穩定的API。

結果

與工具圖像分類

模型非量化頂1精度 8-比特量化精度
MobilenetV1 224 71.03% 71.06%
RESNET V1 50 76.3% 76.1%
MobilenetV2 224 70.77% 70.01%

模特們在Imagenet測試,並在這兩個TensorFlow和TFLite評估。

對於技術圖像分類

模型非量化頂1精度 8-比特量化精度
Nasnet-Mobile的 74% 73%
RESNET-V2 50 75.6% 75%

模特們在Imagenet測試,並在這兩個TensorFlow和TFLite評估。

例子

除了量化知道訓練例子 ,看下面的例子:

  • 與量化MNIST手寫數字分類任務CNN型號: 代碼

有關類似的背景,看到神經網絡的量化和培訓高效整數算術只有推理 。本文介紹了一些概念,這個工具使用。該實現是不完全一樣,並有在該工具中使用的附加概念(例如,每個軸量化)。