[論文レビュー] Efficient Bitwidth Search for Practical Mixed Precision Neural Network
本稿では、ニューラルネットワークにおける効率的で実用的な混合精度量子化を可能にする、効率的ビット幅探索(EBS)とバイナリ分解(BD)を提案する。EBSはO(1)のメモリと計算量で、全層にわたるビット幅を共同最適化するための共有メタウェイトテンソルと微分可能ソフトルーティングを用いる。一方、BDは標準のハードウェア上で効率的な混合精度畳み込みを可能にする。本手法はImageNetで3.26倍のFLOPs削減を達成し、SOTAの精度を実現し、均一精度ベースラインや先行の混合精度手法を上回る性能を発揮する。
Network quantization has rapidly become one of the most widely used methods to compress and accelerate deep neural networks. Recent efforts propose to quantize weights and activations from different layers with different precision to improve the overall performance. However, it is challenging to find the optimal bitwidth (i.e., precision) for weights and activations of each layer efficiently. Meanwhile, it is yet unclear how to perform convolution for weights and activations of different precision efficiently on generic hardware platforms. To resolve these two issues, in this paper, we first propose an Efficient Bitwidth Search (EBS) algorithm, which reuses the meta weights for different quantization bitwidth and thus the strength for each candidate precision can be optimized directly w.r.t the objective without superfluous copies, reducing both the memory and computational cost significantly. Second, we propose a binary decomposition algorithm that converts weights and activations of different precision into binary matrices to make the mixed precision convolution efficient and practical. Experiment results on CIFAR10 and ImageNet datasets demonstrate our mixed precision QNN outperforms the handcrafted uniform bitwidth counterparts and other mixed precision techniques.
研究の動機と目的
- 従来の勾配ベースの混合精度ビット幅探索手法における高い計算コストとメモリコストを解消すること。
- ネイティブに異種精度演算をサポートしない一般ハードウェアプラットフォームでも、効率的な混合精度畳み込みを可能にすること。
- 精度を最大化し、FLOPsを最小化するように、自動的に最適な層固有の重み・活性化のビット幅を同定すること。
- 混合精度量子化の探索コストを、性能を損なわせることなく、均一精度レベルにまで低減すること。
提案手法
- EBSは、全候補ビット幅にわたって1つのメタウェイトテンソルを再利用することで、各ビット幅ごとに別々の重みを保持する方法と比較して、メモリコストをO(N)からO(1)に削減する。
- 訓練中に各層ごとに最も効果的なビット幅を動的に選択するため、ソフトマックスを用いた微分可能ソフトルーティング機構を採用する。
- 各ビット幅ペアごとに別々の畳み込みを実行するのではなく、全ビット幅にわたる量子化された重みと活性化の重み付き和を計算することで、計算量をO(N²)からO(1)に削減する。
- ビット幅選択を微分可能最適化問題として定式化し、勾配降下を用いたエンドツーエンド最適化を可能にする。
- バイナリ分解(BD)は、混合精度テンソルをバイナリ行列とスカラ係数に分解し、標準ハードウェア上で効率的な混合精度畳み込みを可能にする。
- BDにより、ネイティブなバイナリおよび低精度命令(例:INT4、INT8)を活用して推論を高速化でき、専用ハードウェアを必要としない。
実験結果
リサーチクエスチョン
- RQ1微分可能ビット幅探索におけるメモリおよび計算コストを、均一精度に近い水準まで削減できるか?
- RQ2一般用途のハードウェアプラットフォーム上で、異なるビット幅の重みと活性化の畳み込みを効率的に実行できるか?
- RQ3微分可能でパラメータ効率の良い探索手法は、手動設計やルールベースの手法よりも優れたビット幅割り当てを発見できるか?
- RQ4提案手法は、既存の均一精度および混合精度ベースラインと比較して、より高い精度またはより優れたFLOPs効率を達成できるか?
主な発見
- EBS-Detは、558M FLOPsでImageNetで71.1%のトップ1精度を達成し、フル精度のResNet-18(70.4%)を上回り、SOTAの5ビットPACTモデルを1.8%上回る精度を実現しながらFLOPsを低減した。
- EBS-Stoは、564M FLOPsで70.0%のトップ1精度を達成し、5ビットおよび4ビットの均一精度ベースラインと同等またはそれを上回り、FLOPsを最大3.26倍まで削減した。
- DNASと比較して、GPUメモリ使用量を90%以上削減し、トレーニング時間を50%以上短縮した。これにより、DNASがOOMで失敗するバッチサイズ128でも探索が可能になった。
- 本手法は非均一なビット幅分布を発見した——大部分の重みは1ビットである一方、活性化は通常3〜4ビットである——これは、活性化にはより高い精度が必要であることを裏付けた。
- ラベルリファイニング強化を施したEBS-Detは、369M FLOPsで70.3%のトップ1精度を達成し、DNASを1.6%上回りながらFLOPsを4.93倍も削減した。
- バイナリ分解により、ネイティブな低精度命令を活用した効率的な混合精度推論が可能になり、本手法は実装に向けた実用性を有するようになった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。