

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

# 継続的なカスタマイズ
<a name="customizing-models-continuous"></a>

**継続的なカスタマイズ**では、*別の手法*で、または新しいデータで*同じ手法*で、追加のトレーニングを適用することで、以前にカスタマイズしたモデルに基づいて構築できます。たとえば、[SFT](customizing-models-sft.md) から始めてドメインの知識を学習し、[DPO](customizing-models-dpo.md) を適用してユーザー設定に合わせ、[RLVR](customizing-models-rft.md) を適用して事実の精度を向上させます。

**重要**  
継続的なカスタマイズは、[MTRL](model-customize-mtrl.md) (Multi-Turn Reinforcement Learning) とは異なります。継続的なカスタマイズは、複数の手法にまたがるトレーニングジョブを連鎖させます。MTRL は、1 つのトレーニングジョブ内の複数ステップのツール使用タスクについてエージェントをトレーニングします。

## 仕組み
<a name="continuous-how-it-works"></a>
+ 以前のトレーニングジョブから [LoRA](customizing-models-lora.md) アダプターの重みをロードします
+ オプティマイザ、スケジューラ、ステップカウンターをリセットします (新しい手法またはデータを使用した新しいトレーニング)
+ 前のジョブの出力が新しいトレーニング実行の開始点になります。

**注記**  
現在、継続的なカスタマイズは[、MTRL](model-customize-mtrl.md) および Python SDK のみを使用した継続的なカスタマイズワークフローを通じて利用できます。[LoRA](customizing-models-lora.md) トレーニングタイプでサポートされています。[FFT](customizing-models-fft.md) を使用したさまざまな手法での継続的なカスタマイズはサポートされていません。

## サポートされている手法の移行
<a name="continuous-supported-transitions"></a>

次の表は、継続的なカスタマイズでサポートされているすべての組み合わせを示しています。


| 手法から | テクニックへ | サポート | 
| --- | --- | --- | 
| SFT | DPO | ✓ | 
| SFT | RLVR | ✓ | 
| SFT | RLAIF | ✓ | 
| SFT | SFT (新しいデータ) | ✓ | 
| SFT | MTRL | ✓ | 
| DPO | DPO (新しいデータ) | ✓ | 
| DPO | RLVR | ✓ | 
| DPO | RLAIF | ✓ | 
| DPO | SFT | ✓ | 
| RLVR | DPO | ✓ | 
| RLVR | RLVR (新しいデータ) | ✓ | 
| RLAIF | DPO | ✓ | 
| RLAIF | RLAIF (新しいデータ) | ✓ | 

## 継続的なカスタマイズとトレーニングの再開
<a name="continuous-vs-resume"></a>


|  | 継続的なカスタマイズ | トレーニングを再開する | 
| --- | --- | --- | 
| テクニック | 異なるまたは同じ手法 | 同じ手法のみ | 
| オプティマイザの状態 | リセット (新しい開始) | チェックポイントから復元 | 
| ユースケース | チェーン手法 (SFT → DPO → RLVR) | 中断されたトレーニングを継続する | 
| トレーニングタイプ | [LoRA](customizing-models-lora.md) のみ | [LoRA](customizing-models-lora.md) のみ | 

## 開始方法
<a name="continuous-getting-started"></a>

継続的なカスタマイズは Python SDK を通じて利用できます。前のトレーニングジョブの出力パスを次の手法`resume_from_path`の として指定します。

```
from sagemaker.modules.train import DPOTrainer

# Continue from a previous SFT job with DPO
trainer = DPOTrainer(
    model_id="meta-textgeneration-llama-3-1-8b-instruct",
    train_data="s3://my-bucket/dpo-preferences.jsonl",
    resume_from_path="s3://my-bucket/previous-sft-output/",
    hyperparameters={
        "max_epochs": 2,
        "learning_rate": 1e-5,
        "lora_rank": 16,
    }
)
trainer.train()
```

## ワークフローの例
<a name="continuous-example-workflows"></a>

SFT → DPO  
最初にドメインの知識を教えてから、ユーザー設定に合わせる

SFT → RLVR  
最初にタスク形式を教えてから、事実の正確性を最適化する

SFT → DPO → RLVR  
フルパイプライン — 知識 → 設定 → 精度

SFT → MTRL  
基本機能をトレーニングし、マルチターンエージェントタスク用にトレーニングする

DPO → DPO (新しいデータ)  
新しいフィードバックデータを使用して設定を繰り返し絞り込む