AI・機械学習
中級
Supervised Fine-Tuning(スーパーバイズドファインチューニング)
教師あり学習データ(入力-出力ペア)を使ってLLMを特定タスクや指示追従に適応させるファインチューニング手法の総称。略称SFT。RLHFパイプラインの第一段階として広く使われる。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
LLM
ファインチューニング
SFT
RLHF
教師あり学習
Supervised Fine-Tuning (SFT) とは
SFTは事前学習済みLLMを「正解データ付きの追加学習」で特定タスクに適応させる手法。最もシンプルかつ効果的なLLM適応技術で、RLHFパイプラインの第一段階(SFT → Reward Model → RL)として標準採用されている。
SFTの学習プロセス
入力: System Prompt + User Message
出力: Assistant Response
損失計算: 出力(Assistant Response)のトークンのみ
入力トークン(Prompt)の損失はマスク
Causal Language Modeling (CLM)
# 疑似コード: SFT損失計算
for batch in dataloader:
input_ids = batch['input_ids'] # prompt + response
labels = batch['labels'] # promptトークン=-100でマスク
outputs = model(input_ids, labels=labels)
loss = outputs.loss # responseトークンのみ損失
loss.backward()
SFTとRLHFパイプライン
[Step 1] SFT
Pretrained Model → + Instruction Data → SFT Model
[Step 2] Reward Model Training
SFT Model → 人間フィードバック(比較) → Reward Model
[Step 3] RL (PPO)
SFT Model + Reward Model → RLHF Model
OpenAIのInstructGPT(2022)で実証されたパイプライン。2025年現在もChatGPT/Claude/Geminiに継承。
SFT実装フレームワーク (2025年)
| フレームワーク | 特徴 | LoRA対応 |
|---|---|---|
| TRL (HuggingFace) | SFTTrainer内蔵・最も普及 | ○ |
| LLaMA-Factory | UI付き・多モデル対応 | ○ |
| Axolotl | YAML設定・柔軟 | ○ |
| Unsloth | 2倍速・低VRAM | ○ |
| Swift (Alibaba) | Qwen特化・日英中 | ○ |
SFTデータ形式 (ChatML)
<|im_start|>system
あなたは役立つアシスタントです。<|im_end|>
<|im_start|>user
PythonでFizzBuzzを書いて<|im_end|>
<|im_start|>assistant
```python
for i in range(1, 101):
...
<|im_end|>
ChatML形式はQwen/Mistralで採用。LLaMA-3はllama3形式(<|begin_of_text|>等)を使用。
## Full SFT vs PEFT (LoRA)
| 項目 | Full Fine-Tuning | LoRA SFT |
|------|-----------------|----------|
| 更新パラメータ | 全パラメータ | 0.1〜1% |
| VRAM (7B) | 60GB+ | 16GB〜 |
| 学習速度 | 低速 | 高速 |
| 性能 | 最高 | ほぼ同等 |
| カスタマイズ性 | 高 | 中 |
## よくある質問 (FAQ)
**Q1: SFTだけでChatGPTと同等のモデルが作れるか?**
A: SFTのみでは有害出力の抑制が不十分。RLHFまたはDPOを追加することで安全性と整合性が大幅に向上する。SFTは基本的な指示追従能力の獲得に特化。
**Q2: SFTの学習時間の目安は?**
A: 7Bモデル、データ50K件、A100×8枚で約2〜4時間。LoRAなら単一A100で6〜12時間程度。UnslothやDeepSpeedで2〜4倍の高速化が可能。
**Q3: SFTで過学習を防ぐには?**
A: 1〜3エポックで停止(過剰学習でベースモデルの汎化能力が失われる)、Validation lossを監視してEarly Stoppingを設定、データ多様性を確保する三点が有効。
## まとめ
- RLHFパイプライン第一段階の教師あり学習
- 入力(prompt)マスク・出力(response)のみ損失計算
- TRL/LLaMA-Factory/Axolotlが2025年の主要実装
- Full SFTは60GB+VRAM必要→LoRA SFTで16GB〜に削減可能