Skip to main content
QUICK REVIEW

[論文レビュー] TensorQuant - A Simulation Toolbox for Deep Neural Network Quantization

Dominik Marek Loroch, Norbert Wehn|arXiv (Cornell University)|Oct 13, 2017
Advanced Neural Network Applications被引用数 5
ひとこと要約

TensorQuant は、TensorFlow をベースにしたツールボックスであり、深層ニューラルネットワークにおける低精度固定小数点量子化の細粒度なシミュレーションを可能にし、カスタムハードウェアの演算レベルの動作をエミュレートする。本研究では、内在的丸めと勾配量子化が顕著にアーキテクチャ依存であることが示され、AlexNet などのより深いネットワークの安定した学習には、16ビット固定小数点形式で少なくとも12桁の小数部が必要であることが判明した。

ABSTRACT

Recent research implies that training and inference of deep neural networks (DNN) can be computed with low precision numerical representations of the training/test data, weights and gradients without a general loss in accuracy. The benefit of such compact representations is twofold: they allow a significant reduction of the communication bottleneck in distributed DNN training and faster neural network implementations on hardware accelerators like FPGAs. Several quantization methods have been proposed to map the original 32-bit floating point problem to low-bit representations. While most related publications validate the proposed approach on a single DNN topology, it appears to be evident, that the optimal choice of the quantization method and number of coding bits is topology dependent. To this end, there is no general theory available, which would allow users to derive the optimal quantization during the design of a DNN topology. In this paper, we present a quantization tool box for the TensorFlow framework. TensorQuant allows a transparent quantization simulation of existing DNN topologies during training and inference. TensorQuant supports generic quantization methods and allows experimental evaluation of the impact of the quantization on single layers as well as on the full topology. In a first series of experiments with TensorQuant, we show an analysis of fix-point quantizations of popular CNN topologies.

研究の動機と目的

  • 学習および推論中の DNN における量子化効果を評価するための体系的でないツールの欠如に対処すること。
  • 量子化の配置(内在的 vs. 外在的)および丸め方法がモデルの精度に与える影響を調査すること。
  • 固定小数点演算を操作レベルでエミュレートできる透明性が高く拡張性のあるシミュレーションフレームワークを提供すること。
  • Inception V3 や ResNet-152 などの最先端の CNN における量子化の影響を評価し、単純なアーキテクチャにとどまらないこと。
  • 分散学習およびカスタムハードウェアへのデプロイメントにおける量子化戦略の実験的検証を可能にすること。

提案手法

  • ユーザー定義の量子化方法をサポートする TensorFlow の計算グラフに量子化レイヤーを統合すること。
  • レイヤーワイズの量子化と、丸めおよびオーバーフロー処理を含む固定小数点演算の完全な演算レベルエミュレーションの両方をサポートすること。
  • 層間でのノイズ伝搬効果を比較するために、内在的および外在的丸め戦略を実装すること。
  • 量子化された勾配、重み、活性化を用いた標準的な DNN 学習パイプラインの使用を維持しながら、完全な TensorFlow 機能を保ったままの実装。
  • さまざまなワードサイズおよび小数部ビットの割り当てをシミュレートし、精度のトレードオフを評価すること。
  • 標準データセット(MNIST、CIFAR-10)および大規模モデル(LeNet、AlexNet、Inception V3、ResNet-152)におけるベンチマーク。

実験結果

リサーチクエスチョン

  • RQ1量子化の配置(内在的 vs. 外在的)が、学習中の深層ニューラルネットワークの精度にどのように影響するか?
  • RQ2異なる DNN アーキテクチャのための安定した学習に必要な最小ビット幅および小数部ビットの割り当ては何か?
  • RQ3勾配量子化は、特に AlexNet のようなより深いネットワークにおいて、収束性および最終的な精度にどのように影響するか?
  • RQ4LeNet のような単純なネットワークの結果は、より大きな最先端のアーキテクチャに一般化可能か?
  • RQ5異なる丸め方法(例:最近接丸め、切り捨て)は、学習ダイナミクスおよび最終的なモデル性能にどのように影響するか?

主な発見

  • MNIST における LeNet では、4ビット固定小数点(小数部2ビット)で 97% の相対的精度を達成でき、浅いネットワークにおける低精度学習が実現可能であることを示している。
  • AlexNet では、16ビットワード形式で少なくとも12桁の小数部が必要であり、92.6% の相対的精度を達成できる。これは、より深いネットワークが量子化精度に極めて敏感であることを示している。
  • AlexNet において 16ビット最近接丸めを使用した場合、高いテスト精度を示すにもかかわらず、L2正則化が効果的に機能しないため、学習損失が上昇する。これは、損失と一般化の間に乖離が生じていることを示している。
  • 内在的丸めは、外在的丸めよりも丸め方法およびビット幅に対してはるかに感受性が高く、アーキテクチャ間での一般化が難しくなる。
  • 異なる DNN アーキテクチャの間で安定した学習を保証する万能なビット幅設定は存在せず、ボトルネック層の感度はアーキテクチャによって異なる。
  • テストされたネットワークのすべての層において 16ビット固定小数点形式は十分であるが、整数部ビットよりも小数部ビットの確保が精度維持に重要である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。