SFTとは?意味・仕組み・使い方を初心者向けにわかりやすく解説

SFTとは、Supervised Fine-Tuning(教師ありファインチューニング)の略で、入力と「望ましい回答」の組み合わせを教師データとして使い、事前学習済みのAIモデルを調整する方法です。

たとえば、望ましい回答形式の例を多数用意します。その例を学習させると、モデルは特定のタスクに合わせた出力をしやすくなります。

生成AIや大規模言語モデル(LLM)の学習方法を調べると、SFTのほかにファインチューニング、RLHF、RAGなどの用語も登場します。それぞれ目的や仕組みが異なるため、違いを理解しておくことが大切です。

この記事では、SFTの意味と仕組みを解説します。さらに、具体的な使い方や類似手法との違い、注意点も紹介します。

目次

SFTとは?

SFT(Supervised Fine-Tuning)は、事前学習済みのモデルに「入力と望ましい出力」の例を与えて追加学習させる方法です。

日本語では「教師ありファインチューニング」と呼ばれます。

たとえば、次のようなデータを用意します。

入力望ましい出力
この文章を3行で要約してください指定した形式の3行要約
問い合わせを分類してください「料金」「解約」「使い方」などの分類結果
商品説明を書いてください指定した文体・構成の商品説明

モデルは、入力と出力の組み合わせを学習します。その結果、入力に応じた回答傾向を身につけます。Google Cloudも、実際の利用場面に近い入力と正しい出力ラベルの利用を説明しています。

SFTはファインチューニングそのものと同義ではありません。ファインチューニングという大きな枠組みの中にある手法の一つがSFTと考えると理解しやすいでしょう。OpenAIもSFT、DPO、RFTなどを異なるファインチューニング方法として整理しています。

SFTとは:入力と望ましい回答例でAIを調整する仕組み

SFTの仕組み

この方法では、モデルをゼロから作り直しません。すでに学習済みのモデルへ、目的に合う教師データで追加調整を行います。

大まかな流れは次のとおりです。

①ベースモデルを用意する

最初に、事前学習済みのモデルをベースとして利用します。

大規模言語モデルは、事前学習で幅広い知識を獲得しています。その基礎能力を生かし、特定用途で望ましい出力をしやすい方向へ調整します。

②入力と望ましい回答の教師データを作る

次に、「入力」と「望ましい出力」をセットにしたデータを用意します。

たとえば、カスタマーサポート用のAIを作る場合は、問い合わせ文と理想的な回答例を組み合わせます。

重要なのは、実際の利用場面に近く、品質の高いデータを作ることです。

たとえば、教師データに誤りや偏りが多いと、モデルもその傾向を学習します。Google Cloudも、データ量だけでなく品質が重要だと案内しています。

③教師データを使ってモデルを学習する

次に、教師データを使って学習を進めます。モデルの結果と望ましい結果との差を小さくするためです。

その過程で、モデル内部のパラメータが調整されます。そのため、似た入力に対して目的に合う出力を生成しやすくなります。

また、すべてのパラメータを更新する必要はありません。追加パラメータだけを調整するPEFTなどの方法もあります。

④学習後のモデルを評価する

ただし、SFTは学習を実行して終わりではありません。

その後、未使用のデータでも期待する結果を出せるか確認します。必要に応じてデータや設定を見直します。

さらに、Google Cloudは検証用データの用意を推奨しています。トレーニング用とは別のデータで効果を測るためです。

SFTはどのように使う?

具体的には、望ましい回答例を示せるタスクで利用しやすい方法です。

たとえば、代表的な用途には次のようなものがあります。

  • 決められたカテゴリーへの文章分類
  • 指定形式での文章生成
  • 特定の形式での要約
  • 回答の文体や長さの調整
  • 指示に従いにくいケースの改善
  • 特定業務で必要となる出力パターンの学習

また、OpenAIは分類や翻訳を主な用途として挙げています。特定形式の生成や指示追従の改善にも利用できます。

SFTを使う基本的な流れ

具体的には、おおむね次の順番で進めます。

  1. 改善したいタスクを明確にする
  2. 現在のモデル性能を評価する
  3. 入力と望ましい回答のデータを作る
  4. SFTを実行する
  5. 学習前後の性能を比較する
  6. 必要に応じてデータや設定を改善する

まず、改善したい入力と出力を決めます。目的が曖昧なまま始めないことが重要です。

SFTの教師データ作成と学習の流れ

SFTと似た手法の違い

関連手法を比べると、SFTの役割を整理しやすくなります。具体的には、ファインチューニングやRLHF、RAGとの違いを確認します。

用語主な仕組み主な目的
ファインチューニング事前学習済みモデルを追加学習する特定用途にモデルを調整する
SFT入力と望ましい出力の教師データで学習する回答形式や特定タスクへの適応
指示チューニング指示と回答のデータを使って学習する指示に従う能力を高める
RLHF人間の評価・選好を利用して調整する人間が望む回答傾向へ近づける
RAG回答時に外部情報を検索して利用する外部・最新情報を回答へ反映する

SFTとファインチューニングの違い

一方、ファインチューニングはより広い考え方です。事前学習済みモデルを追加学習し、特定用途へ適応させます。

その中でも、教師あり学習を利用する方法がSFTです。

そのため、「SFT=すべてのファインチューニング」ではありません。

SFTと指示チューニングの違い

また、指示チューニングは指示と望ましい回答を使う方法です。モデルの指示追従能力を高めます。

一方、教師あり学習で行う場合はSFTと重なる部分があります。ただし、SFTは分類や特定形式の生成など、より広い調整を指す場合もあります。

SFTとRLHFの違い

基本的には、入力と望ましい回答を教師データとして与えます。

一方、RLHFは人間による評価を利用する方法です。たとえば、複数の回答を比較した結果でモデルを調整します。

InstructGPTでは、まず回答例による教師あり学習を行いました。その後、人間が回答を比較したデータによるRLHFを組み合わせました。

SFTとRAGの違い

RAGは、質問を受けたときに外部の文書やデータベースから関連情報を検索し、その情報を利用して回答を生成する仕組みです。

SFTがモデルの学習・調整を行うのに対し、RAGでは通常、回答時に必要な外部情報を取得します。

そのため、頻繁に更新される情報にはRAGが適する場合があります。例として、社内規程や商品情報、ニュースがあります。Google Cloudも、動的な情報にはSFTが最適とは限らないと説明しています。

SFT・RLHF・RAGの違い

SFTのメリット

SFTには、主に次のメリットがあります。

特定の回答形式を学習させやすい

「必ずJSON形式で返す」「短い分類結果だけ返す」など、望ましい出力例を教師データとして示すことで、特定の出力形式へ合わせやすくなります。

特定タスクでの出力を改善できる可能性がある

分類や要約など、目的が明確なタスクに向いています。高品質な教師データを使えば、用途に合う出力を得られる可能性があります。

長いプロンプトを減らせる場合がある

モデルが望ましいパターンを学習すれば、毎回長い指示を入力する必要が減ります。その結果、短い指示でも目的の出力を得やすくなります。Google Cloudも、推論コストや待ち時間を抑えられる可能性を挙げています。

SFTの注意点・デメリット

SFTを使えば、どのようなAIでも自動的に高性能になるわけではありません。

特に次の点に注意が必要です。

教師データの品質に影響される

SFTは教師データから望ましい回答パターンを学びます。

そのため、教師データの品質が重要です。誤った回答や偏った例があると、その傾向まで学習する可能性があります。量だけでなく、正確性や一貫性も確認しましょう。

最新情報を覚えさせる用途とは分けて考える

料金やニュースなど、頻繁に変わる情報には注意が必要です。知識を固定的に学習させるより、RAGで回答時に取得する方が適する場合があります。

学習後の評価が必要

ただし、学習用データで良い結果が出ても安心できません。未知の入力で同じ性能を発揮するとは限らないためです。

学習に使っていない検証データを用意し、SFT前後で性能を比較することが重要です。

機密情報や個人情報の扱いに注意する

教師データには、実際の問い合わせや社内データを利用する場合があります。

利用するAIサービスのデータ利用条件やセキュリティ要件を確認し、個人情報や機密情報を安易に学習データへ含めないようにしましょう。

SFTに関するよくある質問

SFTは何の略ですか?

「Supervised Fine-Tuning」の略です。

日本語では「教師ありファインチューニング」と呼ばれ、入力と望ましい出力の例を教師データとしてモデルを調整します。

SFTとファインチューニングは同じですか?

完全に同じ意味ではありません。

ファインチューニングは事前学習済みモデルを追加学習する方法を広く指し、SFTはその中で教師あり学習を利用する手法の一つです。OpenAIの現行資料でもSFT、DPO、RFTなど複数のファインチューニング方法が区別されています。

SFTとRLHFは何が違いますか?

SFTでは、入力と望ましい回答のペアを教師データとして学習します。

RLHFでは、人間がモデルの回答を評価した結果などを利用し、人間が好む出力へ近づけることを目指します。両者は排他的とは限らず、SFTの後に人間のフィードバックを使った調整を行う方法もあります。

SFTとRAGはどちらを使えばよいですか?

目的によって異なります。

回答形式や特定タスクでの動作をモデルへ学習させたい場合はSFTが候補になります。一方、最新の商品情報や社内資料など、変化する外部情報を参照させたい場合はRAGが適しているケースがあります。両方を組み合わせることも可能です。

まとめ

SFT(Supervised Fine-Tuning)は、入力と望ましい出力の教師データを使って、事前学習済みモデルを特定用途に合わせて調整する方法です。

分類、要約、回答形式の統一、指示追従の改善など、望ましい出力例を具体的に用意できるタスクで活用できます。

ただし、ファインチューニング全体とSFTは同じ意味ではありません。また、RLHFは人間の評価を利用する調整方法、RAGは外部情報を回答時に利用する仕組みであり、それぞれ役割が異なります。

SFTを活用するときは、「何を改善したいのか」を明確にしたうえで、高品質な教師データを用意し、学習前後の結果を評価することが重要です。

関連用語

出典・参考情報

この記事を書いた人

田中和馬のアバター 田中和馬 株式会社エヌ・ケーパートナーズ/AIスクールガイド|AWL編集長

株式会社エヌ・ケーパートナーズが運営する「AIスクールガイド|AWL」編集長。10年以上にわたり、SEOメディアの立ち上げ・構築・運用に携わってきました。

2024年頃から生成AIを独学で学び始め、その後、生成AIスクールでも体系的に学習。現在はChatGPT、Gemini、Claudeなどを活用し、ディープリサーチによる情報収集、マーケティング企画、記事構成・文書作成、メール作成、業務自動化などに日常的に取り組んでいます。

また、生成AIをWebサイトの企画・制作、コーディング、デザインにも活用。エンジニアやデザイナーの業務領域を理解しながら、自らディレクションを行い、メディアの設計から制作・運用まで一貫して担当しています。生成AIスクール・講座の調査、比較基準の設計、記事編集・品質管理も担当しています。

目次