分散トレーニングライブラリ

分散トレーニングを最大 40% 早く完了する

Amazon SageMaker は、大規模な深層学習モデルとデータセットをトレーニングするための最も速くて簡単な方法を提供します。パーティショニングアルゴリズムを使用して、これらの SageMaker 分散トレーニングライブラリは、手動で行う場合よりもわずかな時間で、AWS GPU インスタンス全体の大規模な深層学習モデルとトレーニングデータセットを自動的に分割します。SageMaker は、データの並列処理とモデルの並列処理という 2 つの手法を通じてこれらの効率を実現します。モデルの並列処理は、トレーニングする複数の GPU に分散する前に、単一の GPU に収まらないほど大きすぎるモデルを小さなサイズに分割します。データの並列処理は、トレーニング速度を向上させるために、大きなデータセットを分割して同時にトレーニングします。

画像分類やテキスト読み上げなどの ML のユースケースでは、ますます多くの計算要件とデータセットが必要になります。たとえば、2018 年にリリースされた最先端の自然言語処理 (NLP) モデルである BERT は、3 億 4,000 万個のパラメータを使用します。現在、T5、GPT-3、Turing-NLG、Megatron などの最先端の NLP モデルは、精度面で新しい記録を立てましたが、数百億から数千億におよぶパラメータを必要とします。単一の GPU インスタンスでの T5 や GPT-3 などのモデルのトレーニングには数日かかる場合があり、最新のイテレーションを本番環境にデプロイする能力が低下します。さらに、独自のデータとモデルの並列処理戦略を手動で実装するには、数週間の実験が必要になる場合があります。

ほんの数行の追加コードで、データ並列処理またはモデル並列処理を PyTorch および TensorFlow トレーニングスクリプトに追加できます。Amazon SageMaker が選択したメソッドを適用します。 SageMaker は、グラフ分割アルゴリズムを使用して各 GPU 計算のバランスを取りながら、GPU インスタンス間の通信を最小限に抑えることで、モデルを分割するための最良のアプローチを決定します。SageMaker はまた、AWS コンピューティングとネットワークインフラストラクチャを完全に活用するように設計されたアルゴリズムを通じて分散トレーニングジョブを最適化し、ほぼ線形のスケーリング効率を実現します。これにより、手動実装よりも速くトレーニングを完了できます。

利点

データ並列処理ライブラリ

トレーニング時間を短縮

Amazon SageMaker は、GPU 間でトレーニングデータを簡単に分割できるようにすることで、トレーニング時間を短縮します。 たとえば、p3dn.24xlarge インスタンスでの Mask R-CNN のトレーニングは、Horovod のようなオープンソースのデータ並列処理ソリューションと比較して、SageMaker で 25% 高速に実行されます。SageMaker は並列で実行されている GPU を管理して同期を最適に実現するため、トレーニング時間の短縮が可能になります。

AWS に向けて最適化

SageMaker のデータ並列処理ライブラリは、AWS ネットワークとインフラストラクチャを完全に活用して、ほぼ線形のスケーリング効率を実現するように設計された通信アルゴリズムを提供します。たとえば、p3dn.24xlarge インスタンスの BERT は、SageMaker を使用して 90% のスケーリング効率を達成し、Horovod を使用した同じモデルよりも 26% 向上しています。

既存のフレームワーク API を使用する

SageMaker は、分散トレーニングですでに一般的に使用されているものと同一の API を介してデータ並列処理を最適化するため、新しいライブラリを学習する必要はありません。データの並列処理を有効にするには、PyTorch 用の DistributedDataParallel (DDP) API と TensorFlow 用の Horovod API が使用できます。

モデル並列処理ライブラリ

自動で効率的なモデル分割

大規模なモデルを手動で分割する作業は、最も経験豊富なデータサイエンスチームでさえ、数週間の労力を必要とする可能性があります。Amazon SageMaker は、プロファイリングより数秒でモデルを分割し、GPU 間でモデルを分割するための最も効率的な方法を見つけることができます。

最小限のコード変更

Amazon SageMaker では、モデルを複数の GPU に分割するために、TensorFlow または PyTorch トレーニングスクリプトで 10 行未満のコードを変更する必要があります。TensorFlow と PyTorch の既存の API を再利用して、すばやく起動して実行することができます。

リソースを最適化する

Amazon SageMaker は、トレーニングバッチを小さなマイクロバッチに分割することで、GPU インスタンスを最大限に活用します。すべての GPU デバイスを同時にアクティブ状態に保つために、効率的なパイプラインで小さいマイクロバッチが GPU に供給されます。

ユースケース

オブジェクトの検出を表示する、オブジェクト周りの境界ボックス

オブジェクトの検出

オブジェクト検出の場合、モデルのトレーニング時間がボトルネックになることが多く、データサイエンスチームは数日または数週間も結果を待つことになるため、速度が低下します。たとえば、自律走行車のオブジェクト検出モデルは、車両の検知力を改善するために、最大数千ギガバイトのデータをトレーニングする必要があります。 SageMaker のデータ並列処理ライブラリは、データサイエンスチームがトレーニングデータを効率的に分割し、数百または数千のGPUにすばやくスケーリングして、トレーニング時間を数日から数分に短縮するのに役立ちます。 

自然言語処理を示す、言語翻訳付きの吹き出し

自然言語処理

自然言語理解で、データサイエンティストは、レイヤーの数とニューラルネットワークのサイズを増やすことでモデルの精度を向上させることが多いため、GPT-2、GPT-3、T5、Megatron などの数十億のパラメータを持つモデルが作成されます。GPU 間でモデルレイヤーや操作を分割するには数週間かかる場合があります。ただし、SageMaker モデルの並列処理ライブラリは、モデルを自動的に分析して効率的に分割し、データサイエンスチームが数分以内に大規模なモデルのトレーニングを開始できるようにします。

コンピュータビジョンを説明する、データストリームと目のアイコン

コンピュータビジョン

コンピュータビジョンでは、ハードウェアの制約により、データサイエンティストが希望するものより、小さいバッチサイズまたは入力サイズを選択する必要があります。たとえば、入力値が大きいとモデルの精度は向上しますが、バッチサイズが小さいとメモリ不足エラーやパフォーマンスの低下が生じる可能性があります。同様に、バッチサイズを大きくすると、GPU の使用率とパフォーマンスが向上しますが、モデルの精度が低下する可能性があります。SageMaker 分散トレーニングライブラリは、より小さなバッチサイズでモデルを効率的にトレーニングしたり、より大きな入力でトレーニングしたりする柔軟性を提供します。

お客様

LS White SVG
「Latent Space では、誰もが思考と同じスピードで作成できるように、ニューラルレンダリングされたゲームエンジンを構築しています。言語モデリングの進歩につれて、当社ではテキストと画像の両方の意味を組み込んで、何を生成するべきかについて取り組んでいます。現在は、高度な ML パイプラインを備えた大規模なモデルのトレーニングを強化するために情報検索を利用することに焦点を当てています。複数のデータソースとモデルが同時にトレーニングされているため、このセットアップには分散トレーニングに加えて課題があります。そのため、Amazon SageMaker の新しい分散トレーニング機能を利用して、大規模な生成モデルのトレーニングを効率的にスケーリングしています」

Sarah Jane Hong 氏、Latent Space、共同設立者兼最高科学責任者

turbine_logo
「Turbine は、患者の症例に標的を定めた癌治療を提供するシミュレーション主導の創薬会社です。機械学習を使用して、独自のネットワークアーキテクチャに基づいて、Simulated Cell と呼ばれるインシリコの人間細胞モデルをトレーニングします。Simulated Cell は、分子レベルでさまざまな介入を正確に予測することにより、新しい抗がん剤を探し、既存の治療法の組み合わせパートナーを見つける際に役に立ちます。シミュレーションのトレーニングは継続的に繰り返されるものですが、1 台の機械では、トレーニングごとに数日かかるため、新しいアイデアをすばやく繰り返すことができません。Amazon SageMaker で分散トレーニングを行えるのは非常に嬉しいです。これにより、トレーニング時間が 90% 短縮され、セルモデルトレーニング用の最高のコードベースを作成するといったメインタスクに集中できるようになります。SageMaker は最終的に、当社の主な使命である、患者のための新しい抗がん剤を特定して開発することで、より効果的な治療を可能にします」

Kristóf Szalay 氏、CTO、Turbine

Amazon SageMaker 分散トレーニングライブラリのリソース

Amazon SageMaker の DataParallel を使用した高速トレーニングとほぼ線形のスケーリング (23:31)
Amazon SageMaker におけるモデルの並列処理を使用した 10 億のパラメータを持つモデルのトレーニング (28:52)

Amazon SageMaker 分散トレーニングライブラリの使用を開始する