SFT(教師ありファインチューニング)

Supervised Fine-Tuning

SFTとは

SFT(Supervised Fine-Tuning:教師ありファインチューニング)とは、人間が作成した高品質な入力-出力ペア(デモンストレーションデータ)を用いて、事前学習済みLLMを指示追従型モデルに変換する手法です。RLHF(人間のフィードバックからの強化学習)パイプラインの最初のステップとして位置づけられ、モデルに指示に従う基本的な能力を与えます。

表:SFT(教師ありファインチューニング)の要点まとめ
ひとことで言うと「質問と模範解答」のペアを見せて、指示に従う形に整える学習。
どこで使う対話AIの土台作り、社内業務での定型回答の学習。
注意点模範解答の品質が、そのまま出力の品質になる。データ作成に手間がかかる。

SFTのプロセスとデータ

SFTでは、「指示(Instruction)+ 入力(Input)→ 期待される出力(Output)」の形式で整理されたデータセットを使用します。例えば「以下の文章を要約してください + [文章] → [要約]」というペアです。データの品質がモデル性能を大きく左右するため、専門家による注意深いデータ作成が重要です。データセットの規模は数千〜数万件程度でも十分な効果が得られることが知られています。

図:SFTでモデルが素直になるまで
1ペアを用意質問+人が書いた模範解答
▶
2モデルに入力質問だけを与える
▶
3差を計算出力と模範解答のズレ
▶
4重みを更新ズレが減る方向に調整
▶
5指示に従う素直に答えるモデルに
↺ 2〜4をデータの数だけくり返す

SFTの位置づけと発展

SFTは事前学習とRLHFの間のステップですが、近年の研究ではSFT単体でも高品質な指示追従モデルを構築できることが示されています。Alpaca、Vicunaなどのオープンソースモデルは、主にSFTによって開発されました。また、自己指示(Self-Instruct)法により、LLM自身にSFT用データを生成させるアプローチも広く採用されており、データ作成コストの大幅な削減に貢献しています。