モデルのしくみ 中級
教師ありファインチューニング
SFT
人が用意した「入力と望ましい出力」の組を使って、モデルに手本どおりの答え方を学習させる方法です。事前学習した後のモデルを、指示に従うアシスタントに仕立てる基本の工程です。
例まず社内の対応例1,000件で SFT をかけ、そのあと好みの調整で言い回しを整えた。
詳しく
教師ありファインチューニング(SFT:Supervised Fine-Tuning)は、「この入力にはこう答える」という手本のペアをモデルに見せて学習させる方法です。事前学習を終えたばかりのモデルは、文章の続きを予測する能力は高いものの、指示に従う会話は得意ではありません。SFT はそのモデルを、質問に答えるアシスタントらしい振る舞いに近づける最初の調整として使われます。
しくみ
学習データは、たとえば次のような組です。
- 入力:「次の文章を3行で要約してください:…」
- 望ましい出力:人間が書いた(または確認した)3行の要約
モデルは、入力を受け取ったときに、手本の出力を高い確率で作るようにパラメータを更新します。損失関数としては、事前学習と同じ「次のトークンを当てる」交差エントロピーを、出力部分だけに適用することが一般的です。
大規模言語モデルでの位置づけ
チャット型のモデルは、おおまかに次の段階で作られます。
- 事前学習:大量のテキストで言語の一般的な知識を学ぶ。
- SFT:手本の対話で、指示に従う形式と口調を学ぶ。
- 好みの調整:RLHF や DPO などで、人が好む回答や安全な回答へ寄せる。
SFT は手本を「まねる」段階、好みの調整は「どちらがよいか」を学ぶ段階、と整理できます。
具体例
接客研修で、先輩の応対記録をそのまま教材にして「この場面ではこう言う」と覚えさせるのが SFT です。何が正解かを人が決めて示すので「教師あり」と呼ばれます。一方、お客さまの反応を見て良し悪しを学ぶのは、好みや報酬を使った学習に近い方法です。
使うときの注意・よくある誤解
- データの質が量に勝つことが多い:少数でも丁寧に作られた手本のほうが、雑な大量データより効果が高い場合があります。誤りや不統一な書式の手本は、そのまま学ばれます。
- 知識は主に事前学習で得ている:SFT は主に「答え方」を整える工程です。まったく知らない事実を、少量の手本で確実に覚えさせるのは難しく、場合によってはハルシネーションを増やす原因にもなります。
- 手本以上にはなれにくい:手本の水準が上限になりがちです。
- 過学習に注意:データが少ないまま何度も繰り返すと、文面を丸暗記します。
- 手本の作成には、人が書く方法のほか、別のモデルの出力を使う方法(蒸留や合成データ)もあります。その場合は利用規約に注意します。
関連する考え方
SFT は広い意味でのファインチューニングの一種で、全パラメータを更新する方法も、LoRA のような軽量な方法も選べます。
あわせて知りたい言葉
- ファインチューニング学習済みのモデルに、特定の用途向けのデータを追加で学習させて調整することです。出力の形式や口調、特定分野の判断のしかたをモデルに覚えさせるのに使い、プロンプトだけでは安定しない場面で検討します。
- RLHF(人間のフィードバックによる強化学習)人が「どちらの回答が良いか」を比べた評価データをもとに、モデルの出力を人の好みや方針に近づける学習方法です。チャット向け LLM を役に立ち、安全に振る舞うよう調整する工程で使われてきました。
- DPO「AとBのどちらの回答がよいか」という人の好みのデータから、報酬モデルを別に作らずにモデルを直接調整する手法です。RLHF より手順が簡単になるため、広く使われています。
- LoRAモデル本体はそのまま固定し、小さな追加部品だけを学習して、モデルの振る舞いを調整する軽量なファインチューニング手法です。少ない計算資源で追加学習ができ、用途別に差し替えて使えます。
- 事前学習大量の文章や画像などから、言語や世界についての一般的な知識を身につけさせる、モデル作りの最初の学習段階です。これに続く調整の土台になる、最も計算費用がかかる工程です。