[論文レビュー] Ristretto: Hardware-Oriented Approximation of Convolutional Neural Networks
Ristretto は、GPU 加速の高速フレームワークで、ハードウェア算術をシミュレートして CNN の圧縮を定量化し、ウェイトと活性化のビット幅を削減することにより、加算器のみの実装や低ビット幅実装を実現し、精度を維持するためのファインチューニングを行います。
Convolutional neural networks (CNN) have achieved major breakthroughs in recent years. Their performance in computer vision have matched and in some areas even surpassed human capabilities. Deep neural networks can capture complex non-linear features; however this ability comes at the cost of high computational and memory requirements. State-of-art networks require billions of arithmetic operations and millions of parameters. To enable embedded devices such as smartphones, Google glasses and monitoring cameras with the astonishing power of deep learning, dedicated hardware accelerators can be used to decrease both execution time and power consumption. In applications where fast connection to the cloud is not guaranteed or where privacy is important, computation needs to be done locally. Many hardware accelerators for deep neural networks have been proposed recently. A first important step of accelerator design is hardware-oriented approximation of deep networks, which enables energy-efficient inference. We present Ristretto, a fast and automated framework for CNN approximation. Ristretto simulates the hardware arithmetic of a custom hardware accelerator. The framework reduces the bit-width of network parameters and outputs of resource-intense layers, which reduces the chip area for multiplication units significantly. Alternatively, Ristretto can remove the need for multipliers altogether, resulting in an adder-only arithmetic. The tool fine-tunes trimmed networks to achieve high classification accuracy. Since training of deep neural networks can be time-consuming, Ristretto uses highly optimized routines which run on the GPU. This enables fast compression of any given network. Given a maximum tolerance of 1%, Ristretto can successfully condense CaffeNet and SqueezeNet to 8-bit. The code for Ristretto is available.
研究の動機と目的
- エンベデッドデバイスでのエネルギー効率の高いニューラルネット推論を、デコーディングや展開の複雑さを追加せず CNN を圧縮することによって動機づける。
- Ristretto フレームワークを紹介してハードウェア算術をシミュレートし、ウェイトと活性化のビット幅低減を探る。
- CaffeNet や SqueezeNet のような CNN が最小の精度低下で 1% の許容範囲内で 8-bit に圧縮できることを示す。
提案手法
- 層の入力、重み、出力を低精度へ量子化して、カスタムアクセラレータのハードウェア算術をシミュレートする。
- ビット幅を調整し、累積のための加算器ツリーを使用することにより、固定小数点と加算器のみの算術シナリオの両方をサポートする。
- 丸め方式を適用(推論では round-nearest-even、ファインチューニングでは確率的丸め)を用いて量子化誤差を管理。
- 離散パラメータ空間で量子化ネットワークをファインチューニングし、シャドウの高精度重みと更新時の確率的丸めを用いる。
- ネットワーク構造を変更せず、デコンプレッションのオーバーヘッドを導入せずに迅速に圧縮するために GPU 最適化ルーチンを活用する。
実験結果
リサーチクエスチョン
- RQ1CNN のパラメータと活性化の数値的精度を低減すると、与えられた許容範囲内で分類精度はどうなるか?
- RQ2CaffeNet や SqueezeNet のような CNN を 1% の精度損失を超えずに 8-bit 表現へ圧縮できるか?
- RQ3推論中と離散パラメータ空間でのファインチューニング中に、どの丸め戦略が精度を最もよく保持するか?
- RQ4CNN アクセラレータにおけるメモリ使用量と乗算器の使用に対する、ハードウェア志向の近似の実用的影響は何か?
主な発見
- Ristretto は 1% の許容範囲内で CaffeNet と SqueezeNet を 8-bit 表現へ凝縮できる。
- 離散パラメータ空間での量子化とファインチューニングは、過度なビット幅削減後の精度回復に役立つ。
- 丸め nearest-even は決定論的推論の量子化に使用され、確率的丸めは離散空間のファインチューニングを助ける。
- このフレームワークはデコンプレッションのオーバーヘッドを導入せず、ハードウェア算術をシミュレートすることでメモリ使用量と乗算器領域の削減を目指す。
- 加算器のみの算術は、ハードウェア経路でビット幅と累積精度を調整することで実現できる。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。