Skip to main content
QUICK REVIEW

[論文レビュー] VirtualFlow: Decoupling Deep Learning Models from the Underlying Hardware

Andrew Or, Haoyu Zhang|arXiv (Cornell University)|Sep 20, 2020
Advanced Neural Network Applications参考文献 51被引用数 4
ひとこと要約

VirtualFlow は、仮想ノード処理を導入することで、ディープラーニングモデルとハードウェアを分離し、ミニバッチを物理アクセラレータにマッピングされた仮想ノードに分割することで、多様なハードウェア上で一貫した学習が可能になり、リソースの弾力性と異種混合のトレーニングが実現可能となる。既存のフレームワークへの変更を最小限に抑えつつ、ジョブ完了が最大48%高速化され、スループットが42%向上する。

ABSTRACT

State-of-the-art deep learning systems such as TensorFlow and PyTorch tightly couple the model with the underlying hardware. This coupling requires the user to modify application logic in order to run the same job across a different set of resources, thereby limiting the choice of hardware for a given workload and potentially forcing the user to forgo more efficient hardware configurations. We propose VirtualFlow, a system leveraging a novel abstraction called virtual node processing to decouple the model from the hardware. In each step of training or inference, the batch of input data is split across virtual nodes instead of hardware accelerators (e.g. GPUs and TPUs). Mapping multiple virtual nodes to each accelerator and processing them sequentially effectively time slices the batch, thereby allowing users to reduce the memory requirement of their workloads and mimic large batch sizes on small clusters. Using this technique, VirtualFlow enables many new use cases, such as reproducing training results across different hardware, resource elasticity, and heterogeneous training. In our evaluation, our implementation of VirtualFlow for TensorFlow achieved strong convergence guarantees across different hardware with out-of-the-box hyperparameters, up to 48% lower job completion times with resource elasticity, and up to 42% higher throughput with heterogeneous training.

研究の動機と目的

  • TensorFlow や PyTorch などのフレームワークにおける、ディープラーニングモデルとハードウェアの密接な結合を解消し、異なるハードウェア環境で再チューニングが必要となるハイパーパrameterの調整を回避する。
  • モデル仕様やハイパーパrameterを変更せずに、異種かつ動的変化するハードウェア環境でも一貫したモデル収束を実現する。
  • バッチ処理をアクセラレータ間でタイムスライスすることで、リソースの弾力性と異種混合トレーニングを可能にし、メモリ圧力を軽減するとともに、異なるGPUタイプの効率的利用を実現する。
  • リソース調整にジョブの再起動を要する既存システムの制限を克服し、混合アクセラレータタイプに対応できる。
  • 同じハイパーパrameterを小規模クラスタで大規模クラスタと同一に使用できるため、再現性と実験の容易さを向上させる。

提案手法

  • モデル実行を物理的ハードウェアから分離する新しい抽象化として仮想ノードを導入し、各バッチを等分されたサイズの仮想ノードに分割する。
  • 複数の仮想ノードを同じ物理アクセラレータにマッピングし、順次実行することで、バッチをタイムスライス化し、メモリ使用量を削減するとともに、より大きなバッチサイズをシミュレートする。
  • TensorFlow に最小限の変更で仮想ノード処理を統合し、異なるハードウェア構成でもモデルグラフ構造とハイパーパラメータを保持する。
  • トレーニング中に物理アクセラレータごとの仮想ノード数を動的に変更することで、ジョブ中断なしにリソースの弾力性を実現する。
  • 同じジョブ内で異なるアクセラレータタイプ(例:V100、TPU)に仮想ノードをマッピングすることで、異種混合トレーニングを可能にし、未利用のリソースを活用する。
  • 仮想ノードをモデル並列処理と組み合わせることで、大規模モデルトレーニングにおけるリソース要件を低減し、データ並列パイプラインを順次実行に変換する。

実験結果

リサーチクエスチョン

  • RQ1異なるハードウェア構成でもハイパーパラメータの再チューニングなしに、一貫した収束を達成できるか?
  • RQ2ジョブ中断やバッチサイズの変更なしに、リソースの弾力性をディープラーニングトレーニングで実現できるか?
  • RQ3均一なハードウェアを必要とせずに、異種GPUクラスタを単一のトレーニングジョブで効果的に利用できるか?
  • RQ4仮想ノード処理により、メモリ圧力を軽減し、小規模クラスタでも大バッチ学習を可能にするか?
  • RQ5既存のディープラーニングフレームワークに最小限の変更で仮想ノードを統合でき、トレーニングの安定性を保持できるか?

主な発見

  • VirtualFlow は、出荷時ハイパーパラメータを用いても、さまざまなハードウェア構成で強く収束を保証し、基盤となるハードウェアにかかわらず一貫した学習結果を実現した。
  • リソースの弾力性により、VirtualFlow はトレーニングを中断せずに仮想ノードの割り当てを動的に調整し、ジョブ完了時間を最大48%短縮した。
  • 異種混合トレーニングのシナリオでは、VirtualFlow が同じジョブ内で異なるGPUタイプを効率的に活用し、スループットを最大42%向上した。
  • 本システムにより、異なる規模とハードウェアタイプのクラスタ間で再現可能な学習が可能になり、ハイパーパラメータの再チューニングの必要がなくなった。
  • 仮想ノードによるバッチのタイムスライス処理により、メモリ圧力を軽減し、小規模クラスタでも大バッチ学習を可能にした。
  • 仮想ノードとモデル並列処理の統合により、評価されたワークロードではリソース要件を半分に削減し、大規模モデルの効率的スケーリングを実現した。

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

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

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

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