[論文レビュー] AutoDNNchip: An Automated DNN Chip Predictor and Builder for Both FPGAs and ASICs
AutoDNNchip は、PyTorch モデルから FPGA や ASIC ベースの最適化された DNN アクcelerator を自動生成するフレームワークであり、グラフベースの設計空間表現と予測可能なチップモデルを用いて、最小限の人的介入でエンドツーエンドのハードウェア生成を実現する。実測値との誤差が 10% 以内である精度を維持しながら、最先端のアーキテクチャを最大 3.86 倍の性能で上回る。
Recent breakthroughs in Deep Neural Networks (DNNs) have fueled a growing demand for DNN chips. However, designing DNN chips is non-trivial because: (1) mainstream DNNs have millions of parameters and operations; (2) the large design space due to the numerous design choices of dataflows, processing elements, memory hierarchy, etc.; and (3) an algorithm/hardware co-design is needed to allow the same DNN functionality to have a different decomposition, which would require different hardware IPs to meet the application specifications. Therefore, DNN chips take a long time to design and require cross-disciplinary experts. To enable fast and effective DNN chip design, we propose AutoDNNchip - a DNN chip generator that can automatically generate both FPGA- and ASIC-based DNN chip implementation given DNNs from machine learning frameworks (e.g., PyTorch) for a designated application and dataset. Specifically, AutoDNNchip consists of two integrated enablers: (1) a Chip Predictor, built on top of a graph-based accelerator representation, which can accurately and efficiently predict a DNN accelerator's energy, throughput, and area based on the DNN model parameters, hardware configuration, technology-based IPs, and platform constraints; and (2) a Chip Builder, which can automatically explore the design space of DNN chips (including IP selection, block configuration, resource balancing, etc.), optimize chip design via the Chip Predictor, and then generate optimized synthesizable RTL to achieve the target design metrics. Experimental results show that our Chip Predictor's predicted performance differs from real-measured ones by < 10% when validated using 15 DNN models and 4 platforms (edge-FPGA/TPU/GPU and ASIC). Furthermore, accelerators generated by our AutoDNNchip can achieve better (up to 3.86X improvement) performance than that of expert-crafted state-of-the-art accelerators.
研究の動機と目的
- 現在、設計に時間がかかり、専門知識を要する分野特化型 DNN アクセラレータの増加する需要に対応すること。
- 巨大な設計空間と DNN アルゴリズムとハードウェアアーキテクチャの間の複雑な共同最適化の課題を克服すること。
- 高レベルの DNN モデルから、FPGA や ASIC プラットフォームの両方に対して、高性能で合成可能な RTL コードを自動的かつエンドツーエンドに生成すること。
- 人的介入やエキスパートレベルのハードウェア知識を必要とせずに、正確な性能予測と効率的な設計空間探索を可能にすること。
提案手法
- AutoDNNchip は、IP、アーキテクチャ、データフローの各レベルにおける設計要因を統合的かつモデル化するグラフベースのアクセラレータ表現を用い、柔軟でスケーラブルな共同最適化を可能にする。
- チップ予測器(Chip Predictor)を導入し、DNN モデルのパrameters、ハードウェア構成、テクノロジーモジュール、プラットフォーム制約を用いて、エネルギー、スループット、遅延、面積を <10% の誤差で推定する。
- チップビルダー(Chip Builder)は、チップ予測器からの予測に基づいて、最適な IP の選択、ブロックの構成、リソースのバランス、データフローのマッピングを自動で行うことで、設計空間探索を実行する。
- FPGA と ASIC の両方のターゲットプラットフォームをサポートし、ターゲットハードウェアに最適化されたデータフロー マッピングを備えた合成可能な RTL コードを生成する。
- 複数の同じ DNN の分解戦略を許容することで、アルゴリズムからハードウェアへの共同設計を実現し、性能、エネルギー、面積の多様なトレードオフを探索する。
- ハイレベル合成と事前に検証済みのハードウェア IP を活用し、手作業による RTL コード作成を伴わずに、生産用の RTL を高速に生成する。
実験結果
リサーチクエスチョン
- RQ1FPGA および ASIC プラットフォームの両方において、DNN モデル、ハードウェア IP、データフロー マッピングの相互作用を統一的な設計空間表現で効果的にモデル化できるか?
- RQ2高レベルの DNN パrameters とハードウェアパラメータのみを用いて、機械学習ベースの予測器がエネルギー、遅延、スループット、面積といった重要なアクセラレータ指標を、最小限の誤差で正確に推定できるか?
- RQ3正確な予測に基づく自動設計空間探索が、エキスパートが手作業で設計したものよりも性能と効率性において優れているか?
- RQ4人為的介入なしに、FPGA および ASIC プラットフォームの両方に対して、高性能で合成可能な RTL コードを効果的に生成できるか?
- RQ5生成されたアクセラレータが、実世界のベンチマークにおいて、最先端の設計をどの程度上回るか?
主な発見
- チップ予測器は、15 個の DNN モデルと 4 プラットフォーム(エッジFPGA、TPU、GPU、ASIC)において、10% 未満の予測誤差を達成し、性能推定の高精度を実証した。
- AutoDNNchip が生成した FPGA アクセラレータは、最先端の設計と同等のエネルギー効率(15% 以内の差)を維持しながら、最大 3.86 倍の低遅延を達成した。
- AutoDNNchip が生成した ASIC ベースのアクセラレータは、同じスループット制約下で、Shidiannao ASIC を 7.9% から 58.3% までエネルギー消費量を低減した。
- 本フレームワークは、FPGA および ASIC プラットフォームの両方に対して、合成可能な RTL コードを正常に生成し、直接的なデプロイと検証を可能にした。
- チップ予測器に基づく設計空間探索は、手作業で最適化されたものよりも優れた性能とエネルギー効率を実現する最適な構成を導いた。
- AutoDNNchip のオープンソース実装は、https://github.com/RICE-EIC/AutoDNNchip.git で公開されており、再現性とコミュニティによる拡張を可能にしている。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。