SageMaker モデル並列処理ライブラリのリリースノート - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker モデル並列処理ライブラリのリリースノート

SageMaker モデル並列処理 (SMP) ライブラリの最新の更新を追跡するには、次のリリースノートを参照してください。SMP ライブラリについてさらに質問がある場合は、 SMPのサービスチームにお問い合わせくださいsm-model-parallel-feedback@amazon.com

SageMaker モデル並列処理ライブラリ v2.5.0

日付: 2024 年 8 月 28 日

SMP ライブラリの更新

新しい特徴

  • Mixtral モデルの P5 インスタンスFP8のデータ形式を使用した混合精度トレーニングのサポートを追加しました。

  • 次のモデル設定コンテキスト並列処理のサポートが追加されました。

    • Llama-v2: 7B および 70B

    • Llama-v3: 8B および 70B

    • GPT-NeoX : 20B

  • チェックポイントの非同期保存のサポートを追加しました。詳細については、「を使用したチェックポイント SMP」を参照してください。

    • Amazon EBSまたはファイルサーバーを使用せずにチェックポイントを S3 に直接保存するためのサポート。

バグ修正

  • 事前トレーニング済みモデルチェックポイントをロードし、テンソル並列処理を利用するときに、Llama の微調整中に予期しない高い初期損失が発生する問題を解決しました。

Notes (メモ)

  • Mixtral にアクティベーションチェックポイントをFP8混合精度で使用するには、注意層とエキスパートレイヤーを個別にチェックポイントする必要があります。正しく設定する例については、Amazon SageMaker Examples リポジトリ「トレーニングスクリプトの例」を参照してください。

既知の問題

  • MoE 設定 (torch.sagemaker.moe.moe_config.MoEConfig) のバランスの取れた負荷分散タイプは現在、アクティベーションチェックポイントと互換性がありません。

  • コンテキスト並列処理では、GPT-NeoX はトレーニング前と微調整の両方でパフォーマンスの回帰を示します。

  • GPT-NeoX on P4 インスタンスの場合、遅延パラメータで初期化された変換済みモデルから Hugging Face トランスフォーマーモデルに重みを直接ロードすると、最初のステップで損失の不一致が発生します。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。Python で PyTorch SageMaker推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に受け取ります。この SMPv2 リリースを使用するには、Python SDKを v2.224.0 以降にアップグレードします SageMaker。

通貨の更新

  • FlashAttention ライブラリを v2.5.8 にアップグレードしました

  • Transformer Engine ライブラリを v1.8 にアップグレードしました

    • Transformer Engine を Conda 環境にインストールする場合は、ソースからビルドし、特定のアップストリーム修正 (744624d 27c63427669bf3) をチェリーピックする必要があります。

コンテナの詳細

  • SMP PyTorch v2.3.1 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121

    サポートされているリージョンの詳細なリストについては、「AWS リージョン」を参照してください。

  • プリインストールされたパッケージ

    • SMP ライブラリ v2.5.0

    • SMDDP ライブラリ v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャンネル

次の S3 バケットは、SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャンネル全般の詳細については、「Conda ドキュメント」の「チャンネル」を参照してください。

SageMaker モデル並列処理ライブラリ v2.4.0

日付: 2024 年 6 月 20 日

SMP ライブラリの更新

バグ修正

  • SMP Transformer の使用中にラベルがフォワードパスで渡されない場合に、誤ったロジット形状を引き起こすバグを修正しました。

通貨の更新

  • PyTorch v2.3.1 のサポートを追加しました。

  • Python v3.11 のサポートを追加しました。

  • Hugging Face Transformers ライブラリ v4.40.1 のサポートが追加されました。

非推奨

  • Python v3.10 のサポートを中止しました。

  • v4.40.1 より前の Hugging Face Transformers ライブラリバージョンのサポートが中止されました。

その他の変更点

  • 重複排除されたテンソルを異なるランクに保存するよう切り替えるパッチを追加しました。詳細については、 PyTorch GitHub リポジトリのディスカッションスレッドを参照してください。

既知の問題

  • テンソル並列処理で Llama-3 70B を微調整しながら、損失が急増し、より高い損失値で再開される可能性があるという既知の問題があります。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。Python で PyTorch SageMaker推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に受け取ります。この SMPv2 リリースを使用するには、Python SDKを v2.224.0 以降にアップグレードします SageMaker。

通貨の更新

  • SMDDP ライブラリを v2.3.0 にアップグレードしました。

  • NCCL ライブラリを v2.21.5 にアップグレードしました。

  • EFA ソフトウェアを v1.32.0 にアップグレードしました。

非推奨

コンテナの詳細

  • SMP PyTorch v2.3.1 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • プリインストールされたパッケージ

    • SMP ライブラリ v2.4.0

    • SMDDP ライブラリ v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャンネル

次の S3 バケットは、SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャンネル全般の詳細については、「Conda ドキュメント」の「チャンネル」を参照してください。

SageMaker モデル並列処理ライブラリ v2.3.1

日付: 2024 年 5 月 9 日

バグ修正

  • エキスパート並列処理torch.sagemaker.moe.moe_config.MoEConfigmoe_load_balancing=balanced を使用するときにImportError発生する問題を修正しました。

  • load_state_dict_from_rank0 が有効なKeyErrorときにtorch.sagemaker.transform呼び出しが提起される微調整の問題を修正しました。

  • Mixtral 8x22B などの大規模な Mixture of Experts (MoE ) モデルを微調整するためにロードするときに発生する (OOM) エラーを修正 out-of-memoryしました。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。このリリースでは、前述のバグ修正を次の SMP Docker イメージに組み込みます。

  • SMP PyTorch v2.2.0 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121

SageMaker モデル並列処理ライブラリ v2.3.0

日付: 2024 年 4 月 11 日

新しい特徴

  • Mixture of Experts トランスフォーマーモデルをサポートするために、新しいコア機能であるエキスパート並列処理 が追加されました。詳細については、「エキスパート並列処理」を参照してください。

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に受け取ります。この SMPv2 リリースを使用するには、 SageMaker Python SDKを v2.214.4 以降にアップグレードします。

  • SMP PyTorch v2.2.0 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • この Docker コンテナにプリインストールされたパッケージ

      • SMDDP ライブラリ v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets ライブラリ v2.16.1

      • Megatron-core 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker モデル並列処理ライブラリ v2.2.0

日付: 2024 年 3 月 7 日

新機能

  • Transformer Engine 統合による P5 インスタンスでの以下の Hugging Face トランスフォーマーモデルのFP8トレーニングのサポートを追加しました。

    • GPT-NeoX

    • ラマ 2

バグ修正

  • テンソル並列処理トレーニング中にAllGather、集合呼び出しの前にテンソルが連続していることが保証されないバグを修正しました。

通貨の更新

  • PyTorch v2.2.0 のサポートを追加しました。

  • SMDDP ライブラリを v2.2.0 にアップグレードしました。

  • FlashAttention ライブラリを v2.3.3 にアップグレードしました。

  • NCCL ライブラリを v2.19.4 にアップグレードしました。

非推奨

  • v1.2.0 より前の Transformer Engine バージョンのサポートが中止されました。

既知の問題

その他の変更点

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に受け取ります。この SMPv2 リリースを使用するには、 SageMaker Python SDKを v2.212.0 以降にアップグレードします。

  • SMP PyTorch v2.2.0 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • P4d, P4deインスタンスで使用可能 P5

    • この Docker コンテナにプリインストールされたパッケージ

      • SMDDP ライブラリ v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets ライブラリ v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker モデル並列処理ライブラリ v2.1.0

日付: 2024 年 2 月 6 日

通貨の更新

  • PyTorch v2.1.2 のサポートを追加しました。

非推奨

  • Hugging Face Transformers v4.31.0 のサポートを中止しました。

既知の問題

  • Hugging Face Llama 2 モデルを attn_implementation=flash_attention_2と で微調整FSDPすると、モデルが分岐する問題が発見されました。詳細については、Hugging Face Transformers GitHub リポジトリ「問題チケット」を参照してください。相違の問題を回避するには、 を使用しますattn_implementation=sdpa。または、 を設定してSMPトランスフォーマーモデルの実装を使用しますuse_smp_implementation=True

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に受け取ります。この SMPv2 リリースを使用するには、 SageMaker Python SDKを v2.207.0 以降にアップグレードします。

  • SMP PyTorch v2.1.2 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • P4d, P4deインスタンスで使用可能 P5

    • この Docker コンテナにプリインストールされたパッケージ

      • SMDDP ライブラリ v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets ライブラリ v2.16.1

      • EFA v1.30.0

SMP Conda チャンネル

次の S3 バケットは、SMPサービスチームがホストするパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャンネル全般の詳細については、「Conda ドキュメント」の「チャンネル」を参照してください。

SageMaker モデル並列処理ライブラリ v2.0.0

日付: 2023 年 12 月 19 日

新しい特徴

次の新しいオファリングで SageMaker モデル並列処理 (SMP) ライブラリ v2.0.0 をリリースしました。

  • SMP v1.x の以前のtorch.sagemakerパッケージから完全に改訂された新しいsmdistributed.modelparallel.torchパッケージ。

  • PyTorch 2.0.1 のサポート。

  • のサポート PyTorch FSDP。

  • Transformer Engine ライブラリと統合してテンソル並列処理を実装します。

  • SageMaker トレーニングと の両方をサポートしますSageMaker HyperPod

変更の解除

  • SMP v2 は APIs全体を更新し、 torch.sagemakerパッケージを提供します。ほとんどの場合、 torch.sagemaker.init()モジュールで初期化し、モデル並列設定パラメータを渡すだけで済みます。この新しいパッケージを使用すると、トレーニングスクリプトのコード変更を大幅に簡素化できます。v2 を使用するようにトレーニングスクリプトを適応させる方法の詳細については、SMP「」を参照してください SageMaker モデル並列処理ライブラリ v2 を使用する

  • Hugging Face Transformer SMP モデルのトレーニングに v1 を使用していて、v2 SMP でモデルを再利用する場合は、「」を参照してくださいv1 SMP から v2 SMP へのアップグレード

  • PyTorch FSDP トレーニングには v2 SMP を使用する必要があります。

既知の問題

  • 現在、アクティベーションチェックポイントは、 で次のラッピングポリシーでのみ機能しますFSDP。

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • を使用するにはアクティベーションオフロード、FSDPアクティベーションチェックポイントタイプが である必要がありますREENTRANT

  • シャードデータ並列度を に設定してテンソル並列を有効にして実行する場合は1、 を使用する必要がありますbackend = nccl。このシナリオでは、smddpバックエンドオプションはサポートされていません。

  • Transformer Engine は、テンソル並列処理を使用していない場合でも、SMPライブラリ PyTorch で使用する必要があります。

その他の変更点

非推奨

  • のサポートが中止されました TensorFlow。

  • v2 SMP ではパイプライン並列処理のサポートはありません。

  • ネイティブ PyTorch に有利な DeepSpeed ライブラリのサポートはありませんFSDP。

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に受け取ります。この SMPv2 リリースを使用するには、 SageMaker Python SDKを v2.207.0 以降にアップグレードします。

  • SMP PyTorch v2.0.1 と v12.1 CUDA の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121