一言でいうと
SFT(Supervised Fine-Tuning:教師ありファインチューニング)は、事前学習済みの大規模言語モデル(LLM)に「指示と望ましい回答」のペアを学習させ、回答の型を身につけさせる手法です。
事前学習だけを終えたLLMが豊富な知識を持つ一方で、SFTは「質問にはこう答える」「この形式・文体で出力する」という仕事の進め方を教えます。料理人にレシピや盛り付けの型を教えるようなものです。
なぜ必要なのか
事前学習済みのLLMは、基本的に「次に来る単語を予測する」学習をしています。そのため知識が豊富でも、そのままでは実務で使いにくい振る舞いをすることがあります。
- 質問に答えず、質問文の続きを書いてしまう
- 回答の形式・長さ・トーンが安定しない
- 報告書の型や応対の文体など、企業固有の出力ルールに従わない
つまり、「賢いが、指示に従わないAI」になり得ます。対話型AIの転換点となったInstructGPTの研究でも、人間が作成した模範回答データによるSFTは、指示追従能力を獲得する中核工程と位置づけられました。
企業が汎用モデルの回答を自社のフォーマット、判断基準、文体に揃えたい場合にも、SFTが選択肢になります。
仕組み
SFTでは、「入力(指示・質問)」と「出力(望ましい回答)」のペアからなるデータセットを用意します。例えば、次のようなデータです。
指示:「以下の問い合わせに、当社のサポート応対ルールに沿って回答してください」
入力:顧客からの問い合わせ文
出力:模範となる応対文
学習では、モデルが生成した回答と模範回答のずれ(損失)を計算し、そのずれが小さくなるようにモデルのパラメータを更新します。技術的には事前学習と同じく次単語予測の枠組みを使いながら、損失の計算を回答部分に絞る方法が一般的です。
SFTではデータの量だけでなく質が重要です。高品質で多様な模範回答があれば、比較的少量のデータでも大きな改善が期待できます。逆に、誤りや偏りを含むデータで学習すると、モデルがその誤りまで再現するため、教師データの設計と品質管理が成否を左右します。
SFTを全パラメータ更新で行うか、LoRAのようなパラメータ効率の良い方法で行うかは、コストとのトレードオフで選択します。実務では、SFTという目的をLoRAという手段で実現するケースも多くあります。
使うべきケース
SFTが向いているのは、モデルの「振る舞い」を変えたい場合です。
- 回答のフォーマット・文体・トーンを業務の型に統一したい
- 分類、要約、抽出、定型文書生成などの精度と安定性を上げたい
- 毎回長い指示を書いている状態を、モデル自体に覚えさせて簡略化したい
- 業界特有の言い回しや表記ルールを一貫して守らせたい
共通するのは、「正解の型を人間が示せる」ことです。模範回答を定義できるタスクほど、SFTの効果を発揮しやすくなります。
使わない方がいいケース
SFTでは解決しにくい課題や、SFT以前に取り組むべき課題もあります。
- 最新情報や社内文書の知識を答えさせたい:情報が更新されるたびに再学習が必要になるため、まずRAG(検索拡張生成)を検討します
- 高品質な教師データを用意できない:ノイズや偏りの多いデータで学習すると、モデルの性能が悪化することがあります
- プロンプト設計で十分に解決できる:Few-shot(例示)を含むプロンプトで目標水準に届くなら、学習コストをかける必要はありません
- 評価基準が決まっていない:何をもって改善とするかが不明確な状態では、効果検証や投資判断ができません
RAG・LoRAとの違い
SFTと混同されやすい用語との関係を整理すると、次のようになります。
| 手法 | 位置づけ | 解決する課題 |
|---|---|---|
| RAG | 外部文書を検索してモデルに渡す構成 | 知識(社内情報・最新情報)の問題 |
| SFT | 教師データで振る舞いを学習させる工程 | 振る舞い(型・精度・文体)の問題 |
| LoRA | SFTを低コストで実行する学習テクニック | SFTと同じ目的を少ない計算資源で実現 |
RAGとSFTは目的が異なるため、併用できます。知識はRAGで補い、振る舞いはSFTで整えるという役割分担です。一方、SFTとLoRAは目的と手段の関係にあります。「LoRAでSFTを行う」と表現できるのはこのためです。
中小企業での活用例
- カスタマーサポート:過去の優良応対ログを教師データ化し、自社トーンでの一次回答生成を安定させる
- 営業・バックオフィス:議事録を定型の報告書フォーマットへ変換する作業を省力化する
- 製造・技術部門:仕様書や検査報告の記述ルールを学習させ、文書ドラフトの品質を底上げする
- EC・小売:商品説明文の生成をブランドのトーン&マナーに揃え、量産時の品質ばらつきを抑える
いずれのケースでも、成否を分けるのは模範回答となる過去データが整理されているかです。学習そのものより、教師データの収集・クリーニング・評価基準の設計に工数がかかることも少なくありません。
参考文献
- Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback(InstructGPT). arXiv:2203.02155
- Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685
- Hugging Face. TRL - Supervised Fine-tuning Trainer(公式ドキュメント)
当社の見解
SFTは、LLMに「望ましい回答の型」を教える有力な手段ですが、最初に選ぶべき施策とは限りません。まずプロンプト設計で到達できる水準を確認し、知識の課題はRAGで外部化し、評価データを整備したうえで、それでも残る振る舞いのギャップに対してSFTを検討するのが実務的です。
SFTを導入する際は、学習前に評価用データを分け、どの形式・精度・文体を改善したいのかを明確にします。そのうえで教師データを整備し、必要に応じてLoRAなどの手法でコストを抑えながら、小さく検証してから本格導入へ進むことを推奨します。当社も、課題が知識の問題か振る舞いの問題かを切り分けるところから支援しています。