[論文レビュー] Phoenix: A Low-Precision Floating-Point Quantization Oriented Architecture for Convolutional Neural Networks
Phoenixは、キャリブレーション、微調整、再訓練を必要とせず、わずかな精度損失(トップ1で≤0.5%、トップ5で≤0.3%)で畳み込みニューラルネットワークの正規化指向の8ビット浮動小数点量子化手法を提案する。この手法により、高い効率性を持つハードウェアプロセッサアーキテクチャが実現され、AlexNetおよびVGG16において、最先端のアクセラレーターよりもそれぞれ3.32倍および7.45倍の性能を発揮する一方、GPUより151倍のエネルギー効率を達成する。
Convolutional neural networks (CNNs) achieve state-of-the-art performance at the cost of becoming deeper and larger. Although quantization (both fixed-point and floating-point) has proven effective for reducing storage and memory access, two challenges -- 1) accuracy loss caused by quantization without calibration, fine-tuning or re-training for deep CNNs and 2) hardware inefficiency caused by floating-point quantization -- prevent processors from completely leveraging the benefits. In this paper, we propose a low-precision floating-point quantization oriented processor, named Phoenix, to address the above challenges. We primarily have three key observations: 1) 8-bit floating-point quantization incurs less error than 8-bit fixed-point quantization; 2) without using any calibration, fine-tuning or re-training techniques, normalization before quantization further reduces accuracy degradation; 3) 8-bit floating-point multiplier achieves higher hardware efficiency than 8-bit fixed-point multiplier if the full-precision product is applied. Based on these key observations, we propose a normalization-oriented 8-bit floating-point quantization method to reduce storage and memory access with negligible accuracy loss (within 0.5%/0.3% for top-1/top-5 accuracy, respectively). We further design a hardware processor to address the hardware inefficiency caused by floating-point multiplier. Compared with a state-of-the-art accelerator, Phoenix is 3.32x and 7.45x better in performance with the same core area for AlexNet and VGG16, respectively.
研究の動機と目的
- キャリブレーション、微調整、再訓練を必要とせずに、深層CNNの低精度量子化における精度低下の課題を解決すること。
- 浮動小数点乗算器のハードウェア非効率性を克服するため、専用のプロセッサアーキテクチャを設計すること。
- 8ビット浮動小数点量子化によりメモリ帯域幅とストレージ要件を低減しながら、高いモデル精度を維持すること。
- ハードウェア・ソフトウェア共同設計アプローチにより、VGG16 や ResNet152 などの深層ネットワークにおける効率的な推論を可能にすること。
提案手法
- 活性化関数の量子化の前に正規化を適用する正規化指向の8ビット浮動小数点量子化手法を提案し、精度損失を低減すること。
- 統計的分布に基づいて重みと活性化関数に対して非一様量子化を適用し、量子化誤差を最小限に抑えること。
- 入力活性化関数と重みをプロセッシングエレメント(PE)間で共有する完全パイプライン化されたデータフロー型プロセッシングエレメント(PE)アーキテクチャを設計し、オンチップ帯域幅を削減すること。
- 完全精度の積を保持する8ビット浮動小数点乗算器を実装し、固定小数点アプローチに比べてハードウェア効率を向上させること。
- 量子化手法とプロセッサ設計を統合し、追加のキャリブレーションや再トレーニングなしにエンドツーエンドの低精度推論を可能にすること。
- TSMC 28nmプロセス技術を用いて回路配置と配線最適化を実施し、高い性能とエネルギー効率を達成すること。
実験結果
リサーチクエスチョン
- RQ1深層CNNにおいて、8ビット浮動小数点量子化は8ビット固定小数点量子化よりも低い量子化誤差を達成できるか?
- RQ2量子化の前に活性化関数を正規化することで、キャリブレーションや再トレーニングなしに精度の低下を低減できるか?
- RQ3完全精度の積を保持する場合、8ビット浮動小数点乗算器は8ビット固定小数点乗算器よりも高いハードウェア効率を達成できるか?
- RQ4カスタムプロセッサアーキテクチャは、面積とエネルギーのオーバーヘッドを最小限に抑えながら、低精度浮動小数点量子化の利点を完全に活用できるか?
- RQ5深層CNN推論において、提案されたシステムは最先端のアクセラレーターやGPUと比較して、性能とエネルギー効率で優れているか?
主な発見
- 提案された正規化指向の8ビット浮動小数点量子化は、VGG16などの深層CNNにおいて、キャリブレーション、微調整、再トレーニングを一切行わずに、トップ1で≤0.5%、トップ5で≤0.3%の精度損失を実現した。
- Phoenixは、同じコア領域を用いて、AlexNetでは最先端アクセラレーターより3.32倍、VGG16では7.45倍の高い性能を発揮した。
- Phoenixプロセッサは、コア領域1.44 mm²、消費電力1091.2 mWの条件下で、ピーク性能2.048 TMAC/sを達成した。
- Phoenixは、単一画像推論においてNvidia TITAN Xp GPUに比べて151倍のエネルギー効率を達成し、優れたエネルギー効率を示した。
- 完全パイプライン化されたデータフロー型アーキテクチャにより、プロセッシングエレメント間で入力を共有することで、内部帯域幅要件を低減した。
- 8ビット浮動小数点乗算器で完全精度の積を保持する手法は、固定小数点アプローチに比べて高いハードウェア効率を実現した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。