Skip to main content
QUICK REVIEW

[論文レビュー] EasyScale: Accuracy-consistent Elastic Training for Deep Learning

Mingzhen Li, Wencong Xiao|arXiv (Cornell University)|Aug 30, 2022
Stochastic Gradient Optimization Techniques被引用数 4
ひとこと要約

EasyScale は、リソース割り当てからトレーニング動作を分離することで、均一および非均一な GPU リソースの変動に対しても一貫したモデル精度を維持する、革新的なスケーラブルなディープラーニングトレーニングシステムである。これは、決定論的で精度に一貫性のあるトレーニング抽象化(EST)と効率的なイントラ/インタジョブスケジューリングを用いることで実現され、本番環境でのデプロイでクラスタ GPU 利用率を 62.1% 向上させた。

ABSTRACT

Distributed synchronized GPU training is commonly used for deep learning. The resource constraint of using a fixed number of GPUs makes large-scale training jobs suffer from long queuing time for resource allocation, and lowers the cluster utilization. Adapting to resource elasticity can alleviate this but often introduces inconsistent model accuracy, due to lacking of capability to decouple model training procedure from resource allocation. We propose EasyScale, an elastic training system that achieves consistent model accuracy under resource elasticity for both homogeneous and heterogeneous GPUs. EasyScale preserves the data-parallel training behaviors strictly, traces the consistency-relevant factors carefully, utilizes the deep learning characteristics for EasyScaleThread abstraction and fast context-switching. To utilize heterogeneous cluster, EasyScale dynamically assigns workers based on the intra-/inter-job schedulers, minimizing load imbalance and maximizing aggregated job throughput. Deployed in an online serving cluster, EasyScale powers the training jobs to utilize idle GPUs opportunistically, improving overall cluster utilization by 62.1%.

研究の動機と目的

  • 動的リソース割り当てと GPU の非均一性に起因する、スケーラブルなディープラーニングトレーニングにおけるモデル精度の不一致という重要な課題に対処すること。
  • モデルトレーニングプロセスをリソース割り当てから分離し、開発者が元々設定したハイパーパramーターやトレーニング手順を維持すること。
  • GPU の数や種別が変化しても、ビット単位の同一性を保証する決定論的で再現可能な分散トレーニングを実現すること。
  • モデル精度を損なうことなく、空きGPUを積極的に活用することでクラスタ利用率を最大化すること。
  • モデル設計やトレーニングワークフローに変更を加えずに、スケーラブルトレーニングを本番 GPU クラスタにシームレスに統合できること。

提案手法

  • トレーニング状態をカプセル化し、動的 GPU 割り当てに対しても一貫した実行を保証する、EasyScaleThread(EST)抽象化を導入する。
  • cuBLAS、NCCL、CUDA カーネルを含むディープラーニングソフトウェアスタック全体にわたり、一貫性に影響する要因を追跡・制御し、非決定論的要因を排除する。
  • 二段階スケジューリング戦略を採用:ジョブ内スケジューラーはジョブ内でのワーカー動的再割り当てを、ジョブ間スケジューラーは非均一な GPU クラスタ全体の負荷分散を担当する。
  • 勾配蓄積やミニバッチ処理といったディープラーニングの特性を活用し、スケールイン/スケールアウト時のコンテキストスイッチの高速化と低オーバーヘッドを実現する。
  • ビット単位で同一の結果が得られる決定論的実行モデルを採用し、GPU の数や種別が変化しても一貫性を保証する。
  • モデルアーキテクチャーやハイパーパramータに変更を加えずに、既存の DDP ベースのトレーニングフレームワーク(例:PyTorch DDP)と統合可能である。

実験結果

リサーチクエスチョン

  • RQ1スケーラブルなディープラーニングトレーニングは、GPU の数や非均一な GPU 種別が変化しても、一貫したモデル精度を維持できるか?
  • RQ2分散トレーニングにおける動的スケールイン/スケールアウト操作中でも、モデルの決定論的性と再現可能性をどのように保てるか?
  • RQ3パフォーマンスを損なわせることなく、トレーニング動作とリソース割り当てを分離するための、システムレベルの抽象化とスケジューリングメカニズムは何か?
  • RQ4モデル精度を低下させることなく、本番クラスタで空きGPUリソースをどの程度活用できるか?
  • RQ5実世界のオンラインサービング環境において、決定論的でスケーラブルなトレーニングシステムを大規模にデプロイできるか?

主な発見

  • EasyScale は、本番オンラインサービング環境で空きGPUを積極的に活用することで、全体のクラスタ GPU 利用率を 62.1% 向上させた。
  • 推論ジョブが GPU を解放してから 5 分以内にスケールイン/スケールアウトが完了し、リソースの可用性に迅速に対応する高い応答性を示した。
  • 1 日間の本番稼働中に 362 回のプリエンプションが発生したが、EasyScale のトレーニングジョブは 1 件も失敗せず、高い信頼性とフェイルセーフ性を確認した。
  • ソフトウェアスタック内の非決定論的要因を排除することで、A100 や旧世代の GPU を含む、GPU の数や種別が異なる環境でも一貫したモデル精度を維持した。
  • 平均して、1 日あたり 459 個の空きGPUが EasyScale ジョブによって活用され、高優先度の推論ワークロードが必要になると迅速にリクエストが戻された。
  • EST 抽象化と決定論的実行により、リソース変更が生じてもビット単位で同一のトレーニング結果が得られ、完全な再現性が実現された。

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

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

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

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