翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker モデル並列処理ライブラリのリリースノート
SageMaker モデル並列処理 (SMP) ライブラリの最新の更新を追跡するには、次のリリースノートを参照してください。SMP ライブラリについてさらに質問がある場合は、 SMPのサービスチームにお問い合わせくださいsm-model-parallel-feedback@amazon.com
。
SageMaker モデル並列処理ライブラリ v2.5.0
日付: 2024 年 8 月 28 日
SMP ライブラリの更新
新しい特徴
-
Mixtral モデルの P5 インスタンスFP8のデータ形式を使用した混合精度トレーニングのサポートを追加しました。
-
サポートされている Mixtral 設定は、8x7B および 8x22B です。詳細については、「Transformer Engine を使用した 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 にアップグレードしました
コンテナの詳細
-
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 にアップグレードしました。
非推奨
-
Torch Distributed Experimental (torchdistX) ライブラリ
のインストールを中止しました。
コンテナの詳細
-
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.MoEConfigに
moe_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アクティベーションオフロード現在動作しません。代わりにネイティブ PyTorch アクティベーションオフロードを使用します。
その他の変更点
-
GitHub リポジトリの https://github.com/pytorch/pytorch/issues/117748
の問題スレッドで説明されているパフォーマンス回帰を修正するためのパッチを追加しました PyTorch。
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 で使用する必要があります。
その他の変更点
-
このリリース以降、 SageMaker モデル並列処理ライブラリのドキュメントは、この Amazon SageMaker デベロッパーガイド で完全に入手できます。Amazon デベロッパーガイド の SMP v2 用のこの完全なデベ SageMaker ロッパーガイドを優先して、SageMaker Python SDKドキュメントの SMP v1.x の追加リファレンス
は廃止されました。SMP v1.x のドキュメントがまだ必要な場合は、v1.x SMP の開発者ガイドは (アーカイブ済み) SageMaker モデル並列処理ライブラリ v1.xで入手できます。Python SMP ライブラリ v1.x リファレンスは SageMaker Python SDK v2.199.0 ドキュメント で入手できます。
非推奨
-
のサポートが中止されました 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