ファインチューニング(Fine-tuning)
概要
ファインチューニングは、事前学習 で得られたベースモデルを、ラベルづけされた比較的小さなターゲットデータセット でさらに訓練し、指示への追従や特定タスクへの適応を行うステップです。モデルのパラメータそのものを更新する パラメトリック学習(Parametric Learning) に分類されます。
カスタムデータでファインチューニングされた 大規模言語モデル は、特定タスクにおいて汎用 LLM の性能を凌駕することがあります。
主な手法
- 教師ありファインチューニング(Supervised Fine-Tuning, SFT)
- 入力と望ましい出力のペアで学習
- 直接選好最適化(Direct Preference Optimization, DPO)
- ランク付けされた出力ペアから「より良い出力」を優先するよう学習
- 人間のフィードバックによる強化学習(RLHF, Reinforcement Learning from Human Feedback)
- 人間の選好を報酬として強化学習。ChatGPT などの指示追従能力の鍵
- Vision fine-tuning — マルチモーダル対応
- Reinforcement fine-tuning — 強化学習による微調整
ファインチューニングが有効な条件
AIエージェント 開発の文脈では、以下が揃うときに検討されます。
- ドメインの専門化が必要
- 一貫したトーンとフォーマットが求められる
- ツールや API 呼び出しを正確に行う必要がある
- 十分な高品質データと予算がある
- 再訓練の頻度が管理可能
なお、小型モデル(OSS モデル)はファインチューニングによって特定用途で効果的になることがあります。
学習方法の比較
| 方法 | 訓練例の数 | 計算コスト | パラメータ更新 |
|---|---|---|---|
| Few-shot Learning / In-context Learning | 数個〜数十個 | 低 | なし |
| ファインチューニング | 数百〜数千個以上 | 高 | あり |
ファインチューニングは精度が高い一方コストも高いため、プロンプトエンジニアリング や RAG で十分なケースも多く、用途に応じた使い分けが重要です。