Skip to main content
QUICK REVIEW

[論文レビュー] AMPNet: Asynchronous Model-Parallel Training for Dynamic Neural Networks

Alexander L. Gaunt, Matthew Johnson|arXiv (Cornell University)|May 27, 2017
Advanced Neural Network Applications参考文献 30被引用数 29
ひとこと要約

AMPNetは、インスタンス依存の制御フローを伴う動的ニューラルネットワークの非同期モデル並列学習アルゴリズムを提案する。同期なしで勾配更新を可能にすることで、ハードウェア利用効率を高め、収束を高速化する。AMPNetは、制御フロー構造を明示的に表現する新しい中間表現(IR)を用いることで、スパarsityと動的計算グラフを活用し、QM9データセットにおいて最適化されたCPU/TensorFlow GPU実装と比較して9倍の高速化を達成した。

ABSTRACT

New types of machine learning hardware in development and entering the market hold the promise of revolutionizing deep learning in a manner as profound as GPUs. However, existing software frameworks and training algorithms for deep learning have yet to evolve to fully leverage the capability of the new wave of silicon. We already see the limitations of existing algorithms for models that exploit structured input via complex and instance-dependent control flow, which prohibits minibatching. We present an asynchronous model-parallel (AMP) training algorithm that is specifically motivated by training on networks of interconnected devices. Through an implementation on multi-core CPUs, we show that AMP training converges to the same accuracy as conventional synchronous training algorithms in a similar number of epochs, but utilizes the available hardware more efficiently even for small minibatch sizes, resulting in significantly shorter overall training times. Our framework opens the door for scaling up a new class of deep learning models that cannot be efficiently trained today.

研究の動機と目的

  • 不規則でインスタンス依存の制御フローを伴う動的ニューラルネットワークを効率的に処理できない既存の学習フレームワークの非効率性を解消すること。
  • 構造的多様性のためミニバッチ処理が不適切なモデルの学習において、ハードウェア利用効率を向上させること。
  • CPUやFPGAなどの専用ハードウェアを含む、相互接続されたデバイス上でスケーラブルかつ分散型の動的モデル学習を可能にすること。
  • 動的制御フローと非同期実行をネイティブにサポートする中間表現(IR)を設計すること。
  • 非同期モデル並列学習が同期手法と同等の精度に収束しつつ、学習時間を大幅に短縮できることを実証すること。

提案手法

  • 分岐と結合の制御フローを明示的に表現する構文を持つ、新しい中間表現(IR)を導入し、動的計算を静的グラフとして符号化可能にする。
  • アルゴリズムの状態をメッセージに封入することで、ノードが制御依存関係や集中スケジューリングなしに非同期に実行可能になる。
  • ループカウンターやエッジIDなどの制御変数をメッセージペイロードに埋め込むことで、ステートフルなノードが管理可能になる。
  • 前方および逆伝搬がインスタンスごとに独立して進行できるパイプライン型モデル並列性をサポートし、非同期パラメータ更新を可能にする。
  • データ集約とレプリカエンコードをIRに組み込むことで、バッチ処理の効果を回復し、データ並列性をサポートする。
  • マルチコアCPU上で実行されるランタイムが、複数のインスタンスを並列処理し、アイドル時間とDRAM帯域幅のボトルネックを最小限に抑える。

実験結果

リサーチクエスチョン

  • RQ1非同期モデル並列学習は、動的ニューラルネットワークにおいて、同期手法と同等の収束精度を達成しつつ、ハードウェア利用効率を向上させることができるか?
  • RQ2動的制御フローをネイティブに表現し、効率的な分散実行を可能にする中間表現をどのように設計できるか?
  • RQ3非同期学習は、動的モデルにおけるパイplineの充填度とパラメータ更新頻度のトレードオフをどの程度緩和できるか?
  • RQ4提案されたIRとランタイムは、不規則な計算を伴うモデルに対して、CPUやFPGAのような専用ハードウェアでも顕著な高速化を達成できるか?
  • RQ5特に小規模なミニバッチサイズの環境において、AMPNetは成熟したフレームワーク(例:TensorFlow)と比較してどの程度の性能を示すか?

主な発見

  • AMPNetは、ゲート付きグラフシーケンスニューラルネットワーク(GGSNN)を用いたQM9データセットにおいて、手動最適化されたTensorFlow CPU実装と比較して9倍の高速化を達成した。
  • AMPNetは、TITANX GPU上のTensorFlow GPU実装よりも2.1倍速く、GPUの高いピークFLOPSにもかかわらず、スパarsityの効果をより効果的に活用したためである。
  • フレームワークは同期学習と同等のテスト精度に収束するが、ミニバッチサイズが小さい場合でも学習時間を大幅に短縮した。
  • 単純な推定によると、1TFLOPSのFPGAネットワーク上でAMPNetを実行すれば、QM9で1秒間に6,000グラフを処理可能であり、CPUランタイムと比較して10倍の高速化が達成できる。
  • IRにより、学習と推論の両方に対するシームレスなサポートが可能となり、効率的なデータ集約とレプリケーションによりバッチ処理の利点を回復できる。
  • 本システムは、非同期モデル並列性が、計算とパラメータ更新の分離を実現しつつ収束性を維持できるため、動的モデルのスケーリングに有効であることを示した。

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

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

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

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