Nova 1.0 をファインチューニングする - Amazon SageMaker AI

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

Nova 1.0 をファインチューニングする

前提条件

トレーニングジョブを始める前に、以下の要件を確認してください。

  • トレーニングジョブの入力データと出力を格納する Amazon S3 バケット。両方に 1 つのバケットを使用することも、データタイプごとに個別のバケットを使用することもできます。バケットが、トレーニング用の他のすべてのリソースを作成するAWS リージョンのと同じ にあることを確認します。詳細については、「汎用バケットの作成」を参照してください。

  • トレーニングジョブを実行するアクセス許可がある IAM ロール。必ず IAM ポリシーを AmazonSageMakerFullAccess にアタッチしてください。詳細については、「SageMaker 実行ロールの使用方法」を参照してください。

  • Amazon Nova の基本レシピについては、「Amazon Nova レシピの取得」を参照してください。

データ準備

高品質で適切にフォーマットされたデータを準備することは、大規模言語モデルのファインチューニングプロセスにおける重要な最初のステップです。教師ありファインチューニング (SFT) と直接選好最適化 (DPO) のどちらを Full-Rank または Low-Rank adaptation (LoRA) アプローチで使用する場合でも、モデルトレーニングを成功させるには、データで特定のフォーマット要件に従う必要があります。このセクションでは、Amazon Nova モデルのファインチューニングのためにデータセットを効果的に準備するうえで必要なデータ形式、検証方法、ベストプラクティスの概要を説明します。

SFT

SFT データ形式の要件 - フルランク SFT と LoRA SFT の両方について、データは以下に示す形式に従う必要があります。この形式の例と制約については、「理解モデルのファインチューニングのためのデータの準備」を参照してください。

SFT データ検証 - 送信前にデータセット形式を検証するには、Amazon Bedrock サンプルリポジトリから次の検証スクリプトを使用することをお勧めします。この検証ツールは、ファインチューニングジョブを送信する前に、jsonl ファイルが必須の形式仕様に準拠していることを確認し、潜在的な問題を特定するのに役立ちます。

DPO

DPO データ形式の要件 - フルランクの DPO と LoRA を使用する DPO の両方について、データは以下に示す形式に従う必要があります。また、データセットは SFT と同様の形式にする必要があります。ただし、最後のターンにはプリファレンスペアが必要です。

DPO データセットのその他の制約 - データセットのその他の制約は SFT でも同じです。詳細については、「データセットの制約」を参照してください。トレーニング用の 1 つの JSONL ファイルと検証用の 1 つの JSONL ファイルが必要です。検証セットは必須ではありません。

DPO データセットの推奨事項 - 効果的なトレーニングのために最低 1,000 個のプリファレンスペア。高品質のプリファレンスデータを使用すると、より効率的な結果が得られます。

サンプル DPO データ形式

// N-1 turns same as SFT format { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "non-preferred" } ] }

サンプル DPO データ形式 (マルチターン)

{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }

サンプル DPO データ形式 (画像あり)

{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }

トレーニングジョブのデフォルトは 1 日間の時間制限ですが、以下の表の見積もりでは、わかりやすくするために 5 日間のトレーニング期間を想定しています。ベストプラクティスとして、より長いトレーニングワークロードに対応するために、トレーニング時間の制限を最大 28 日間に増やすことをお勧めします。制限の引き上げをリクエストするには、「クォータ引き上げのリクエスト」を参照してください。

SFT データセットの制限

コンテキストの長さ モデル Method データセット 説明

32,000 コンテキスト長ジョブ

Amazon Nova Micro フルランクと LoRA テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 100,000 件のレコードしか作成できません。

Amazon Nova Lite

フルランク テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 100,000 件のレコードを作成できます。

画像と動画

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 50,000 件のレコードを作成できます。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 100,000 件のレコードを作成できます。

画像と動画 すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 90,000 件のレコードを作成できます。

Amazon Nova Pro

フルランク テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 40,000 件のレコードを作成できます。

画像と動画

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 30,000 件のレコードを作成できます。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 40,000 件のレコードを作成できます。

画像と動画

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 35,000 件のレコードを作成できます。

64,000 コンテキスト長ジョブ

Amazon Nova Micro フルランクと LoRA テキストのみ

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 50,000 件のレコードしか作成できません。

Amazon Nova Lite

フルランク テキストのみ

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 50,000 件のレコードを作成できます。

画像と動画

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 30,000 件のレコードを作成できます。

LoRA -

LoRA は、Nova Lite の 64,000 ではサポートされていません。

Amazon Nova Pro フルランクと LoRA テキストのみ

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 17,000 件のレコードを作成できます。

画像と動画

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 15,000 件のレコードを作成できます。

DPO データセットの制限

コンテキストの長さ モデル Method データセット 説明

16,000 コンテキスト長ジョブ

Amazon Nova Micro フルランク テキストのみ

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 120,000 件のレコードしか作成できません。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 125,000 件のレコードしか作成できません。

Amazon Nova Lite

フルランク テキストのみ

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 130,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、2 日以内に 20,000 件のサンプルを完了できます。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 140,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、2 日以内に 20,000 件のサンプルを完了できます。

Amazon Nova Pro

フルランク テキストのみ

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 45,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、4 日以内に 20,000 件のサンプルを完了できます。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 55,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 16,000 のデータセットを使用し、例えば 5 エポックで実行する場合、4 日以内に 20,000 件のサンプルを完了できます。

32,000 コンテキスト長ジョブ

Amazon Nova Micro フルランク テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 45,000 件のレコードしか作成できません。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 50,000 件のレコードしか作成できません。

Amazon Nova Lite

フルランク テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 55,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 35,000 件のレコードを作成できます。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 60,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 35,000 件のレコードを作成できます。

Amazon Nova Pro フルランク テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 20,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 16,000 件のレコードを作成できます。

LoRA テキストのみ

すべてのレコードでコンテキスト長が 32,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 22,000 件のレコードを作成できます。

Image

すべてのレコードでコンテキスト長が 64,000 のデータセットを使用し、例えば 5 エポックで実行する場合、最大 18,000 件のレコードを作成できます。

エポックの数やレコードのコンテキスト長を減らすことで、より多くのレコードを提供できます。

フルランク SFT と LoRA PEFT の設定

このセクションでは、フルランクの教師ありファインチューニング (SFT) アプローチと 低ランク適応パラメータ効率ファインチューニング (LoRA PEFT) アプローチの両方のレシピ設定に関するガイダンスについて説明します。これらのレシピファイルは、モデルカスタマイズジョブのブループリントとして機能し、モデルがデータから学習する方法を決定するトレーニングパラメータ、ハイパーパラメータ、およびその他の重要な設定を指定できます。ハイパーパラメータを調整するには、「ハイパーパラメータの選択」のガイドラインに従います。

ファインチューニング設定 (フルランク SFT と LoRA PEFT)

レシピの点でフルランク SFT と LoRA PEFT の唯一の違いは LoRA PEFT 設定です。これはフルランクの場合は「null」に設定され、LoRA PEFT ベースのファインチューニングを使用する場合は適切な値に設定されます。サンプルレシピは SageMaker HyperPod レシピ GitHub リポジトリにあります。次の表は、役に立つ可能性のある詳細な設定をまとめたものです。

「run」設定について。

Key 定義 Micro Lite Pro (プロ)
実行設定 model_type

使用する Nova モデルバリアントを指定します。このフィールドは変更しないでください。

"amazon.nova-micro-v1:0:128k"

"amazon.nova-lite-v1:0:300k"

"amazon.nova-pro-v1:0:300k"

model_name_or_path

ベースモデルへのパス。

"nova-micro/prod"

"nova-lite/prod"

"nova-pro/prod"

レプリカ

分散トレーニングに使用するコンピューティングインスタンスの数。

2、4、または 8

4、8、または 16

6、12、または 24

「training_config」設定について。

ルートキー 子キー 定義 最小 最大
max_length

トークンの最大シーケンス長。これにより、トレーニングのコンテキストウィンドウのサイズが決まります。最も近い 1024 倍に調整可能で最大値は 65536 (Lite Lora の場合は 32768)。

1024

65536 (32768 をサポートする Lite LoRA を除く)。
global_batch_size

ステップあたりのサンプルの合計。使用できる値は 16、32、64 です。最大値: Nova Pro の場合は 32、Nova Lite および Micro の場合は 64。

16 Nova Pro の場合は 32、Nova Lite および Micro の場合は 64。
トレーナー設定 trainer max_epochs

トレーニングデータセットの完全なパスの数。ほとんどのカスタマイズタスクでは、通常は 1~5 エポックで十分です。最大 5 つまで保持することをお勧めします。

1 -
モデル設定 モデル hidden_dropout

非表示状態の出力を削除する確率。(0.0~0.2) を増やして、小さいデータセットのオーバーフィットを減らします。範囲は 0~1 です。

0 1
モデル attention_dropout

注意重みを削除する確率。一般化に役立つ場合があります。範囲は 0~1 です。

0 1
モデル ffn_dropout

フィードフォワードネットワーク出力を削除する確率。範囲は 0~1 です。

0 1
オプティマイザー設定 model.optim lr

最適化中のステップサイズを制御する学習率。制限は 0~1 です。通常は、パフォーマンスを高めるために 1e-6 から 1e-4 の間で設定します。

0 1
model.optim 名前

オプティマイザーアルゴリズム。現在は、distributed_fused_adam のみがサポートされます。

- -
model.optim adam_w_mode

AdamW モード (true/false) を有効にします。

- -
model.optim eps

数値安定性のためのイプシロン。

model.optim weight_decay

L2 正則化の強度は 0.0 から 1.0 の間で指定する必要があります。

0 1
model.optim betas

Adam オプティマイザーのベータは 0.0 から 1.0 の間で指定する必要があります。

0 1
model.optim sched_warmup_steps

学習率を徐々に増やすステップの数。これにより、トレーニングの安定性が向上します。1~20 の範囲で指定します。

1 20
model.optim sched_constant_steps

一定の学習率でのステップ。

1.00E-10 1.00E-06
model.optim sched.min_lr

減衰終了時の最小学習率。制限は 0~1 ですが、学習率より小さくする必要があります。

0 1

LoRA PEFT 設定

model.peft peft_scheme

「lora」か「null」を使用します。「lora」はパラメータ効率の高いファインチューニングで LoRA PEFT 手法を使用します。「null」はフルランクのファインチューニングを開始します。

- -
model.peft lora_tuning.loraplus_lr_ratio

LoRA+ 学習率スケーリング係数は 0.0~100.0 の間で指定する必要があります。

0 100
model.peft lora_tuning.alpha

LoRA 重みのスケーリング係数。使用できる値は 32、64、96、128、160、192 です。

32 192
model.peft lora_tuning.adapter_dropout

LoRA パラメータの正則化。0.0 から 1.0 の間で指定する必要があります。

0 1

特定の設定のファインチューニング (DPO)

LoRA PEFT および FullRank SFT と比較した直接選好最適化 (DPO) の違いは、dpo_cfg 設定と許容値のみです。DPO 専用として許可されている値については、例の下の表を参照してください。サンプルレシピは SageMaker HyperPod レシピ GitHub リポジトリにあります。次の表は、役に立つ可能性のある詳細な設定をまとめたものです。

ルートキー 子キー 定義 最小 最大
max_length トークンの最大シーケンス長。これにより、トレーニングのコンテキストウィンドウのサイズが決まります。最も近い 1024 倍に調整可能で最大値は 32,768。

1024

32768

global_batch_size

グローバルバッチサイズ、指定できる値は {16, 32, 64, 128, 256} です。

16 256
トレーナー設定 trainer max_epochs

トレーニングデータセットの完全なパスの数。ほとんどのカスタマイズタスクでは、通常は 1~5 エポックで十分です。最大エポックは 5 です。

1 5
モデル設定 モデル hidden_dropout

非表示状態の出力を削除する確率。(0.0~0.2) を増やして、小さいデータセットのオーバーフィットを減らします。範囲は 0~1 です。

0 1
モデル attention_dropout

注意重みを削除する確率。一般化に役立つ場合があります。範囲は 0~1 です。

0 1
モデル ffn_dropout

フィードフォワードネットワーク出力を削除する確率。範囲は 0~1 です。

0 1
オプティマイザー設定 model.optim lr

最適化中のステップサイズを制御する学習率。制限は 0~1 です。通常は、パフォーマンスを高めるために 1e-6 から 1e-4 の間で設定します。

0 1
model.optim 名前

オプティマイザーアルゴリズム。現在は、distributed_fused_adam のみがサポートされます。

- -
model.optim adam_w_mode

AdamW モード (true/false) を有効にします。

- -
model.optim eps

数値安定性のためのイプシロン。

1.00E-10 1.00E-06
model.optim weight_decay

L2 正則化の強度は 0.0 から 1.0 の間で指定する必要があります。

0 1
model.optim betas

Adam オプティマイザーのベータは 0.0 から 1.0 の間で指定する必要があります。

0 1
model.optim sched_warmup_steps

学習率を徐々に増やすステップの数。これにより、トレーニングの安定性が向上します。1~20 の範囲で指定します。

1 20
model.optim sched_constant_steps

一定の学習率でのステップ。

model.optim sched.min_lr

減衰終了時の最小学習率。制限は 0~1 ですが、学習率より小さくする必要があります。

0 1

LoRA PEFT 設定

model.peft peft_scheme

「lora」か「null」を使用します。「lora」はパラメータ効率の高いファインチューニングで LoRA PEFT 手法を使用します。「null」はフルランクのファインチューニングを開始します。

- -
model.peft lora_tuning.loraplus_lr_ratio

LoRA+ 学習率スケーリング係数は 0.0~100.0 の間で指定する必要があります。

0 100
model.peft lora_tuning.alpha

LoRA 重みのスケーリング係数。使用できる値は 32、64、96、128、160、192 です。

32 192
model.peft lora_tuning.adapter_dropout

LoRA パラメータの正規化。0.0~1.0 の間で指定する必要があります。

0 1
DPO 設定 model-dpo_cfg beta

優先適用の強さ。

0.001 0.1

SageMaker トレーニングジョブでのカスタマイズされた Nova モデルの実行

このセクションでは、Jupyter Notebook 環境を通じて SageMaker トレーニングジョブでカスタマイズされた Nova モデルを実行する方法を紹介します。トレーニングジョブの設定と起動のプロセスを説明する完全な例と、適切なコンテナイメージ URI とインスタンス設定を選択するためのリファレンステーブルが用意されています。このアプローチにより、SageMaker のマネージドインフラストラクチャを活用してモデルをカスタマイズしながら、ファインチューニングワークフローをプログラムで制御できます。詳細については、「SageMaker AI 推定器を使用したトレーニングジョブの実行」を参照してください。

リファレンステーブル

サンプルノートブックを実行する前に、次の表を参照して、適切なコンテナイメージ URI とインスタンス設定を選択してください。

画像 URI の選択

レシピ イメージ URI

SFT イメージ URI

708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-SFT-latest

DPO イメージ URI

708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-DPO-latest

インスタンスタイプとカウントの選択

モデル ジョブタイプ インスタンスタイプ 推奨インスタンスカウント 許可されるインスタンス数
Amazon Nova Micro ファインチューニング (SFT/DPO、LoRA) g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Micro ファインチューニング (SFT、FFT) g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Lite ファインチューニング (SFT、LoRA) g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Lite ファインチューニング (DPO、LoRA) g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Micro ファインチューニング (SFT) p5.48xlarge, p5en.48xlarge 2 1、2、4、8
Amazon Nova Lite ファインチューニング (SFT) p5.48xlarge, p5en.48xlarge 4 2、4、8、16
Amazon Nova Pro ファインチューニング (SFT) p5.48xlarge, p5en.48xlarge 6 3、6、12、24
Amazon Nova Micro ファインチューニング (DPO) p5.48xlarge, p5en.48xlarge 2 2、4、8
Amazon Nova Lite ファインチューニング (DPO) p5.48xlarge, p5en.48xlarge 4 4、8、16
Amazon Nova Pro ファインチューニング (DPO) p5.48xlarge, p5en.48xlarge 6 6、12、24

サンプルノートブック

次のサンプルノートブックは、トレーニングジョブを実行する方法を示したものです。SageMaker AI トレーニングジョブを使用して Nova モデルをカスタマイズする方法に関するその他の入門ノートブックについては、「SageMaker AI 推定器を使用したトレーニングジョブの実行」を参照してください。

# 1. Install dependencies !pip install sagemaker==2.254.1 # 2. Import dependencies and initialize sagemaker session import sagemaker,boto3 sm = boto3.client('sagemaker', region_name='us-east-1') sagemaker_session = sagemaker.session.Session(boto_session=boto3.session.Session(), sagemaker_client=sm) # 3. Configure your job # Define the core configuration for launching a SageMaker Training Job. This includes input/output S3 URIs, container image, hardware setup, and other runtime parameters. Update the placeholders below before submitting the job. job_name = "<Your Job Name>" input_s3_uri = "<S3 path to input data>" validation_s3_uri = "<S3 path to validation data>" # optional, leave blank if no validation data output_s3_uri = "<S3 path to output location>" image_uri = "<Image URI from documentation>" # you can choose the image for SFT/DPO instance_type = "ml.p5.48xlarge" # do not change instance_count = <Integer number of hosts> # change hosts as needed. Refer to documentation for allowed values based on model type. role_arn = "<IAM Role you want to use to run the job>" recipe_path = "<Local path to the recipe file>" # 4. Launch SageMaker Training Job # This block sets up and runs the SageMaker training job using the PyTorch estimator. It configures the training image, hardware, input channels, and TensorBoard integration. Validation data is included if provided. from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch from sagemaker.inputs import TrainingInput tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=output_s3_uri, ) estimator = PyTorch( output_path=output_s3_uri, base_job_name=job_name, role=role_arn, instance_count=instance_count, instance_type=instance_type, training_recipe=recipe_path, sagemaker_session=sagemaker_session, image_uri=image_uri, tensorboard_output_config=tensorboard_output_config, # Add the setting for using TensorBoard. disable_profiler=True, debugger_hook_config=False ) trainingInput = TrainingInput( s3_data=input_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) if (validation_s3_uri): validationInput = TrainingInput( s3_data=validation_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) estimator.fit(inputs={"train": trainingInput, "validation": validationInput}) # inputs must be called "train" and "validation", do not change else: estimator.fit(inputs={"train": trainingInput})

ハイパーパラメータの最適化に関するガイダンス

Nova LLM モデルを効果的にファインチューニングするには、ハイパーパラメータを慎重に選択する必要があります。このセクションでは基本的なレシピ構造とコンポーネントについて説明しますが、特定のユースケースに合わせてハイパーパラメータを最適化するには、追加のガイダンスが必要になることがよくあります。ハイパーパラメータの選択、ベストプラクティス、最適化戦略に関する包括的な推奨事項については、「ハイパーパラメータの選択」を参照してください。このリソースでは、データセットの特性とトレーニング目標に基づいて、適切な学習率、バッチサイズ、トレーニングエポック、その他の重要なパラメータを選択するための詳細なガイダンスを提供しています。最適なモデルパフォーマンスを実現するためにレシピ設定をファインチューニングする場合は、このガイドを参照することをお勧めします。

エポック、学習率、学習ウォームアップステップの最小値、最大値、デフォルト値の詳細については、「理解モデルのハイパーパラメータ」を参照してください。

一般的なレシピの変更

特定のユースケースに基づく一般的なレシピ調整は次のとおりです。

  • 小さいデータセットの場合 (例が 1,000 個未満)

    training_config: max_epochs: 2 # More passes through a smaller dataset model: hidden_dropout: 0.1 # Increase regularization weight_decay: 0.01 # Increase regularization
  • コンピューティングが制限されている効率性の場合

    peft: peft_scheme: "lora" lora_tuning:
  • 複雑な命令チューニングの場合

    optim: lr: 5e-6 # Lower learning rate for more stable learning sched: warmup_steps: 100 # Longer warmup for stability