[論文レビュー] Efficient non-uniform quantizer for quantized neural network targeting reconfigurable hardware
本稿では、再構成可能なFPGAを対象としたハードウェア効率の良い非一様量子化器を提案する。重みと活性化の両方を単一スケールの整数表現で扱い、非一様量子化に正規累積分布関数(CDF)を用いることで、CIFAR-10およびCIFAR-100データセットで3〜4ビット量子化においてほぼ理想に近い精度を達成し、FPGA上で完全に整数演算のみで推論を実現する。
Convolutional Neural Networks (CNN) has become more popular choice for various tasks such as computer vision, speech recognition and natural language processing. Thanks to their large computational capability and throughput, GPUs ,which are not power efficient and therefore does not suit low power systems such as mobile devices, are the most common platform for both training and inferencing tasks. Recent studies has shown that FPGAs can provide a good alternative to GPUs as a CNN accelerator, due to their re-configurable nature, low power and small latency. In order for FPGA-based accelerators outperform GPUs in inference task, both the parameters of the network and the activations must be quantized. While most works use uniform quantizers for both parameters and activations, it is not always the optimal one, and a non-uniform quantizer need to be considered. In this work we introduce a custom hardware-friendly approach to implement non-uniform quantizers. In addition, we use a single scale integer representation of both parameters and activations, for both training and inference. The combined method yields a hardware efficient non-uniform quantizer, fit for real-time applications. We have tested our method on CIFAR-10 and CIFAR-100 image classification datasets with ResNet-18 and VGG-like architectures, and saw little degradation in accuracy.
研究の動機と目的
- 再構成可能なFPGAアクセラレータに適したハードウェア効率の良い非一様量子化器を設計すること。
- 特に極めて低いビット幅制約下でもモデル精度を維持できるようにするため、均一量子化の限界を克服すること。
- 重みと活性化を同一のスケール係数を用いた固定小数点整数として表現することで、整数演算のみの推論を可能とすること。
- 残差ブロックのアーキテクチャを変更して動的範囲を維持し、量子化による精度の低下を防ぐこと。
- CIFAR-10およびCIFAR-100でResNet-18およびVGG類似アーキテクチャを用いて、3〜4ビットの低ビット幅量子化下で最小限の精度低下を達成するための評価を行うこと。
提案手法
- ネットワークパラメータおよび活性化の両方に対して、正規CDFに基づく非一様量子化器を用い、均一量子化に代えて実際の活性化および重みの分布に適合させる。
- 重みと活性化の両方に単一スケールの整数表現を適用し、整数演算のみで効率的なハードウェアマッピングを実現する。
- 活性化関数を残差接続の前に行うように残差ブロックを再設計し、動的範囲を維持し、残差パスの飽和を回避する。
- 段階的量子化訓練方式を用い、層を最初の層から順に段階的に量子化することで、安定した収束を確保し、モデルの発散を防ぐ。
- バックプロパゲーションでは完全精度の重みコピーを用い、前方伝搬では量子化された値を使用するように、量子化プロセスをトレーニングパイプラインに統合する。
- 浮動小数点演算を完全に回避し、効率的なFPGA実装のため、ビットシフトと整数演算に依存する。
実験結果
リサーチクエスチョン
- RQ1正規CDFに基づく非一様量子化器は、FPGAにデプロイする低ビットDNNにおいて、均一量子化よりも精度を向上させることができるか?
- RQ2整数演算のみを効果的に重みと活性化に適用しながら、モデル精度を維持できるか?
- RQ3整数演算のみの量子化下で、残差ネットワークの動的範囲を維持するために必要なアーキテクチャ的変更は何か?
- RQ4均一量子化と比較して、提案手法はFPGA上でのハードウェアリソース使用量をどの程度削減できるか?
- RQ5本手法は、CIFAR-10およびCIFAR-100のような標準的な画像分類ベンチマークで、3〜4ビット精度でほぼ理想の精度を達成できるか?
主な発見
- CIFAR-10では、4ビットの重みと活性化を用いたResNet-18がトップ-1精度93.45%を達成し、完全精度ベースラインの93.76%と比較してわずか0.31%の低下にとどまった。
- CIFAR-100では、4ビット量子化のResNet-18がトップ-1精度71.71%を達成し、32ビットベースラインの73.95%と比較してわずか2.24ポイントの低下にとどまった。
- VGG類似アーキテクチャでは、量子化による精度低下がわずかに高まり、3ビットの重みと活性化でCIFAR-100で63.1%の精度を達成し、32ビットベースラインと比較して4.0ポイントの低下を示した。
- 変更された残差ブロック設計により、残差パスの動的範囲が効果的に維持され、低精度設定下での飽和による精度低下が防止された。
- 本手法により、浮動小数点演算を一切使用せずに完全な整数演算のみの推論が可能となり、FPGA上でのハードウェアリソース使用量が顕著に削減され、エネルギー効率が向上した。
- 結果から、正規CDF関数を用いた非一様量子化が、特にスキップ接続を有する残差ネットワークにおいて、3〜4ビット精度でもモデル精度を効果的に維持できることを示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。