Skip to main content
QUICK REVIEW

[論文レビュー] CNNLab: a Novel Parallel Framework for Neural Networks using GPU and FPGA-a Practical Study with Trade-off Analysis

Maohua Zhu, Liu Liu|arXiv (Cornell University)|Jun 20, 2016
Advanced Neural Network Applications参考文献 19被引用数 18
ひとこと要約

CNNLab は、GPU と FPGA アクcelerator 間で動的にディープラーニングワークロードをオフロードする統一プログラミングモデルを用いた、新規な非均質ミドルウェアフレームワークであり、GPU で最大 100x の高速化、FPGA で 50x の優れた電力効率を達成し、畳み込み層では同等のエネルギー効率、全結合層では優れた性能密度を実現している。

ABSTRACT

Designing and implementing efficient, provably correct parallel neural network processing is challenging. Existing high-level parallel abstractions like MapReduce are insufficiently expressive while low-level tools like MPI and Pthreads leave ML experts repeatedly solving the same design challenges. However, the diversity and large-scale data size have posed a significant challenge to construct a flexible and high-performance implementation of deep learning neural networks. To improve the performance and maintain the scalability, we present CNNLab, a novel deep learning framework using GPU and FPGA-based accelerators. CNNLab provides a uniform programming model to users so that the hardware implementation and the scheduling are invisible to the programmers. At runtime, CNNLab leverages the trade-offs between GPU and FPGA before offloading the tasks to the accelerators. Experimental results on the state-of-the-art Nvidia K40 GPU and Altera DE5 FPGA board demonstrate that the CNNLab can provide a universal framework with efficient support for diverse applications without increasing the burden of the programmers. Moreover, we analyze the detailed quantitative performance, throughput, power, energy, and performance density for both approaches. Experimental results leverage the trade-offs between GPU and FPGA and provide useful practical experiences for the deep learning research community.

研究の動機と目的

  • 大規模なディープニューラルネットワークを、高い性能と低い消費電力で効率的に加速する課題に対処する。
  • 一様なプログラミングモデルによるハードウェアの複雑さの抽象化により、機械学習の専門家が負うプログラミングの負担を軽減する。
  • ワークロードの特性とシステム制約に基づいて、GPU と FPGA 間での動的タスクオフロードを可能にする。
  • 性能、スループット、消費電力、エネルギー、性能密度の観点から、GPU と FPGA アクセラレータの間の定量的トレードオフ分析を提供する。
  • NVIDIA K40 GPU と Intel-Altera DE5 FPGA を用いた実用的で実世界のプロトタイプを開発し、エンドツーエンドの評価を実施する。

提案手法

  • 計算負荷の高いディープラーニングワークロードの部分を処理するため、CPU、GPU、FPGA アクセラレータを統合した非均質なハイブリッドシステムを設計する。
  • CUDA と OpenCL を用いて一様なプログラミングモデルを実装し、低レベルのハードウェア詳細を抽象化し、ニューラルネットワーク層をアクセラレータにシームレスにマッピング可能にする。
  • リアルタイムのワークロードプロファイリングと性能制約に基づいて、GPU と FPGA 間のタスク選択を実行するランタイムスケジューラを開発する。
  • NVIDIA K40 GPU と Altera DE5 FPGA を用いたハードウェアプロトタイプを構築し、実際のニューラルネットワークモデルにおけるエンドツーエンドの性能を評価する。
  • 実行時間、スループット、消費電力、エネルギー、性能密度といった定量的指標を用いて、畳み込み層および全結合層における GPU と FPGA 実装の比較を行う。
  • エネルギー効率と性能に与える影響を評価するため、最先端の CUDA ライブラリ(cuDNN と cuBLAS)を評価する。

実験結果

リサーチクエスチョン

  • RQ1GPU と FPGA のハードウェアの複雑さを抽象化しつつ、ディープラーニングワークロードにおける効率的なタスクオフロードを可能にする統一プログラミングモデルは、どのように設計できるか?
  • RQ2畳み込み層および全結合層において、性能、スループット、消費電力、エネルギー効率、性能密度の観点から、GPU と FPGA アクセラレータの間の定量的トレードオフは何か?
  • RQ3GPU-FPGA ハイブリッドフレームワークは、実世界のディープラーニングアプリケーションにおいて、単独のアクセラレータと同等またはそれ以上の性能とエネルギー効率を達成できるか?
  • RQ4異なる CUDA プログラミングモデル(cuDNN 対 cuBLAS)は、ディープラーニングの推論および学習において、エネルギー効率と性能にどのように影響を与えるか?
  • RQ5実際のハードウェア評価から得られる実用的洞察は、将来の非均質なディープラーニングアクセラレータの設計をどのように導くことができるか?

主な発見

  • GPU は、同じディープラーニングワークロードに対して、最大 100x の高速化と 100x の高いスループットを達成している。
  • FPGA は GPU よりも 50x の優れた電力効率を示しており、電力制限のある環境において顕著にエネルギー効率が優れている。
  • 畳み込み層では、GPU と FPGA が同等のエネルギー効率を達成しており、FPGA では 10 GFLOPS/W、GPU では 14 GFLOPS/W の値を示している。
  • 全結合層では、GPU が優れた性能密度を示しており、FPGA よりも高いエネルギーあたりの演算数比を達成している。
  • cuBLAS は、評価されたワークロード全体でエネルギー効率が高く、より高い高速化と低い消費電力を実現している。
  • CNNLab フレームワークは、ワークロードの特性に応じたタスクオフロードを成功裏に実行し、プログラマーの負担を増加させることなく最適なトレードオフを達成している。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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