View a markdown version of this page

SFT - Amazon SageMaker AI

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

SFT

教師ありファインチューニングは、ラベル付き入出力ペアでモデルをトレーニングして、その動作を特定の例に合わせます。モデルは、トレーニングデータに一致するレスポンスを生成する方法を学習します。

どのようなときに使うか

  • ターゲットタスクに高品質のプロンプトとレスポンスのペアがある

  • モデルに特定のスタイル、形式、またはドメインの知識を学習させたい

  • 明確に定義されたタスク (要約、分類、Q&A) に対して一貫した動作が必要である

達成事項

このモデルは、トレーニング例のパターンを模倣し、ラベル付きデータのスタイル、形式、コンテンツに一致する出力を生成する方法を学習します。

データセット形式

SFT は 2 つのデータセット形式をサポートしています。すべてのデータセットは JSONL 形式である必要があります (行ごとに 1 つの JSON オブジェクト)。どちらの形式でもsystemメッセージはオプションです。

形式 1: messages

会話をロールタグ付きメッセージのリストとして表します。含める場合、systemメッセージは最初の要素である必要があります。

{ "messages": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ] }

形式 2: prompt/completion

入力と期待される出力を個別のフィールドとして指定し、オプションのトップレベルsystemフィールドを指定します。

{ "system": "...", "prompt": "...", "completion": "..." }
注記

system メッセージはオプションです。プロンプトとレスポンススタイルの多様性を確保します。

ハイパーパラメータ

注記

次の表は、サーバーレスモデルのカスタマイズを使用する際に使用できるハイパーパラメータを示しています。その他のハイパーパラメータは、最適化されたデフォルトを使用して Amazon SageMaker AI によってプリセットされます。SageMaker AI トレーニングジョブまたは HyperPod を使用すると、レシピで使用できるハイパーパラメータの完全なリストにアクセスできます。レシピを取得し、すべてのハイパーパラメータにアクセスするには、SageMaker AI レシピリポジトリを参照してください。

SFT LoRA

パラメータ タイプ 必須? 範囲/値 説明
max_epochsinteger必須1–100トレーニングデータセットを通過する完全なパスの数。
global_batch_size整数必須8、16、32、64、128、256、512、1024すべてのインスタンスでオプティマイザステップごとに処理されたサンプルの合計。
learning_ratefloat必須5e-07-1e-04最適化中の重み更新のステップサイズ。
lr_schedulerstring必須コサイン、定数トレーニング中の学習レート減衰スケジュール。
lr_warmup_steps_ratiofloat必須0~1学習レートを 0 から増やした合計ステップの割合。
weight_decayfloat必須0.0–1.0L2 正則化係数。オーバーフィットを防ぐのに役立ちます。
gradient_clippingboolean必須true、false基準がしきい値を超えた場合は、グラデーションをスケールダウンします。
gradient_clipping_thresholdfloat必須0.0~5.0最大許容勾配基準。
dataset_max_len整数必須256~131072トークンの最大シーケンス長。長いシーケンスは切り捨てられます。
seed整数必須0-2147483647再現性のためのランダムシード。
logging_steps整数必須1–100オプティマイザステップでのメトリクスログ記録の頻度。
lora_rank整数必須8、16、32、64、128低ランクマトリックスのディメンション。Lower = トレーニング可能なパラメータが少なくなります。
lora_dropoutfloat必須0.0–1.0LoRA アダプターレイヤーのドロップアウト確率。
lora_alpha整数必須16、32、64、128、256LoRA スケーリング係数。有効な LR はアルファ/ランクとしてスケーリングされます。
merge_weightsboolean必須true、falseトレーニング後にLoRA重みをベースモデルにマージします。
train_val_split_ratiofloatオプションです。0.0–1.0トレーニングと検証に割り当てられた割合。
temperaturefloat必須0.0~2.0評価用のサンプリング温度。

SFT FFT

パラメータ タイプ 必須? 範囲/値 説明
max_epochsinteger必須1–100トレーニングデータセットを通過する完全なパスの数。
global_batch_size整数必須8、16、32、64、128、256、512、1024オプティマイザステップごとに処理されたサンプルの合計。
learning_ratefloat必須5e-07-1e-04重みの更新のステップサイズ。
lr_schedulerstring必須コサイン、定数学習レート減衰スケジュール。
lr_warmup_steps_ratiofloat必須0~1LR ウォームアップのステップの割合。
weight_decayfloat必須0.0–1.0L2 正則化係数。
gradient_clippingboolean必須true、false基準がしきい値を超えた場合は、グラデーションをスケールダウンします。
gradient_clipping_thresholdfloat必須0.0~5.0最大許容勾配基準。
dataset_max_len整数必須256~131072トークンの最大シーケンス長。
max_response_length整数必須100~200,000生成されたレスポンスの最大トークン数。
seed整数必須0-2147483647再現性のためのランダムシード。
logging_steps整数必須1–100メトリクスログ記録の頻度。
train_val_split_ratiofloatオプションです。0.0–1.0トレーニングと検証に割り当てられた割合。
temperaturefloat必須0.0~2.0評価用のサンプリング温度。