このページは Cloud Translation API によって翻訳されました。
Switch to English

量子化を意識トレーニング

TensorFlowモデルの最適化によって維持

訓練後の量子化と量子化を意識トレーニング:量子化の2つの形式があります。始まる訓練後の量子化量子化を意識トレーニングはモデルの精度のため、多くの場合、より良いですが、それは、使用する方が簡単だから。

このページでは、それはあなたのユースケースにどのように適合するか判断するために量子化を意識トレーニングの概要を説明します。

概要

量子化を意識トレーニングは、下流のツールは、実際に量子化されたモデルを生成するために使用するモデルを作成、推論時の量子化をエミュレートします。量子化されたモデルは、展開時に利点をもたらす、より低い精度(代わりに32ビット浮動小数点の例えば8ビット)を使用します。

量子化と展開

量子化は、モデルの圧縮とレイテンシの削減を通じて改善をもたらします。テストしたバックエンドでのCPUの待ち時間で4倍の改善 - APIのデフォルトは、4倍速によるモデルサイズの収縮、およびで、私たちは、典型的には1.5の間を参照してください。最終的には、レイテンシーの改善は、次のような互換性のある機械学習促進剤、上で見ることができEdgeTPUとNNAPI。

技術は、音声、ビジョン、テキストでの生産に使用され、ユースケースを翻訳しています。コードは、現在サポートしているこれらのモデルのサブセットを

量子化とそれに関連するハードウェアを試してみてください

ユーザーは、量子化パラメータ(ビットの数など)と、ある程度、根本的なアルゴリズムを構成することができます。 APIのデフォルトからこれらの変更により、何の展開へのパスがサポートされていません。

この構成にするAPIの具体的な実験との下位互換性のない対象です。

APIの互換性

ユーザーは、次のAPIを使用して量子化を適用することができます。

  • モデル建物: tf.kerasシーケンシャルと機能モデルのみで。
  • TensorFlowバージョン:TF-毎晩のためのTF 2.xの。
    • tf.compat.v1 TF 2.xのパッケージでは、サポートされていません。
  • 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モバイル 74% 73%
Resnet-V2 50 75.6パーセント 75%

モデルはImagenet上でテストし、TensorFlowとTFLiteの両方で評価しました。

加えて、 量子化意識したトレーニング例は、以下の例を参照してください。

  • 量子化とMNIST手書き数字分類タスクのCNNモデル: コード

似たような背景については、 効率的な整数算術のみ推論のための量子化とニューラルネットワークのトレーニングを参照してください 。本論文では、このツールを使用するいくつかの概念を紹介します。実装はまったく同じではなく、このツール(例えばあたりの軸量子化)で使用される追加の概念があります。