Self-Instructは、LLM自身を利用して指示-応答ペアのデータセットを自動生成し、そのデータで同じモデルまたは別のモデルをInstruction Tuningする自己学習フレームワークである。
Self-Instructは、ワシントン大学のYizhong Wang氏らが2022年に発表した、LLMが自分自身で学習データを生成する自己ブートストラップ手法である。人手による大規模なデータアノテーションなしに、少数のシード指示から大量の高品質な指示-応答ペアを自動生成できる点が革新的だった。
従来のInstruction Tuning(FLAN、T0等)では、既存のNLPベンチマークを指示形式に変換していたが、これには以下の制約があった:
Self-Instructは、GPT-3(text-davinci-002)に175件のシード指示を与え、そこから52,000件の多様な指示-応答ペアを自動生成した。生成コストは約$600(2022年当時のAPI料金)であり、人手アノテーションの約1/100のコストである。
Self-Instructの4段階パイプライン:
| パイプライン段階 | 入力 | 出力 | フィルタ率 |
|---|---|---|---|
| シード | 手動作成 | 175件 | - |
| 指示生成 | 8-shot ICL | ~82,000件 | 約37%除外 |
| 入出力生成 | 指示+モデル推論 | ~52,000件 | 約36%除外 |
| 最終データ | フィルタ後 | ~52,000件 | 有効率約63% |
Self-Instructの成功は多数の派生手法を生んだ:
Self-Instructデータの品質分析(論文内評価):
Q1: Self-InstructとFLANの根本的な違いは何ですか? A: FLANは既存のNLPベンチマーク(人手でアノテーション済み)を指示形式に変換するアプローチです。Self-InstructはLLM自身でデータを生成するため、学術ベンチマークにないクリエイティブなタスクもカバーでき、コストも大幅に低い点が違います。
Q2: Self-Instructのデータ品質はどの程度信頼できますか? A: 論文の人手評価では約54%が高品質と判定されています。後続研究(Alpaca Eval等)では、フィルタリングの改善により70-80%まで向上。ただし、事実性の検証は含まれないため、知識型タスクではハルシネーションリスクがあります。
Q3: Self-Instructを日本語で使うにはどうすればよいですか? A: 日本語のシード指示を175件準備し、GPT-4oやClaude 3.5 Sonnetで日本語の指示-応答ペアを生成するのが最も効果的です。Japanese Alpacaは英語Alpacaデータの機械翻訳版ですが、ネイティブ生成の方が品質が高くなります。Qwen3-8BやLlama 3.1を教師モデルに使う低コスト選択肢もあります。