AI・機械学習
上級

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

LLM自身に指示データを自動生成させるブートストラップ手法。少量のシードタスクから大量の多様な指示・応答ペアを生成し、そのデータで自己改善ファインチューニングを行う。

0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
合成データ
instruction tuning
Self-Instruct
LLM
ファインチューニング

Self-Instruct とは

Self-Instructは、LLM(大規模言語モデル)自身を使って指示データを自動生成するブートストラップ手法です。2023年にYizhong Wangら(University of Washington / Allen AI)が発表した論文で提案され、少量の人手シードタスクから大量・多様な指示チューニングデータを自動生成する仕組みを確立しました。

背景と問題意識

Instruction Tuning(指示チューニング)の性能はデータ品質と多様性に大きく依存します。しかし人手でのデータ作成には多大なコストがかかり、数万〜数十万規模の指示データ収集は現実的でありませんでした。Self-Instructはこの課題をLLM自身の生成能力で解決します。

アルゴリズムの流れ

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

175件の人手作成タスク(多様なカテゴリ)をシードとしてプールに入れます。

ステップ2: 指示生成

プールからランダムに8件のタスクをサンプリングし、LLMへのin-contextプロンプトとして使用。LLMに新しい指示を生成させます。

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

生成された指示に対し、LLMに入力例と出力例を生成させます(分類タスクはoutput-firstで生成)。

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

  • ROUGE-L類似度でシードタスクや既存指示との重複を排除(閾値0.7以上は除外)
  • LLMが自己判定で不正・無意味な指示を削除

ステップ5: プール追加と繰り返し

品質フィルタを通過した指示をプールに追加し、ステップ2〜4を繰り返す。

実験結果

元論文では、GPT-3(text-davinci-001)をSelf-Instructで生成した52,000件のデータでファインチューニング。SuperNI・USER ORIENTED命令評価でInstructGPT(text-davinci-001)に近い性能を達成し、人手データのみのモデルを上回りました。

後継研究への影響

  • Alpaca(Stanford, 2023): text-davinci-003からSelf-Instruction手法で52kデータ生成。LLaMAをファインチューニングしわずか600ドルで実用モデルを作成
  • Vicuna: Alpacaをさらに発展させたシェアードチャットログ学習モデル
  • Evol-Instruct(WizardLM): 指示の複雑化・多様化にLLMを活用する拡張版
  • Orca: GPT-4の思考過程ごと蒸留するスタイルへ発展

主な制限

  • シードとなるLLMの品質に上限が制約される(weak teacherの限界)
  • 生成データにノイズや偏りが含まれる可能性
  • 安全性・有害コンテンツのフィルタリングが別途必要

まとめ

Self-Instructは「LLMをデータ生成エンジンとして使う」という発想を確立した先駆的手法です。オープンソースモデルのInstruction Tuning研究を民主化し、Alpaca以降の膨大な研究の土台となりました。

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