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の後に通常RLHFやDPOを行い、より人間の好みに合った回答を学習させます。
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 | 人間の好みへの適合 | 人間による回答比較評価 |