Skip to main content
QUICK REVIEW

[論文レビュー] Omnivore: An Optimizer for Multi-device Deep Learning on CPUs and GPUs

Stefan Hadjis, Ce Zhang|arXiv (Cornell University)|Jun 14, 2016
Advanced Neural Network Applications参考文献 23被引用数 50
ひとこと要約

Omnivore は、CPU と GPU を対象としたマルチデバイスディープラーニングの自動最適化ツールであり、最新のシステムに比べてトレーニング速度を 1.9× から 12× まで向上させる。これは、各デバイスをスループットに基づくブラックボックスとして扱い、予測モデルを用いてハイパーパramータと実行戦略(非同期 SGD とチューニングされたモーメンタムを含む)を CPU と GPU の両方で最適化することで、エンド・ツー・エンドの収束時間を最小化することによって達成される。

ABSTRACT

We study the factors affecting training time in multi-device deep learning systems. Given a specification of a convolutional neural network, our goal is to minimize the time to train this model on a cluster of commodity CPUs and GPUs. We first focus on the single-node setting and show that by using standard batching and data-parallel techniques, throughput can be improved by at least 5.5x over state-of-the-art systems on CPUs. This ensures an end-to-end training speed directly proportional to the throughput of a device regardless of its underlying hardware, allowing each node in the cluster to be treated as a black box. Our second contribution is a theoretical and empirical study of the tradeoffs affecting end-to-end training time in a multiple-device setting. We identify the degree of asynchronous parallelization as a key factor affecting both hardware and statistical efficiency. We see that asynchrony can be viewed as introducing a momentum term. Our results imply that tuning momentum is critical in asynchronous parallel configurations, and suggest that published results that have not been fully tuned might report suboptimal performance for some configurations. For our third contribution, we use our novel understanding of the interaction between system and optimization dynamics to provide an efficient hyperparameter optimizer. Our optimizer involves a predictive model for the total time to convergence and selects an allocation of resources to minimize that time. We demonstrate that the most popular distributed deep learning systems fall within our tradeoff space, but do not optimize within the space. By doing this optimization, our prototype runs 1.9x to 12x faster than the fastest state-of-the-art systems.

研究の動機と目的

  • ディープラーニングシステムにおける自動構成の欠如が、最適でないパフォーマンスや最大で 10× の長いトレーニング時間を引き起こすという問題に対処する。
  • 分散トレーニングにおけるハードウェア効率(FLOPS)と統計的効率(収束速度)のトレードオフを解明する。
  • 最適化が適切に行われれば、CPU を用いたディープラーニングが GPU を用いたトレーニングと同等に効率的かつコスト効率が良いことを示す。
  • 非同期性がアルゴリズム的モーメンタムが適切にチューニングされていれば統計的ペナルティを伴わないことを明らかにし、従来の仮定に疑問を呈する。
  • ハイパーパramータと実行戦略を統合的にチューニングする自動最適化ツールを開発し、総トレーニング時間を最小化する最適な構成を選択する。

提案手法

  • 各デバイス(CPU または GPU)をスループットのみに基づいてブラックボックスとして扱う、Omnivore と呼ばれるプロトタイプシステムを設計し、ハードウェアに依存しないトレーニングを可能にする。
  • CPU に標準的なバッチ処理とデータ並列性を実装し、最新のシステムに比べて 5.5× の高いスループットを達成することで、CPU トレーニングが実用的で効率的であることを実証する。
  • 理論的および実験的に、非同期 SGD が暗黙のモーメンタム項を導入することを特定し、明示的なモーメンタムをチューニングすることでパフォーマンスへのペナルティが解消されることを示す。
  • 収束までの時間を予測するモデルを構築し、ハイパーパramータ(例:学習率、モーメンタム)と実行戦略(例:同期型対非同期型トレーニング)を同時に最適化する。
  • 最適化ツールを用いて総トレーニング時間を最小化する構成を選択し、既存システムがトレードオフ空間内で最適でないことを実証する。
  • 複数のハードウェア環境(EC2 の CPU および GPU インスタンス)で評価し、Omnivore が CPU クラスタでベースライン構成に比べ 5× の高速化、GPU クラスタで 5.6× の高速化を達成することを示す。

実験結果

リサーチクエスチョン

  • RQ1適切なバッチ処理とスループットに配慮した設計がなされた場合、CPU を用いたディープラーニングは GPU を用いたトレーニングと同等のパフォーマンスを達成できるか?
  • RQ2分散 SGD における非同期性とアルゴリズム的モーメンタムの関係は何か? また、モーメンタムをチューニングすることで非同期性の統計的コストは解消されるか?
  • RQ3マルチデバイスディープラーニングシステムにおいて、ハードウェア効率(FLOPS)と統計的効率(収束速度)のトレードオフはどのように関係するか?
  • RQ4既存のディープラーニングシステムは、同じトレードオフ空間に存在するにもかかわらず、なぜパフォーマンスが劣るのか? どのような構成選択が非最適なパフォーマンスをもたらすのか?
  • RQ5ハイパーパramータと実行戦略を統合的にチューニングする自動最適化ツールは、多様なハードウェアプラットフォームでエンド・ツー・エンドのトレーニング時間を顕著に短縮できるか?

主な発見

  • Omnivore は、標準的なバッチ処理とデータ並列性を適用することで、最新のシステムに比べて CPU で 5.5× の高いスループットを達成し、適切に最適化された場合、CPU トレーニングが GPU トレーニングと同等の速度に達することを実証した。
  • 非同期 SGD における非同期性は、アルゴリズム的モーメンタムが適切にチューニングされていれば統計的ペナルティを伴わない。これは長年の議論を解決し、過去の研究が非同期トレーニングで遅延を報告した理由を説明する。
  • トレーニング時間の最適化は、ハードウェア効率と統計的効率のトレードオフ空間に位置するが、既存のシステムはこの空間内で最適化を図っていない。
  • Omnivore は、最も高速な既存システムに比べて、エンド・ツー・コンバージェンスまでの時間を 1.9× から 12× まで短縮した。特に、従来のシステムが発散または性能を発揮しなかった構成で、最大の向上を示した。
  • EC2 などのクラウドプラットフォームでは、Omnivore を用いた CPU トレーニングが、FLOPS/ドル比の優位性により、GPU トレーニングに比べて 2.1× のコスト削減が達成された。
  • 最適な構成下で GPU クラスタと CPU クラスタを比較したところ、GPU クラスタは原始的な速度で 5.6× 速く、FLOPS/ドル効率の優位性により、1 回のイテレーションあたり 1.8× のコスト削減が達成された。

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

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

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

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