Skip to main content
QUICK REVIEW

[論文レビュー] AdaBits: Neural Network Quantization with Adaptive Bit-Widths

Qing Jin, Linjie Yang|arXiv (Cornell University)|Dec 20, 2019
Advanced Neural Network Applications参考文献 50被引用数 17
ひとこと要約

AdaBitsは、重みと活性化のための適応的ビット幅を可能にする共同学習アプローチを提案する。これにより、異なるハードウェア制約に即座にモデルを適合できる。ビット幅ごとにクリッピングパラメータを分離するためのスイッチ可能なクリッピングレベル(S-CL)を導入することで、MobileNet V1/V2およびResNet50のImageNet上で、個別に量子化されたモデルと同等の精度を達成し、2ビットや3ビットのような低ビット幅でも最小限の性能低下に抑えられる。

ABSTRACT

Deep neural networks with adaptive configurations have gained increasing attention due to the instant and flexible deployment of these models on platforms with different resource budgets. In this paper, we investigate a novel option to achieve this goal by enabling adaptive bit-widths of weights and activations in the model. We first examine the benefits and challenges of training quantized model with adaptive bit-widths, and then experiment with several approaches including direct adaptation, progressive training and joint training. We discover that joint training is able to produce comparable performance on the adaptive model as individual models. We further propose a new technique named Switchable Clipping Level (S-CL) to further improve quantized models at the lowest bit-width. With our proposed techniques applied on a bunch of models including MobileNet-V1/V2 and ResNet-50, we demonstrate that bit-width of weights and activations is a new option for adaptively executable deep neural networks, offering a distinct opportunity for improved accuracy-efficiency trade-off as well as instant adaptation according to the platform constraints in real-world applications.

研究の動機と目的

  • 推論中に重みと活性化のビット幅を動的に調整することで、リアルタイムかつハードウェアに適応したディープニューラルネットワークのデプロイを可能にすること。
  • 再トレーニングなしで、特に低ビット幅での量子化においても高いモデル精度を維持する課題に対処すること。
  • 複数のビット幅にわたる共有パラメータを用いた共同学習が、個別にトレーニングされた量子化モデルの性能を再現できるかどうかを検証すること。
  • 特にクリッピングレベル最適化において、異なるビット幅設定間の干渉を防ぐメカニズムを開発すること。
  • 幅、深さ、カーネルサイズを超えて、ビット幅がモデル圧縮と適応的デプロイの有効な自由度であるかどうかを示すこと。

提案手法

  • 重みと活性化の複数ビット幅を同時にサポートする1つのモデルを学習する共同学習フレームワークを提案し、ビット幅固有のクリッピングレベルを除き、他のすべてのパラメータを共有する。
  • スイッチ可能なクリッピングレベル(S-CL)を導入し、各ビット幅ごとに独立したクリッピングレベルパラメータを割り当てることで、異なるビット幅間の最適化干渉を防止する。
  • ベースラインの量子化スキームとしてスケール補正学習(SAT)を採用し、それを共同学習プロセスに統合することで、一貫性のある量子化意識学習を実現する。
  • トレーニング中にビット幅を切り替える微分可能なルーティングメカニズムを採用し、全ビット幅設定のエンドツーエンド最適化を可能にする。
  • フル精度の重みのみを保存し、各ビット幅ごとにオンザフライで量子化する修正スキームを採用することで、各ビット幅の量子化重みを別々に保存するよりもモデルサイズを削減する。
  • 比較のためのベースラインとして、ビット幅の上昇または下降の順序でトレーニングするプログレッシブトレーニング戦略を採用し、高ビット幅から低ビット幅にファインチューニングする際の性能低下を評価する。

実験結果

リサーチクエスチョン

  • RQ1重みと活性化の複数ビット幅を同時にサポートする1つのニューラルネットワークを共同学習させることで、全設定において高い精度を維持できるか?
  • RQ2ビット幅を上昇順または下降順にトレーニングすると、高ビット幅から低ビット幅にファインチューニングする際に性能劣化が生じるか?
  • RQ3ビット幅固有のクリッピングレベルを備えた共有モデルが、2ビットや3ビットのような低ビット幅で個別にトレーニングされたモデルを上回る性能を発揮できるか?
  • RQ4スイッチ可能なクリッピングレベル(S-CL)メカニズムが、各ビット幅ごとにクリッピングパラメータを分離することで、量子化性能をどのように向上させるか?
  • RQ5従来の幅倍率スケーリングのようなモデル圧縮技術と比較して、適応的ビット幅は、精度と効率のトレードオフをどの程度改善できるか?

主な発見

  • S-CLを用いた共同学習により、MobileNet V1、MobileNet V2、ResNet50の全ビット幅において、個別に量子化されたモデルとほぼ同一のImageNetテスト精度が達成された。
  • 2ビットのResNet50では、S-CLを備えたAdaBitsがトップ-1精度34.1%を達成し、ビット幅を下降順にトレーニングするプログレッシブトレーニング(28.5%)を著しく上回った。
  • 4ビットおよび3ビットのResNet50では、AdaBitsが下降順プログレッシブ量子化と比較して2.2%の精度向上を示し、優れた一般化性能を示した。
  • S-CLを備えた修正版AdaBitsは、vanilla AdaBitsと比較して4ビットのMobileNet V1で0.3%の精度向上を達成し、クリッピングレベル管理の改善による段階的利得を示した。
  • 6ビットでは、AdaBitsはフル精度モデルと同等の性能を達成し、モデルサイズを4.74倍、BitOPsを14.25倍に削減した。幅倍率スケーリング(0.35×)はサイズを2.06倍にしか減らさず、AdaBitsが優れた性能を発揮した。
  • S-CLメカニズムにより、各ビット幅に最適なクリッピングレベルが達成された。AB-MobileNet V1の可視化では、高いビット幅では一貫して大きなクリッピングレベルが使用されており、個別モデルの挙動と整合的であった。

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

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

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

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