LLM学習・訓練

SFT(Supervised Fine-Tuning) えすえふてぃー(すーぱーばいずどふぁいんちゅーにんぐ)

SFTSupervised Fine-Tuning教師あり微調整指示チューニングファインチューニングLLM
SFTについて教えて

簡単に言うとこんな感じ!

事前学習で「言語の知識」を身につけたAIに「ちゃんと指示に答える方法」を教える工程だよ!「質問→回答」の例をたくさん見せて、人間の指示に従えるよう訓練するんだ。これがないと賢いけど使いにくい、「指示を無視するAI」になってしまうんだよ!


SFT(Supervised Fine-Tuning)とは

SFT(Supervised Fine-Tuning) とは、事前学習済みのLLMを、人間が作成した「指示→望ましい回答」のペアデータで微調整(ファインチューニング)する工程です。教師あり学習(Supervised Learning)の形式で、モデルが正しい回答に近い出力をするよう重みを更新します。

事前学習済みモデルはテキストを生成する能力はありますが、「質問に答えてください」「要約してください」といった人間の指示に適切に対応する能力は限定的です。SFTによって指示追従(Instruction Following)能力を付与することで、実用的なAIアシスタントへと変化します。SFTの後に通常RLHFDPOを行い、より人間の好みに合った回答を学習させます。


SFTのデータ例

【SFT学習データの形式(Instruction Tuning)】

例1:
  指示: 「以下の文章を100字以内で要約してください」
  入力: 「地球温暖化とは...(長文)」
  出力: 「地球温暖化は人間活動による温室効果ガスの増加が
        主因で、気候変動を引き起こしている現象です。」

例2:
  指示: 「Pythonで1から10の合計を計算するコードを書いて」
  出力: "print(sum(range(1, 11)))"

このようなペアを数万〜数十万件用意して学習させる

歴史と背景

  • 2017年転移学習の文脈でファインチューニングが一般化
  • 2021年:OpenAIの「InstructGPT」論文でSFT + RLHFのパイプラインが提案
  • 2022年:ChatGPTの成功でSFTの重要性が広く認知
  • 2023年:Alpaca・Vicuna等がSFTを公開し、コミュニティでの独自SFTが活性化
  • 現在:DPOの台頭でRLHFの代替が進むが、SFTは基本工程として維持

学習工程の中でのSFTの位置づけ

フェーズ目的データ
事前学習言語知識の獲得大量テキスト(ラベルなし)
SFT指示追従能力の付与指示→回答ペア(ラベルあり)
RLHF / DPO人間の好みへの適合人間による回答比較評価

関連用語

  • 事前学習 — SFTの前段階となる大規模言語学習
  • RLHF — SFT後に人間の好みで調整する強化学習
  • DPO — RLHFを代替するより簡易な人間フィードバック学習
  • 命令チューニング — SFTと重なる概念で指示追従に特化した学習
  • LoRA — 大規模モデルを効率的にSFTするための手法