[論文レビュー] Self-Instruct: Aligning Language Models with Self-Generated Instructions
Self-Instruct は、言語モデル自身の生成物から指示データをブートストラップしてモデルを微調整し、最小限の人手ラベリングで指示に従う能力に大きな向上をもたらす。 Super-NaturalInstructions で絶対的に33%の改善を達成し、InstructGPT-001の性能に近づく。
Large "instruction-tuned" language models (i.e., finetuned to respond to instructions) have demonstrated a remarkable ability to generalize zero-shot to new tasks. Nevertheless, they depend heavily on human-written instruction data that is often limited in quantity, diversity, and creativity, therefore hindering the generality of the tuned model. We introduce Self-Instruct, a framework for improving the instruction-following capabilities of pretrained language models by bootstrapping off their own generations. Our pipeline generates instructions, input, and output samples from a language model, then filters invalid or similar ones before using them to finetune the original model. Applying our method to the vanilla GPT3, we demonstrate a 33% absolute improvement over the original model on Super-NaturalInstructions, on par with the performance of InstructGPT-001, which was trained with private user data and human annotations. For further evaluation, we curate a set of expert-written instructions for novel tasks, and show through human evaluation that tuning GPT3 with Self-Instruct outperforms using existing public instruction datasets by a large margin, leaving only a 5% absolute gap behind InstructGPT-001. Self-Instruct provides an almost annotation-free method for aligning pre-trained language models with instructions, and we release our large synthetic dataset to facilitate future studies on instruction tuning. Our code and data are available at https://github.com/yizhongw/self-instruct.
研究の動機と目的
- 指示チューニングのための人手で書かれた指示データへの依存を減らす動機づけ。
- 自己作成の指示を生成・フィルタリング・利用して、事前学習済みLMを微調整するブートストラッピング・パイプラインを開発する。
- 自己生成指示データの有効性を、GPT-3をファインチューニングし、標準タスクと新規タスクで評価することで示す。
- このアプローチがInstructGPT-001の性能に近づき、公開指示データセットを上回ることを示す。
提案手法
- 人間が作成したタスクのシードセットを175件初期化する。
- 事前学習済みLMに新しい指示と対応する入力-出力の事例を生成させる。
- 生成された指示を分類タスクか非分類タスクかに分類する。
- タスクタイプに応じて、入力優先または出力優先の prompting 戦略でタスク事例を生成する。
- 低品質または反復的な生成を除外して、大規模な指示データセットを構築する(約52Kの指示、約82Kの事例)。
- 複数のプロンプトテンプレートを用いて生成データで元のLMをファインチューニングし、堅牢な指示従従動作を得る。
実験結果
リサーチクエスチョン
- RQ1言語モデルは、人間による広範なラベリングを必要とせずに、高品質で多様な指示と対応するタスク事例を生成できるか?
- RQ2自己生成データでの指示チューニングは、公開データセットやInstructGPTと比較して標準の指示ベンチマークにおけるゼロショット性能を改善するか?
- RQ3自己生成指示データの規模と品質は、既存のベンチマークとユーザー向けタスクの指示従い能力にどのように影響するか?
- RQ4新規のユーザー志向指示に対して、自己指示型GPT-3は指示チューニング済みのベースラインと比較して相対的にどうか?
主な発見
| モデル | # パラメータ | ROUGE-L |
|---|---|---|
| T5-LM | 11B | 25.7 |
| GPT3 | 175B | 6.8 |
| T0 | 11B | 33.1 |
| GPT3 + T0 Training | 175B | 37.9 |
| GPT3 Self-Instruct (Ours) | 175B | 39.9 |
| InstructGPT-001 | 175B | 40.8 |
| Tk-Instruct | 11B | 46.0 |
| GPT3 + SuperNI Training | 175B | 49.5 |
| GPT3 Self-Instruct + SuperNI Training (Ours) | 175B | 51.6 |
- Self-InstructデータでGPT-3をファインチューニングすると、素のGPT-3に対してSuper-NaturalInstructionsで絶対的に33.1ポイントの改善を得る。
- GPT-3 Self-InstructはSuper-NI評価でInstructGPT-001にほぼ匹敵する。
- 新規作成の252指示セットでの人間評価は、Self-Instructが公開指示データセットで訓練されたモデルを上回り、InstructGPT-001の絶対値で5%ポイント以内である。
- 自己生成により52K指示と82K事例を生成して、多様な指示タイプを提供し、シードタスクとの重複は限定的。
- データ品質の改善(例:InstructGPT-003からの蒸留)により、さらに約10%の性能向上。
- Self-InstructデータはSuper-NIデータを補完することが示され、組み合わせ時に追加の利得を提供する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。