要約
ディープ ラーニング (DL) ジョブは、多次元並列処理、つまりデータ、モデル、パイプライン並列処理を組み合わせて、大規模な GPU クラスターを効率的に使用します。
長時間実行されるジョブでは、GPU 割り当てが変更される場合があります。(i) トレーニング中のリソースの弾力性により、GPU が追加または削除されます。
(ii) ハードウェアのメンテナンスには、別の GPU への再展開が必要になる場合があります。
(iii) GPU に障害が発生すると、より少ないデバイスでジョブを実行することになります。
現在の DL フレームワークはジョブを GPU のセットに結び付けるため、これらのシナリオはサポートされていません。
特に、すでに実行中のジョブの多次元並列処理を効率的かつモデルに依存しない方法で変更することはできません。
実行時に GPU 割り当てが更新された後、ジョブの並列処理を動的に変更できるようにする DL システム用の状態管理ライブラリである Scalai について説明します。
Scalai は、トレーニング中にジョブの状態を外部化する新しい抽象化、並列化可能なテンソル コレクション (PTC) を通じてこれを実現します。
GPU の変更後、Scalai は PTC を使用してジョブの状態を変換します。PTC はデータ並列処理の下でデータセットの状態を再分割し、それを仮想ファイル システムを通じて DL ワーカーに公開します。
そして、PTC はモデルの状態を分割されたチェックポイントとして取得し、新しい並列化構成を反映するように変換します。
効率性を高めるため、Scalai はワーカー間のデータ移動を最小限に抑えながら PTC 変換を並行して実行します。
私たちの実験では、Scalai により DL ジョブが低いオーバーヘッドで動的並列化をサポートできることがわかりました。
要約(オリジナル)
Deep learning (DL) jobs use multi-dimensional parallelism, i.e. combining data, model, and pipeline parallelism, to use large GPU clusters efficiently. Long-running jobs may experience changes to their GPU allocation: (i) resource elasticity during training adds or removes GPUs; (ii) hardware maintenance may require redeployment on different GPUs; and (iii) GPU failures force jobs to run with fewer devices. Current DL frameworks tie jobs to a set of GPUs and thus lack support for these scenarios. In particular, they cannot change the multi-dimensional parallelism of an already-running job in an efficient and model-independent way. We describe Scalai, a state management library for DL systems that enables jobs to change their parallelism dynamically after the GPU allocation is updated at runtime. Scalai achieves this through a new abstraction, a parallelizable tensor collection (PTC), that externalizes the job state during training. After a GPU change, Scalai uses the PTC to transform the job state: the PTC repartitions the dataset state under data parallelism and exposes it to DL workers through a virtual file system; and the PTC obtains the model state as partitioned checkpoints and transforms them to reflect the new parallelization configuration. For efficiency, Scalai executes PTC transformations in parallel with minimum data movement between workers. Our experiments show that Scalai enables DL jobs to support dynamic parallelization with low overhead.
arxiv情報
著者 | Marcel Wagenländer,Guo Li,Bo Zhao,Luo Mai,Peter Pietzuch |
発行日 | 2024-04-23 14:42:51+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google