Skip to main content
QUICK REVIEW

[論文レビュー] On the Performance of Network Parallel Training in Artificial Neural Networks

Ludvig Ericson, Rendani Mbuvha|arXiv (Cornell University)|Jan 18, 2017
Neural Networks and Applications参考文献 6被引用数 8
ひとこと要約

本稿では、分散行列乗算のCannonのアルゴリズムを用いて、データの完全な複製を最小限に抑え、専用ハードウェアを必要としないメモリ効率の良いニューラルネットワーク並列学習(NPT)手法を提案する。この手法により、特に超線形のスループット向上が達成され、ネットワークの複雑さに応じて効率的にスケーリングされる。単層、2層、大規模2層ネットワークでは、それぞれ16、32、64プロセスで最適な性能を発揮する。

ABSTRACT

Artificial Neural Networks (ANNs) have received increasing attention in recent years with applications that span a wide range of disciplines including vital domains such as medicine, network security and autonomous transportation. However, neural network architectures are becoming increasingly complex and with an increasing need to obtain real-time results from such models, it has become pivotal to use parallelization as a mechanism for speeding up network training and deployment. In this work we propose an implementation of Network Parallel Training through Cannon's Algorithm for matrix multiplication. We show that increasing the number of processes speeds up training until the point where process communication costs become prohibitive; this point varies by network complexity. We also show through empirical efficiency calculations that the speedup obtained is superlinear.

研究の動機と目的

  • リアルタイム応用における、ますます複雑化する人工ニューラルネットワーク(ANN)の高速学習ニーズに対応すること。
  • 従来の並列学習手法が入力データの完全な複製や専用ハードウェアを必要としているという制限を克服すること。
  • 分散行列乗算にCannonのアルゴリズムを用いて、メモリ効率的かつスケーラブルなNPTアプローチを構築すること。
  • HPCクラスタ上でのさまざまなネットワーク複雑度とプロセス数における性能を評価すること。
  • ネットワーク並列化されたANN学習において、超線形のスループット向上が達成可能かどうかを調査すること。

提案手法

  • 入力データの複製を回避しながら、Cannonのアルゴリズムを用いて行列乗算をプロセス間で分散処理するNPTを実装する。
  • 重み行列をユニットごとに分割し、Cannonのアルゴリズムによる通信最適化された行列乗算を可能にする。
  • MPIを用いてプロセス間通信と同期を実装し、バリア同期を用いてウォールクロック時間の測定を実施する。
  • SGD(確率的勾配降下法)を用い、ミニバッチ処理とモーメンタムを適用して学習を実行し、ReLUおよびleaky ReLU活性化関数を用いる。
  • ウォールクロック時間、スループット、効率性を指標として、さまざまなネットワークアーキテクチャとプロセス数における性能を測定する。
  • データの複雑さに影響されないよう、制御された入出力関係を持つ合成線形データを用い、性能特性を明確に分離する。

実験結果

リサーチクエスチョン

  • RQ1Cannonのアルゴリズムを用いることで、入力データの完全な複製を必要とせず、メモリに配慮した効率的なネットワーク並列学習が可能になるか?
  • RQ2プロセス数の変化が、深さや幅が異なるネットワークにおける学習時間と効率性に与える影響は何か?
  • RQ3提案されたNPT手法は超線形のスループット向上を達成するか? もし達成するならば、どのような条件下で達成されるか?
  • RQ4ネットワークの複雑さ(例:層数やユニット数)が、最小の学習時間を達成するための最適なプロセス数に与える影響は何か?
  • RQ5最適点を超えてプロセス数が増加する際、通信オーバーヘッドが性能に与える影響は何か?

主な発見

  • 提案されたNPT手法は超線形のスループット向上を達成し、特定のプロセス範囲では効率性が1.00を超えることが確認され、線形スケーリングを上回る性能向上が実現された。
  • 単層ネットワークでは最適なプロセス数が16であり、それ以上になると通信オーバーヘッドが増加し、学習時間が延長される。
  • 2層ネットワークでは最適なプロセス数が32に増加しており、ネットワークの深さに比例して最適プロセス数が線形に増加することが示された。
  • 大規模2層ネットワーク(256ユニット)は、小規模2層ネットワークと比較して、実行時間の2乗成長を示し、最適性能は64プロセスで達成された。
  • 32プロセスを超えると、2層ネットワークが単層ネットワークを上回る性能を示し、アーキテクチャの複雑さがスケーリング挙動に非自明な影響を与えることが示された。
  • 入力データの完全な複製を回避することで、高いメモリ効率性を実現しており、専用ハードウェアを必要としないHPCおよびクラウド環境においても適した手法である。

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

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

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

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