BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoogleがTensorFlowモデル最適化のためのQuantization Aware Trainingをリリース

GoogleがTensorFlowモデル最適化のためのQuantization Aware Trainingをリリース

原文(投稿日:2020/04/14)へのリンク

Googleは、TensorFlow Model Optimization Toolkit用のQuantization Aware Training(QAT)APIのリリースを発表した。QATは、ニューラルネットワークトレーニングプロセス中に低精度のハードウェアをシミュレートし、全体的なネットワーク損失メトリックに量子化誤差を追加する。これにより、トレーニングプロセスがトレーニング後の量子化の影響を最小限に抑えられる。

GoogleのソフトウェアエンジニアであるPulkit Bhuwalka氏が、最近のTensorFlow Dev Summitで新しいAPIの概要を説明した。TensorFlowのモバイルおよびIoTツールキットであるTensorFlow Liteは、モデルのトレーニング後の量子化をサポートする。これにより、モデルサイズを最大4倍に縮小し、推論速度を最大1.5倍に高めることができる。ただし、量子化は計算の精度を低下させ、モデルの精度を低下させる可能性がある。トレーニング中に推論時の量子化エラーをシミュレートすることにより、QATは「量子化に対してより堅牢な」モデルをもたらす。QAT APIは、カスタムの量子化戦略のシミュレーションもサポートするため、研究者は、TensorFlow Liteで現在サポートされているもの以外にも、他のプラットフォームや量子化アルゴリズムのモデルをターゲットにすることができる。TensorFlowモデル最適化チームはブログ投稿に次のように述べている

QAT APIによって、TensorFlowユーザがTensorFlow Liteを活用した製品において実行効率化の限界をさらに押し上げることができるようになることを非常に楽しみにしています。そして、新しい量子化アルゴリズムを研究し、さまざまなレベルの精度で新しいハードウェアプラットフォームをさらに開発するための扉を開く方法を楽しみにしています。

多くの最先端のディープラーニングモデルは、巨大で遅すぎて、モバイルデバイスやIoTデバイスでそのまま使用することはできない。これらのデバイスでは大抵、電力、ストレージ、メモリ、プロセッサ速度など、すべてのリソースに制約がある。量子化では、32ビット浮動小数点数の代わりに8ビット整数を使用してモデルパラメータを格納し、計算を実行することにより、モデルサイズを削減する。これにより、モデルのパフォーマンスは向上するが、計算にエラーが発生し、モデルの精度が低下する。これらのエラーは、最終的な答えを計算するために必要なすべての操作で蓄積される。QATの見解は、トレーニング中にこれらのエラーをシミュレートすることにより、エラーが損失メトリックの一部になり、トレーニングプロセスによって最小化されるというものである。したがって、モデルは量子化エラーを補償するように「事前に構築」される。

また、データ入力の量子化と隠れ層のアクティブ化にはこれらの値のスケーリングが必要なため、量子化アルゴリズムにはこのデータの分布に関する知識が必要となる。特にそれらの最大値と最小値である。トレーニング後の量子化スキームでは、スケーリング係数を決定するためにキャリブレーションステップが必要になることがよくあるが、適切な代表サンプルを使用しないと、エラーが発生しやすくなる。QATは、適切なスケーリング係数を選択するために必要な統計値を維持することにより、このプロセスを改善する。本質的には、データの適切な量子化を「学習」している。

TensorFlow Model Optimizationは、昨年の夏に完全なトレーニング後の整数量子化を導入した。しかし、量子化対応のトレーニングは、非公式の「contrib」パッケージとしてのみ利用可能であった。ディープラーニングフレームワーク分野におけるTensorFlowの主な競合であるPyTorchは、昨年末に独自の公式の量子化対応トレーニングツールをリリースした。

Twitterのディスカッションで、TensorFlowのプロダクトマネージャーであるPaige Bailey氏は、次の質問に対して、TensorFlowモデル最適化ツールキットの使用を提案した

デスクトップにデプロイするためにモデルを圧縮するのに役立つ、Deep Compression技術(最初にSong Han氏によって提案された)に相当するものがTFに実装されているでしょうか。

MITのSong Han教授によって提案されたDeep Compressionは、量子化、ネットワークプルーニング、データ圧縮を含む一連の手法である。TensorFlowモデル最適化ツールキットには現在、すべての量子化とネットワークプルーニングのサポートが含まれている。そして、ロードマップに今後の作業としてテンソル圧縮のサポートがリストされている。

TensorFlowモデル最適化のソースコードはGitHubで入手できる。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT