AI・機械学習
上級

Self-Instruct(セルフインストラクト)

LLM自身を使って指示データを自動生成するフレームワーク。Wang et al. 2022年提案。少数のシードタスクからLLMが新たな指示・入力・出力を生成し、品質フィルタリング後に自分自身のファインチューニングに使う。

0 回閲覧
0 いいね
2026/6/8 更新
関連タグ
合成データ
指示チューニング
LLM
データ生成
ファインチューニング

Self-Instruct とは

Self-InstructはYizhong Wang、Yeganeh Kordi、Swaroop Mishra、Alisa Liuらが2022年12月に発表した手法で、LLM自身が自分のファインチューニング用データを生成するフレームワーク。人手によるデータアノテーションの高コスト・低スケーラビリティという問題を解決した。

仕組み

ステップ1: シードタスクプール

175件の人手作成指示タスク(質問回答・文章生成・分類等)をシードとして用意する。このシードプールが生成の「スタイルガイド」になる。

ステップ2: 新指示の生成

シードプールからランダムに8件をサンプルしてin-context learningのデモとし、LLMに「新しい指示を生成してください」とプロンプト。LLMが多様な新タスク指示を出力する。

ステップ3: 入力/出力生成

各指示について「入力ファースト」(指示→入力→出力)または「出力ファースト」(指示→出力、入力不要タスク)の2形式でLLMに完成させる。

ステップ4: フィルタリング

  • ROUGE-L類似度(>0.7で除外)による重複排除
  • 低品質出力(空・短文・非文)の除去
  • キーワードフィルタ(「申し訳ありません」等のLLM拒否文排除)

ステップ5: プールへの追加

フィルタを通過したデータを新たにシードプールに追加し、次ラウンドで使う。この反復で指数的にデータが拡大。

実験結果(原論文)

比較SUPER-NaturalInstructions スコア
GPT-3(few-shot)39.9%
GPT-3(Self-Instruct FT)52.6%
InstructGPT(human-labeled FT)54.7%

Self-Instructで微調整したGPT-3はInstructGPT(人手データ使用)にほぼ迫るスコアを達成した。

後継手法・影響

手法概要Self-Instructとの関係
AlpacaGPT-3.5-Turbo + Self-Instruct → 52K指示データ直接の応用
WizardLMEvol-Instruct(段階的難度UP)Self-Instruct拡張
OSS-Instructオープンソースコードからの指示生成同コンセプト別ドメイン
MagpieLLMから直接Q&Aを引き出す方向性を逆転

限界と課題

  • 教師モデル依存: GPT-3/GPT-4の出力品質に上限が制約される
  • 偏り増幅: 教師LLMのバイアスが学習データに転写される
  • 幻覚伝播: 誤情報を含む合成データがチューニングで固定される

よくある質問

Q1: Self-InstructとRLHFの違いは? A: Self-Instructは合成データを作りSFT(教師あり微調整)するのみ。RLHFは人間のフィードバックによる報酬モデルを使う強化学習。両者を組み合わせることも多い。

Q2: 何件のデータが生成されるか? A: 原論文では約52,000件(GPT-3使用)を生成。Alpacaも同規模。大量生成は可能だが質のフィルタリングが重要。

Q3: 2025年時点での利用価値は? A: 高い。GPT-4やClaude 3.5を教師に使えば高品質合成データを安価に大量生成でき、オープンモデルの高速ファインチューニングに活用されている。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/8