大規模言語モデルに対し、人間の指示(Instruction)と期待される応答のペアデータで追加学習を行い、モデルの指示追従能力を向上させる手法。ChatGPTの基盤技術の一つであり、汎用LLMを実用的なアシスタントに変換する鍵となる技術。
Instruction Tuningとは、事前学習済みLLMに「指示→応答」形式のデータセットで追加学習を施し、モデルが自然言語による指示を理解して適切に応答する能力を獲得させる手法である。2022年のFLAN(Finetuned Language Net)やInstructGPTの成功以降、商用・オープンソースLLMの標準的な学習パイプラインに組み込まれている。
事前学習済みLLM(Base Model)は膨大なテキストから言語パターンを学習しているが、そのままでは人間の質問に直接答えるのが不得意である。例えば「日本の首都は?」と聞いても、「日本の首都はどこか、という問題は〜」と文章を続けてしまう。Instruction Tuningは、こうしたBase Modelを「質問に答える」「要約する」「翻訳する」といった指示に従えるモデル(Instruct Model / Chat Model)に変換する。
Googleの研究チーム(2022年、FLAN-T5/FLAN-PaLM)は、1,800以上のタスクにわたる指示データセットで学習することで、未知のタスクへの汎化能力(Zero-shot性能)が劇的に向上することを示した。OpenAIのInstructGPT(2022年)は、指示データ+RLHF(人間のフィードバックによる強化学習)の組み合わせでGPT-3の実用性を大幅に改善し、ChatGPT誕生の基盤となった。
| データセット | 件数 | 言語 | 特徴 | ライセンス |
|---|---|---|---|---|
| FLAN Collection | 1,800タスク | 英語中心 | Google作成、最大規模 | Apache 2.0 |
| Alpaca | 52,000件 | 英語 | GPT-3.5で生成、Stanford | CC BY-NC 4.0 |
| ShareGPT | 90,000+件 | 多言語 | ユーザー投稿の会話ログ | 要確認 |
| OpenAssistant (OASST) | 161,000件 | 35言語 | 人間ボランティア作成 | Apache 2.0 |
| Dolly-15k |
| 15,000件 |
| 英語 |
| Databricks社員が作成 |
| CC BY-SA 3.0 |
| LIMA | 1,000件 | 英語 | 少量高品質の実証研究 | CC BY-NC-SA |
| 比較項目 | Base Model | Instruct Model |
|---|---|---|
| 学習データ | Web/書籍テキスト | + 指示-応答ペア |
| 出力傾向 | テキスト補完 | 指示に沿った回答 |
| Zero-shot | 低い | 高い |
| 安全性 | 制御なし | ガードレール付き |
| 用途 | 研究/追加学習ベース | エンドユーザー向け |
| 例 | Llama 3.1 8B | Llama 3.1 8B-Instruct |
Q1: Instruction Tuningのデータは何件必要? A: LIMA論文は1,000件の高品質データで十分と示したが、実用的には5,000〜50,000件が標準。合成データ活用で量は確保しやすいが、品質フィルタリング(不正確な応答や有害出力の除去)が重要。
Q2: 自社データでInstruction Tuningするには? A: 社内QA、ドキュメント、メールなどから「質問-回答」ペアを500件以上作成し、Alpaca形式に整形。QLoRA+Unslothで7Bモデルを学習すればRTX 4090 1枚で2〜3時間で完了。社内用語・トーンの反映に効果的。
Q3: ChatGPTとInstruction Tuningの関係は? A: ChatGPTはGPT-3.5/4にInstruction Tuning(SFT)→ RLHF の2段階学習を施したモデル。Instruction Tuningが「指示に従う能力」を付与し、RLHFが「人間の好みに合わせる」能力を付与している。