[論文レビュー] Snowflake: A Model Agnostic Accelerator for Convolutional Neural Networks
Snowflakeは、さまざまなCNNアーキテクチャにおいて、変動するデータアクセスパターンと階層的計算要件に動的に適応することで、最大95%の計算効率を達成するモデルに依存しないアクセラレータである。このアーキテクチャは、アーキテクチャの特化を必要とせず、近年の深層CNNの広範なベンチマークにおいて平均93%の高い効率を維持する。
Deep learning is becoming increasingly popular for a wide variety of applications including object detection, classification, semantic segmentation and natural language processing. Convolutional neural networks (CNNs) are a class of deep learning algorithms that have been shown to achieve high accuracy for these tasks. CNNs are hierarchical mathematical models comprising millions of operations to produce an output. This output can be used to identify what objects the input image contained, the locations of these objects and what actions to take based on this knowledge. The high computational complexity combined with the inherent parallelism in these models makes them an excellent target for custom accelerators. CNNs produce tens of megabytes of intermediate data and have highly varied data access patterns, both among different network architectures and across the hierarchy of a single network. However, when optimizing for different CNN hierarchies and data access patterns, it is difficult for custom accelerators to achieve close to 100% computational efficiency. We present a network architecture agnostic accelerator called Snowflake. Snowflake has been designed to achieve close to peak computational efficiency while processing all parts of the CNN hierarchy. We use a benchmark suite consisting of a variety of recent, deep CNNs with different model hierarchies to evaluate the performance of the accelerator. We demonstrate that Snowflake has an average computational efficiency of 93% with a minimum of 91% and a maximum of 95%.
研究の動機と目的
- データアクセスパターンや階層的構造が著しく変動するCNN用のカスタムアクセラレータにおいて、高い計算効率を達成する課題に対処すること。
- アーキテクチャの特化を必要とせず、多様なCNNアーキテクチャにわたり効率的な動作を維持するハードウェアアクセラレータを設計すること。
- 深層CNNにおける不規則なメモリアクセスと計算負荷の変動によって引き起こされる性能劣化を最小限に抑えること。
- 1つのアクセラレータが、複数のCNNの階層構造とワークロードに近いピーク効率を達成できることを実証すること。
提案手法
- Snowflakeは、異なるCNNレイヤーの計算およびメモリアクセスパターンに動的に適応できる再構成可能でデータフローに配慮したアーキテクチャを採用している。
- CNN計算グラフ全体にわたる空間的および時間的並列性をサポートする階層的処理構造を有している。
- オフチップメモリ帯域幅の削減を図るため、最適化されたデータバッファリングおよびオンチップデータ再利用戦略を備えた柔軟なメモリ階層を統合している。
- 計算スケジューリングをモデル固有の特徴から分離するネットワークに依存しない設計を採用している。
- レイヤー単位の要件を分析し、処理リソースをそれに応じて構成するランタイムスケジューラを活用している。
- 再構成オーバーヘッドが最小限に抑えられるように、畳み込み層および全結合層の両方をサポートしている。
実験結果
リサーチクエスチョン
- RQ11つのアクセラレータが、データアクセスパターンが異なる多様なCNNアーキテクチャにおいて一貫して高い計算効率を達成できるか?
- RQ2特化型アクセラレータと比較して、モデルに依存しない設計は計算効率と適応性の面でどのように異なるか?
- RQ3CNNの全階層にわたり、特に初期層と最終層を含めて、どの程度の計算効率を維持できるか?
- RQ4動的スケジューリングとメモリ最適化によって、CNNアクセラレータにおけるオフチップメモリトラフィックをどの程度削減できるか?
主な発見
- Snowflakeは、最近の深層CNNの多様なベンチマークにおいて平均93%の計算効率を達成した。
- 評価されたすべてのネットワークにおける最小計算効率は91%であり、最大で95%に達した。
- 不規則なデータアクセスパターンを持つレイヤーを含む、CNNの全階層にわたり高い効率を維持した。
- モデルに依存しない設計により、異なるCNNタイプに対してアーキテクチャの再構成なしに一貫したパフォーマンスを実現した。
- 知的なオンチップデータ再利用およびバッファリングにより、オフチップメモリ帯域幅の圧力を軽減した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。