SageMaker モデル並列処理ライブラリの主要機能
シャーディングデータ並列処理、テンソル並列処理、パイプラインスケジューリングのためのレイヤーによるモデルパーティショニングおよびチェックポイントなど、分散戦略とメモリ節約手法を提供する Amazon SageMaker のモデル並列処理ライブラリの主要機能。モデル並列処理の戦略と手法は、トレーニングの速度とメモリ消費を最適化しつつ、大規模なモデルを複数のデバイスに分散させるのに役立ちます。このライブラリには Python ヘルパー関数、コンテキストマネージャー、ラッパー関数も用意されています。これにより、トレーニングスクリプトをモデルの自動パーティショニングまたは手動パーティショニングに適合させることができます。
トレーニングジョブにモデル並列処理を実装する場合、「モデル並列処理による SageMaker 分散トレーニングジョブの実行」セクションに示されているのと同じ 2 段階のワークフローを維持します。トレーニングスクリプトを適合させるために、トレーニングスクリプトにゼロまたは数行のコード行を追加します。適合させたトレーニングスクリプトのトレーニングジョブを開始するには、メモリ節約機能を有効にしたり、並列処理の制限値を渡すため、ディストリビューション設定パラメータを設定する必要があります。
サンプルを使って開始するには、SageMaker モデル並列処理ライブラリの使用方法を示す次の Jupyter Notebook を参照してください。
ライブラリの主要機能について詳しく知るには、以下のトピックを参照してください。
注記
SageMaker 分散トレーニングライブラリは、SageMaker トレーニングプラットフォーム内の PyTorch、HuggingFace、TensorFlow フレームワーク用の AWS 深層学習コンテナから利用可能です。分散トレーニングライブラリの機能を利用するには、SageMaker Python SDK の使用をお勧めします。また、SDK for Python (Boto3) または AWS Command Line Interface で SageMaker API を使用する場合は、JSON リクエスト構文で手動で設定することも可能です。このドキュメントの説明と例では、SageMaker Python SDK を使った分散トレーニングライブラリの使用方法に焦点を当てています。
重要
SageMaker モデル並列処理ライブラリは PyTorch のすべての主要機能および TensorFlow のパイプライン並列処理をサポートしています。