Skip to main content
QUICK REVIEW

[論文レビュー] Single Stream Parallelization of Recurrent Neural Networks for Low Power and Fast Inference

Wonyong Sung, Jin-Hwan Park|arXiv (Cornell University)|Mar 30, 2018
Neural Networks and Applications参考文献 3被引用数 5
ひとこと要約

本稿では、QRNNおよびSRUアーキテクチャを用いて、RNNの単一ストリーム時間領域並列化を提案し、モバイルおよび組み込みシステムにおける推論を高速化するとともに、DRAMアクセスを削減する。複数のタイムステップを同時に処理することで、ステップ間で重みを再利用し、メモリ帯域幅の使用量を顕著に削減し、128ステップ並列化でARM CPU上で最大1,434.6%の高速化を達成した。

ABSTRACT

As neural network algorithms show high performance in many applications, their efficient inference on mobile and embedded systems are of great interests. When a single stream recurrent neural network (RNN) is executed for a personal user in embedded systems, it demands a large amount of DRAM accesses because the network size is usually much bigger than the cache size and the weights of an RNN are used only once at each time step. We overcome this problem by parallelizing the algorithm and executing it multiple time steps at a time. This approach also reduces the power consumption by lowering the number of DRAM accesses. QRNN (Quasi Recurrent Neural Networks) and SRU (Simple Recurrent Unit) based recurrent neural networks are used for implementation. The experiments for SRU showed about 300% and 930% of speed-up when the numbers of multi time steps are 4 and 16, respectively, in an ARM CPU based system.

研究の動機と目的

  • モバイルおよび組み込みシステムにおけるRNN推論における高いDRAM帯域幅ボトルネックを解消する。
  • 逐次的な再帰的依存関係のため、単一ストリームRNNにおける並列性が制限される課題を克服する。
  • 低消費電力・単一ユーザー向けシステム(スマートフォンなど)における効率的な推論を可能にするため、メモリアクセスのオーバーヘッドを低減する。
  • フィードバック構造を持つ単純なRNNバージョン(QRNNやSRU)が、フィードバック構造があるにもかかわらず、時間領域並列化を効果的に行えることを示す。
  • アルゴリズム的並列化により、複数タイムステップにわたり重みを再利用することで、高速かつ低消費電力の推論を実現する。

提案手法

  • 単一ストリームRNN推論に複数タイムステップ並列化を適用し、複数のタイムステップを同時に処理することで、重みの再利用を実現する。
  • QRNNおよびSRUモデルの単純なフィードバック構造を活用し、再帰的コンponentsを分離・並列化可能にする。
  • 重みを一度読み込むだけで複数タイムステップにわたって適用する単一ストリーム並列アルゴリズムを設計し、DRAMアクセス頻度を低減する。
  • IntelおよびARM CPUプラットフォームの両方で実装し、異なるメモリサブシステムにおける性能を評価する。
  • LSTMと比較して計算が単純で再帰的複雑度が低いことから、SRUおよびQRNNモデルをテストベッドとして用いる。
  • 並列化レベル(1〜128ステップ)を変化させ、スピードアップおよび実行時間を測定し、性能向上を定量的に評価する。

実験結果

リサーチクエスチョン

  • RQ1逐次的な再帰的依存関係があるにもかかわらず、複数タイムステップの並列化によって単一ストリームRNN推論を高速化できるか?
  • RQ2複数タイムステップ並列化は、組み込みシステムにおけるRNNのDRAMアクセス頻度をどの程度低減できるか?
  • RQ3QRNNおよびSRUアーキテクチャは、LSTMのような従来のRNNと比較して、時間領域並列化においてなぜより効果的か?
  • RQ4並列化レベルを高めるに従って、ARMプロセッサとIntelプロセッサの両方でどの程度のスピードアップが達成できるか?
  • RQ5メモリ帯域幅の低いシステムにおいて、DRAMアクセスの削減効果はモデルサイズやシステムのメモリ帯域幅に比例して拡大するか?

主な発見

  • ARM CPU上での大規模QRNNモデルにおいて、128ステップ並列化により、単一ステップ推論と比較して1,434.6%のスピードアップを達成した。
  • ARM上の小規模QRNNモデルでも128ステップ並列化で1,108.9%のスピードアップを達成し、低帯域幅システムにおける優れたスケーラビリティを示した。
  • Intel CPU上では、大規模SRUモデルが128ステップ並列化で1,325.0%のスピードアップを達成し、高帯域幅プラットフォームでも高い効率性を示した。
  • ARMシステムではIntel CPUよりもスピードアップが一貫して高く、低メモリ帯域幅のシステムにおいてDRAMアクセス削減の影響が顕著に現れた。
  • 大規模RNNモデルでは、固定の重み読み込みコストがより効果的に分散されるため、小規模モデルよりも相対的なスピードアップが大きくなった。
  • Intel CPUでは500%以上のスピードアップ、ARM CPUでは1,250%以上のスピードアップを達成し、低消費電力かつ高パフォーマンス推論に有効であることを確認した。

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

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

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

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