反復トレーニング - Amazon SageMaker AI

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

反復トレーニング

反復トレーニングを使用すると、複数のトレーニング手法を順番に連鎖させることで、Amazon Nova モデルの高度なトレーニングパイプラインを開発できます。このアプローチにより、さまざまなカスタマイズ方法をレイヤー化して、正確にカスタマイズされたモデルを実現できます。

このプロセスは、標準手法 (SFT、PEFT、DPO など) のいずれかを使用して Amazon Nova モデルをトレーニングすることから始まります。完了すると、指定した S3 出力場所にmanifest.jsonファイルが表示されます。このファイルには、トレーニング済みモデルの保存場所を示すcheckpoint_s3_bucket値が含まれています。

その後、このチェックポイントの場所を後続のトレーニング実行のmodel_name_or_pathパラメータとして使用して、以前のカスタマイズ作業を効果的に構築できます。これにより、段階的な改善の連鎖が作成され、各トレーニングステージは特定の要件に基づいてモデルをさらに改良します。

反復トレーニングを使用すると、Amazon Nova モデルをチューニングするためのより高度なトレーニングパイプラインを開発できます。トレーニングモジュールを連鎖させることで、トレーニング手法をレイヤー化して、モデルをニーズに合わせて正確にカスタマイズできます。

まず、「」で説明されている方法のいずれかを使用して Amazon Nova をトレーニングしますAmazon SageMaker HyperPod での Amazon Nova のカスタマイズ HyperPod。トレーニング中に定義された出力用 S3 の場所で、manifest.json ファイルを見つけます。このファイルには、出力モデルが定義されている場所を示す値 checkpoint_s3_bucket が含まれています。この出力場所を将来のトレーニング実行で model_name_or_path 値として使用できます。

以下の例では、Amazon Nova Lite モデルの教師ありファインチューニング (SFT) > SFT > 直接設定最適化 (DPO) 反復トレーニングの実行を定義するワークフローの手順を示します。まず、基盤モデルの初期 SFT トレーニングの実行レシピを定義する必要があります。

## Run config run: name: "my-fullrank-run-sft" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

このトレーニングジョブは、output_s3_path次のように で定義されたパスにmanifest.jsonファイルを生成します。

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

このチェックポイントパスは、次の反復トレーニングステップで として使用できますmodel_name_or_path。これにより、基本基盤モデルではなく、前のチェックポイントを次のトレーニング方法のベースモデルとして使用するようにトレーニングに指示します。

この例の次のステップでは、異なるデータセットに対する SFT トレーニング実行を定義します。これは、さまざまなインタラクションセットにわたってモデルをトレーニングするために使用できます。

## Run config run: name: "my-fullrank-run-sft-2" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Customer data path output_s3_path: "s3://Path to output data location" # Output artifact path

最初のトレーニングセットと同様に、これにより出力場所に同様のmanifest.jsonファイルが出力されます。

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

これは、DPO を使用した最後の反復トレーニング実行への最終入力として使用できます。

## Run config run: name: "my-fullrank-run-dpo" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

この反復トレーニングパイプラインの任意のステップの出力は、推論または評価に使用でき、モデルが目的の出力に収束していることを確認するために、途中でモデルの進行状況を確認できます。

制限

反復トレーニングは、任意のトレーニング方法で任意の順序で実行でき、必要な結果を得るために必要な反復回数だけ実行できます。反復トレーニングを行う場合、モデルと手法 (LoRA PEFT と比較してフルランク) の両方が一貫している必要があります。たとえば、LoRA PEFT トレーニング後にフルランクのファインチューニングで繰り返しトレーニングしようとすると、トレーニングジョブはエラーをスローします。同様に、Amazon Nova Micro チェックポイントの上に Amazon Nova Lite トレーニングジョブを定義する場合、エラーが発生します。