Skip to main content
QUICK REVIEW

[論文レビュー] And the Bit Goes Down: Revisiting the Quantization of Neural Networks

Pierre Stock, Armand Joulin|arXiv (Cornell University)|Jul 12, 2019
Neural Networks and Applications参考文献 46被引用数 68
ひとこと要約

本論文は、活性化に焦点を当てた積み上げ量子化法(加重k-meansを用いる)を提案し、in-domainの活性化に基づいて重みを量子化することでニューラルネットワークを圧縮し、ResNet-50およびMask R-CNNで20×–26×のメモリ削減を実現しつつ精度を維持し、CPU推論を可能にする。

ABSTRACT

In this paper, we address the problem of reducing the memory footprint of convolutional network architectures. We introduce a vector quantization method that aims at preserving the quality of the reconstruction of the network outputs rather than its weights. The principle of our approach is that it minimizes the loss reconstruction error for in-domain inputs. Our method only requires a set of unlabelled data at quantization time and allows for efficient inference on CPU by using byte-aligned codebooks to store the compressed weights. We validate our approach by quantizing a high performing ResNet-50 model to a memory size of 5MB (20x compression factor) while preserving a top-1 accuracy of 76.1% on ImageNet object classification and by compressing a Mask R-CNN with a 26x factor.

研究の動機と目的

  • 畳み込みニューラルネットワークのメモリフットプリントを削減し、組み込みデバイス/CPU上での効率的なデプロイを可能にする。
  • 重みよりもネットワーク出力(活性化)を保持し、ドメイン内再構成誤差を最小化する。
  • ラベルなしデータと蒸留を活用して、層単位・逐次的な手法で量子化コードブックを学習する。
  • CPU推論をサポートし、検出タスクへの適用性を広げる実用的なバイト整列量子化スキームを提供する。

提案手法

  • 重み列をm個のサブベクトルに分割してサブベクトル上でコードブックを学習することで、乗法的量子化(PQ)を適用する。
  • 通常の重み再構成目的を、ドメイン内の入力に対して ||y − ŷ||^2 を最小化する活性化焦点の目的に置換し、重み付きk-meansとして実装する(Eステップは x を使用、Mステップは最小二乗更新)。
  • 畳み込み層を重みテンソルを空間的にマッピングして量子化する(例:サブベクトルサイズ d = K×K を使用)し、活性化をそれに合わせて処理してサブベクトル間の相関を最大化する。
  • 非量子化の教師からの蒸留を用いてラベルを必要とせずにコードワードを微調整することで、ネットワークを下層から順次量子化する。
  • 層ごとの量子化後に全体のコードブックとBatchNorm統計をグローバルに微調整してドリフトを低減する(ImageNetで9エポック)。
  • 再現のためのオープンソースコードとモデルを提供する(論文中にGitHubリンクあり)。

実験結果

リサーチクエスチョン

  • RQ1活性化焦点量子化は、ドメイン内の精度保持のための重み焦点量子化より優れているか?
  • RQ2標準的なConvNetアーキテクチャ(例:ResNet-50)で、ImageNetのTop-1精度を損なわずにどれだけのメモリ節約が可能か?
  • RQ3蒸留付きの順次層ごとの量子化は、複雑なアーキテクチャや検出フレームワーク(例:Mask R-CNN)に有効か?
  • RQ4コードブック学習と蒸留にラベルなしデータを使用することは、量子化にラベル付きデータを不要にするか?
  • RQ5提案手法は、さまざまな予算とタスクにおいて、最新の圧縮アプローチとどのように比較されるか?

主な発見

  • 半教師あり学習を用いて、ResNet-50を5 MB(20×削減)に圧縮し、ImageNetでTop-1 76.1%を達成。
  • Mask R-CNNを26×(約6 MB)に圧縮し、非圧縮モデルと比較してBox APおよびMask APが競合。
  • 標準のResNet-18では、小ブロックと大ブロック設定で k=256 の場合 Top-1 はそれぞれ約65.81%と61.10%(約1.54–1.03 MBの範囲)。
  • ResNet-50では、小ブロックと大ブロック設定で k=256、Top-1 は約73.79%と68.21%(約5.09–3.19 MBの範囲)。
  • 半教師ありのResNet-50は約5.20 MBでTop-1 76.12%を達成し、同容量の強力な非圧縮ベースラインと同等の性能を実現。
  • アブレーション研究は、蒸留を組み込んだ活性化認識量子化が、同様の予算下で標準PQやラベルベースのファインチューニングを用いた代替より一貫して上回ることを示している。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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