[論文レビュー] Cheetah: Mixed Low-Precision Hardware & Software Co-Design Framework for DNNs on the Edge.
Cheetah は、固定小数点、浮動小数点、およびポジットを含む低精度形式を用いた深層ニューラルネットワーク(DNN)のトレーニングおよび推論を可能にする、混合精度のハードウェア・ソフトウェア共同設計フレームワークである。16ビットのポジットが16ビット浮動小数点を上回ること、およびエッジデバイスにおける同等の固定小数点または浮動小数点形式と比較して5〜8ビットのポジットが優れたパフォーマンスとエネルギー遅延積のトレードオフを達成することを示している。
Low-precision DNNs have been extensively explored in order to reduce the size of DNN models for edge devices. Recently, the posit numerical format has shown promise for DNN data representation and compute with ultra-low precision in [5..8]-bits. However, previous studies were limited to studying posit for DNN inference only. In this paper, we propose the Cheetah framework, which supports both DNN training and inference using posits, as well as other commonly used formats. Additionally, the framework is amenable for different quantization approaches and supports mixed-precision floating point and fixed-point numerical formats. Cheetah is evaluated on three datasets: MNIST, Fashion MNIST, and CIFAR-10. Results indicate that 16-bit posits outperform 16-bit floating point in DNN training. Furthermore, performing inference with [5..8]-bit posits improves the trade-off between performance and energy-delay-product over both [5..8]-bit float and fixed-point.
研究の動機と目的
- ポジットなどの新興数値形式を用いたトレーニングと推論を両方サポートする低精度 DNN フレームワークにおけるギャップを埋めること。
- さまざまなビット幅および量子化手法における固定小数点、浮動小数点、ポジットの数値形式の有効性を評価すること。
- 量子化手法(四捨五入対線形)が低精度 DNN における精度とハードウェア複雑性に与える影響を比較すること。
- エッジデプロイメントのための DNN におけるエネルギー遅延積と推論精度のトレードオフを最適化すること。
- エッジ AI のための数値形式と量子化戦略の体系的探索を可能にする統合共同設計フレームワークを提供すること。
提案手法
- Cheetah は、固定小数点、浮動小数点、およびポジット形式を用いた混合精度計算をサポートするソフトウェアフレームワークとハードウェアアクセラレータ(EMAC)を統合している。
- フレームワークは、四捨五入とシフト演算を伴う線形量子化の2つの量子化手法をサポートしており、柔軟な精度制御を可能としている。
- ポジット形式は語長(N)と指数部幅(es)でパrameter化されており、評価には <8,1> や <5,1> の設定が用いられている。
- FPGA を用いた EMAC を用いて、28nm および 14nm プロセスノードをターゲットに、ハードウェアのエネルギー遅延積と遅延を測定している。
- フレームワークは、フィードフォワードおよび畳み込みニューラルネットワークを用いて、MNIST、Fashion MNIST、CIFAR-10 の DNN を評価している。
- 数値形式および量子化手法の間で比較分析が行われており、精度の低下、エネルギー遅延積、遅延を測定している。
実験結果
リサーチクエスチョン
- RQ1ポジット数値形式は、16ビット浮動小数点と比較して、DNN トレーニングパフォーマンスを向上させることができるか?
- RQ25〜8ビットのポジットは、5〜8ビットの固定小数点および浮動小数点形式と比較して、DNN 推論において優れたパフォーマンスとエネルギー遅延積のトレードオフを達成できるか?
- RQ3異なる量子化アプローチ(四捨五入対線形)は、数値形式ごとに精度とハードウェア複雑性にどのように影響するか?
- RQ4エネルギー遅延積を最小限に抑えつつ精度を維持する最適なポジット設定(例: <8,1> 対 <8,0>)は何か?
- RQ5さまざまなデータセットおよび DNN アーキテクチャにおいて、混合精度形式に一貫した利点があるか?
主な発見
- 16ビットポジットは、DNN トレーニングにおいて16ビット浮動小数点を上回る性能を示しており、ポジットが低精度トレーニングに適していることを示している。
- 5〜8ビットの推論において、es = 1 のポジットは es = 2 より2%、es = 0 より4%高い平均精度を達成している。
- es = 1 のポジットは、es = 2 と比較してエネルギー遅延積を 2.1倍低減し、es = 0 と比較して 1.4倍低減している。
- es = 0 のポジットを用いた線形量子化は、es = 1 と同等の精度を達成するが、エネルギー遅延積を 18% 減少させている。
- データセット全体で最も低い精度低下が、ポジット <8,1> および <5,1> 形式で達成されており、同等の固定小数点および浮動小数点設定を上回っている。
- Cheetah は、es = 1 のポジットに対してエネルギー遅延積を 1.4倍改善し、es = 2 と比較して 2.1倍低減している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。