1. 訓練パラダイムの概要
1.1 3段階のパイプライン
現代のLLM訓練は通常3段階:
- Pre-training:大規模テキストで言語モデリング
- SFT(Supervised Fine-Tuning):指示-応答ペアで訓練
- RLHF/DPO:人間の選好でアライメント
1.2 各段階の役割
- Pre-training:知識・言語能力の獲得
- SFT:指示に従う能力、フォーマット学習
- RLHF:有用性、安全性、人間の好みへの適合
1.3 計算コストの分布
Pre-training >> SFT > RLHF(計算量ベース)
Pre-trainingが全体の99%以上のコストを占める。
2. 事前訓練(Pre-training)
2.1 目的
大規模テキストコーパスから汎用的な言語理解・生成能力を獲得。
2.2 訓練目標
Next Token Prediction(自己回帰):
GPT系。過去のトークンから次を予測。
L = -Σ log P(xₜ | x₁, ..., xₜ₋₁)
Masked Language Modeling:
BERT系。マスクされたトークンを予測。
L = -Σ log P(x_masked | x_context)
2.3 データ
規模:数百B〜数十Tトークン
ソース:
- Web(CommonCrawl等)
- 書籍(Books3等)
- Wikipedia
- コード(GitHub)
- 学術論文
データ品質:
- 重複排除(deduplication)
- 品質フィルタリング
- 有害コンテンツ除去
- 言語・ドメインバランス
2.4 計算要件
- 数千〜数万GPU
- 数週間〜数ヶ月
- 数億〜数十億ドルのコスト(大規模モデル)
3. 教師ありファインチューニング(SFT)
3.1 Instruction Tuning
指示-応答ペアで訓練し、指示に従う能力を獲得。
指示:以下の文を要約してください。
入力:[長いテキスト]
出力:[要約]
3.2 データセット
- FLAN:1,800+タスク
- Natural Instructions:60以上の言語
- Alpaca:52Kの指示データ
- ShareGPT:ユーザーとの対話ログ
3.3 効果
- 指示追従能力の大幅向上
- Zero-shot性能の改善
- 対話的応答の学習
- フォーマット・スタイルの整形
3.4 データ量
Pre-trainingより遥かに少量(数千〜数十万例)で効果的。
品質 > 量。高品質な少量データが重要。
3.5 FLAN-T5の発見
Chung et al. (2022)。多タスクInstruction Tuningで:
- 未見タスクへの汎化
- Chain-of-Thought能力の向上
- スケールとの相乗効果
4. RLHF・アライメント訓練
4.1 RLHF(Reinforcement Learning from Human Feedback)
Ouyang et al. (2022) InstructGPT。
3ステップ:
- SFT:高品質な指示データで訓練
- 報酬モデル訓練:人間の選好から報酬を学習
- RL最適化:PPOで方策を更新
4.2 報酬モデル
人間のランキングデータから訓練。
「応答Aと応答B、どちらが良いか」
Loss = -log σ(r(x, y_preferred) - r(x, y_rejected))
4.3 DPO(Direct Preference Optimization)
Rafailov et al. (2023)。報酬モデルを介さず直接最適化。
現在の主流手法の1つ。
4.4 その他のアライメント手法
- IPO:DPOの改良
- KTO:バイナリフィードバック対応
- RLAIF:AIによるフィードバック
- Constitutional AI:原則に基づく自己改善
4.5 効果
- 有用性の向上
- 有害出力の削減
- 人間の好みへの適合
- 幻覚の低減(一定程度)
5. パラメータ効率的手法(PEFT)
5.1 動機
全パラメータのファインチューニングは:
- 計算コストが高い
- メモリを大量に消費
- タスクごとに全パラメータを保存
5.2 LoRA(Low-Rank Adaptation)
Hu et al. (2022)。低ランク行列で重み更新を近似。
W' = W + BA
(B: d×r、A: r×d、r << d)
- 訓練パラメータ数を1%以下に削減
- Full Fine-tuningに匹敵する性能
- 複数タスクで効率的に切り替え可能
5.3 QLoRA
Dettmers et al. (2023)。量子化 + LoRA。
- 4-bit量子化したモデルにLoRA適用
- 単一GPUで65Bモデルのファインチューニング
5.4 その他のPEFT手法
- Adapter:小さなモジュールを挿入
- Prefix-Tuning:学習可能なプレフィックス
- Prompt Tuning:Soft Promptの学習
- DoRA:方向と大きさを分離
5.5 使い分け
- リソース制約あり:QLoRA
- 複数タスク:LoRA(タスクごとにアダプタ)
- 最高性能:Full Fine-tuning(リソースがあれば)
6. 実践的考慮事項
6.1 いつ何を使うか
| 状況 |
推奨手法 |
| 少量データ、多タスク |
ICL / Prompting |
| 特定タスク、中量データ |
LoRA / QLoRA |
| 特定ドメイン、大量データ |
Full Fine-tuning / Continued Pre-training |
| 対話能力の向上 |
SFT + DPO |
6.2 注意点
- Catastrophic Forgetting:ファインチューニングで元の能力が失われる
- Overfitting:少量データでの過学習
- 分布シフト:訓練・評価データの違い
6.3 ベストプラクティス
- まずはPromptingで試す
- データ品質を優先
- 適切な評価指標を設定
- 段階的にアプローチを強化
7. 参考文献
SFT・Instruction Tuning
- Wei et al. (2022) "Finetuned Language Models Are Zero-Shot Learners" (FLAN)
- Chung et al. (2022) "Scaling Instruction-Finetuned Language Models" (FLAN-T5)
- Taori et al. (2023) "Stanford Alpaca"
RLHF・アライメント
- Ouyang et al. (2022) "Training language models to follow instructions" (InstructGPT)
- Rafailov et al. (2023) "Direct Preference Optimization" (DPO)
- Bai et al. (2022) "Constitutional AI" (Anthropic)
PEFT
- Hu et al. (2022) "LoRA: Low-Rank Adaptation of Large Language Models"
- Dettmers et al. (2023) "QLoRA: Efficient Finetuning of Quantized LLMs"
関連ページ