

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

# SFT
<a name="customizing-models-sft"></a>

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

## どのようなときに使うか
<a name="customizing-models-sft-when-to-use"></a>
+ ターゲットタスクに高品質のプロンプトとレスポンスのペアがある
+ モデルに特定のスタイル、形式、またはドメインの知識を学習させたい
+ 明確に定義されたタスク (要約、分類、Q&A) に対して一貫した動作が必要である

## 達成事項
<a name="customizing-models-sft-what-it-achieves"></a>

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

## データセット形式
<a name="customizing-models-sft-dataset"></a>

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

### 形式 1: `messages`
<a name="customizing-models-sft-dataset-format-1"></a>

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

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

### 形式 2: `prompt`/`completion`
<a name="customizing-models-sft-dataset-format-2"></a>

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

```
{
  "system": "...",
  "prompt": "...",
  "completion": "..."
}
```

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

## ハイパーパラメータ
<a name="customizing-models-sft-hyperparameters"></a>

**注記**  
次の表は、[サーバーレスモデルのカスタマイズ](customize-model.md)を使用する際に使用できるハイパーパラメータを示しています。その他のハイパーパラメータは、最適化されたデフォルトを使用して Amazon SageMaker AI によってプリセットされます。[SageMaker AI トレーニングジョブ](customizing-models-training-jobs.md)または [HyperPod](customizing-models-hyperpod.md) を使用すると、レシピで使用できるハイパーパラメータの完全なリストにアクセスできます。レシピを取得し、すべてのハイパーパラメータにアクセスするには、[SageMaker AI レシピリポジトリ](https://github.com/aws/sagemaker-hyperpod-recipes)を参照してください。

### SFT LoRA
<a name="customizing-models-sft-lora-hyperparameters"></a>


| パラメータ | タイプ | 必須? | 範囲/値 | 説明 | 
| --- | --- | --- | --- | --- | 
| max\_epochs | integer | 必須 | 1–100 | トレーニングデータセットを通過する完全なパスの数。 | 
| global\_batch\_size | 整数 | 必須 | 8、16、32、64、128、256、512、1024 | すべてのインスタンスでオプティマイザステップごとに処理されたサンプルの合計。 | 
| learning\_rate | float | 必須 | 5e-07-1e-04 | 最適化中の重み更新のステップサイズ。 | 
| lr\_scheduler | string | 必須 | コサイン、定数 | トレーニング中の学習レート減衰スケジュール。 | 
| lr\_warmup\_steps\_ratio | float | 必須 | 0～1 | 学習レートを 0 から増やした合計ステップの割合。 | 
| weight\_decay | float | 必須 | 0.0–1.0 | L2 正則化係数。オーバーフィットを防ぐのに役立ちます。 | 
| gradient\_clipping | boolean | 必須 | true、false | 基準がしきい値を超えた場合は、グラデーションをスケールダウンします。 | 
| gradient\_clipping\_threshold | float | 必須 | 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\_dropout | float | 必須 | 0.0–1.0 | LoRA アダプターレイヤーのドロップアウト確率。 | 
| lora\_alpha | 整数 | 必須 | 16、32、64、128、256 | LoRA スケーリング係数。有効な LR はアルファ/ランクとしてスケーリングされます。 | 
| merge\_weights | boolean | 必須 | true、false | トレーニング後にLoRA重みをベースモデルにマージします。 | 
| train\_val\_split\_ratio | float | オプションです。 | 0.0–1.0 | トレーニングと検証に割り当てられた割合。 | 
| temperature | float | 必須 | 0.0～2.0 | 評価用のサンプリング温度。 | 

### SFT FFT
<a name="customizing-models-sft-fft-hyperparameters"></a>


| パラメータ | タイプ | 必須? | 範囲/値 | 説明 | 
| --- | --- | --- | --- | --- | 
| max\_epochs | integer | 必須 | 1–100 | トレーニングデータセットを通過する完全なパスの数。 | 
| global\_batch\_size | 整数 | 必須 | 8、16、32、64、128、256、512、1024 | オプティマイザステップごとに処理されたサンプルの合計。 | 
| learning\_rate | float | 必須 | 5e-07-1e-04 | 重みの更新のステップサイズ。 | 
| lr\_scheduler | string | 必須 | コサイン、定数 | 学習レート減衰スケジュール。 | 
| lr\_warmup\_steps\_ratio | float | 必須 | 0～1 | LR ウォームアップのステップの割合。 | 
| weight\_decay | float | 必須 | 0.0–1.0 | L2 正則化係数。 | 
| gradient\_clipping | boolean | 必須 | true、false | 基準がしきい値を超えた場合は、グラデーションをスケールダウンします。 | 
| gradient\_clipping\_threshold | float | 必須 | 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\_ratio | float | オプションです。 | 0.0–1.0 | トレーニングと検証に割り当てられた割合。 | 
| temperature | float | 必須 | 0.0～2.0 | 評価用のサンプリング温度。 | 