Skip to main content
QUICK REVIEW

[論文レビュー] DNN Dataflow Choice Is Overrated.

Xuan Yang, Mingyu Gao|arXiv (Cornell University)|Sep 10, 2018
Advanced Neural Network Applications被引用数 34
ひとこと要約

この論文は、DNNアクセラレータ設計におけるデータフロー選択が重要であるという仮定に挑戦し、Halideのスケジューリング言語がすべての主要なDNNアクセラレータを表現できることを示している。データフローではなくブロッキングとメモリ階層の最適化により、Eyerissと比較して最大4.2倍のエネルギー効率向上を達成した。そのうち2.6倍はレジスタファイルの削減によるもので、追加のメモリ階層により25%の追加改善が得られた。

ABSTRACT

Many DNN accelerators have been proposed and built using different microarchitectures and program mappings. To fairly compare these different approaches, we modified the Halide compiler to produce hardware as well as CPU and GPU code, and show that Halide's existing scheduling language has enough power to represent all existing dense DNN accelerators. Using this system we can show that the specific dataflow chosen for the accelerator is not critical to achieve good efficiency: many different dataflows yield similar energy efficiency with good performance. However, finding the best blocking and resource allocation is critical, and we achieve a 2.6X energy savings over Eyeriss system by reducing the size of the local register file. Adding an additional level in the memory hierarchy saves an additional 25%. Based on these observations, we develop an optimizer that automatically finds the optimal blocking and storage hierarchy. Compared with Eyeriss system, it achieves up to 4.2X energy improvement for Convolutional Neural Networks (CNNs), 1.6X and 1.8X improvement for Long Short-Term Memories (LSTMs) and multi-layer perceptrons (MLPs) respectively.

研究の動機と目的

  • データフロー選択がDNNアクセラレータのエネルギー効率に顕著な影響を与えるかどうかを調査すること。
  • スケジューリングとメモリ階層の役割が、高い性能と低エネルギー消費を達成するためにどのように寄与するかを評価すること。
  • DNNワークロード用に最適なブロッキングおよびストレージ階層を自動で特定する最適化ツールの開発。
  • Eyerissのような既存のアクセラレータと比較して、エネルギー効率および性能の観点から提案手法を評価すること。

提案手法

  • 公平なプラットフォーム間比較のため、Halideコンパイラーを拡張してハードウェア、CPU、GPUコードを生成した。
  • Halideのスケジューリング言語を用いて、すべての既存の密度型DNNアクセラレータを表現・評価した。
  • エネルギー消費を最小化するために、ブロッキングパラメータとリソース割り当てを体系的に探索した。
  • オフチップメモリアクセスを削減するために、追加のメモリ階層レベルを導入した。
  • カスタム最適化ツールを用いて、最適なブロッキングおよびストレージ構成の自動探索を実施した。
  • 生成されたハードウェア上で、CNN、LSTM、MLPの各分野における性能およびエネルギー効率を測定した。

実験結果

リサーチクエスチョン

  • RQ1データフローアーキテクチャの選択が、DNNアクセラレータのエネルギー効率に顕著な影響を与えるか?
  • RQ2Halideのスケジューリング言語は、既存のすべてのDNNアクセラレータマイクロアーキテクチャを表現できるか?
  • RQ3エネルギー効率の観点から、データフロー選択と比較してブロッキングおよびメモリ階層設計はどの程度重要か?
  • RQ4ローカルレジスタファイルのサイズを小さくすることによるエネルギー消費への影響は?
  • RQ5自動最適化ツールは、Eyerissのような手動チューニング設計を上回るエネルギー効率を達成できるか?

主な発見

  • データフロー選択はエネルギー効率にほとんど影響しない。さまざまなデータフローが同程度の性能と効率を達成している。
  • ローカルレジスタファイルのサイズを単独で小さくすることで、Eyerissシステムと比較して2.6倍のエネルギー改善が得られた。
  • 追加のメモリ階層レベルの導入により、エネルギー消費がさらに25%削減された。
  • 提案された最適化ツールにより、畳み込みニューラルネットワーク(CNNs)においてEyerissと比較して最大4.2倍のエネルギー改善が達成された。
  • LSTMおよび多層パーセプトロン(MLPs)では、それぞれ1.6倍および1.8倍のエネルギー改善が得られた。
  • Halideのスケジューリング言語は、すべての既存の密度型DNNアクセラレータを表現するのに十分な表現力を持ち、公平かつ体系的な評価を可能にした。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。