Skip to main content
QUICK REVIEW

[论文解读] Self-Instruct: Aligning Language Models with Self-Generated Instructions

Yizhong Wang, Yeganeh Kordi|arXiv (Cornell University)|Dec 20, 2022
Topic Modeling被引用 117
一句话总结

Self-Instruct 自引导从语言模型本身的生成中引导指令数据,用于微调模型,在指令遵循方面实现巨大提升,且对人类标注需求极小。它在 Super-NaturalInstructions 上取得了 33% 的绝对提升,接近 InstructGPT-001 的表现。

ABSTRACT

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.

研究动机与目标

  • Motivate reducing dependence on human-written instruction data for instruction-tuning.
  • Develop a bootstrapping pipeline that generates, filters, and uses self-created instructions to fine-tune a pretrained LM.
  • Demonstrate the effectiveness of self-generated instruction data by finetuning GPT-3 and evaluating on standard and novel tasks.
  • Show that the approach approaches the performance of InstructGPT-001 and outperforms public instruction datasets.

提出的方法

  • Initialize a seed set of 175 human-written tasks.
  • Prompt a pretrained LM to generate new instructions and corresponding input-output instances.
  • Classify generated instructions as classification vs non-classification tasks.
  • Generate task instances using an input-first or output-first prompting strategy depending on task type.
  • Filter low-quality or repetitive generations to build a large instruction dataset (~52K instructions, ~82K instances).
  • Finetune the original LM on the generated data with multiple prompt templates to produce robust instruction-following behavior.

实验结果

研究问题

  • RQ1Can a language model generate high-quality, diverse instructions and corresponding task instances without extensive human labeling?
  • RQ2Does instruction-tuning on self-generated data improve zero-shot performance on standard instruction benchmarks compared with public datasets and InstructGPT?
  • RQ3How does the size and quality of self-generated instruction data impact instruction-following abilities on both existing benchmarks and user-oriented tasks?
  • RQ4What is the relative performance of self-instructed GPT-3 compared to instruction-tuned baselines on novel, user-oriented instructions?

主要发现

模型# 参数ROUGE-L
T5-LM11B25.7
GPT3175B6.8
T011B33.1
GPT3 + T0 Training175B37.9
GPT3 Self-Instruct (Ours)175B39.9
InstructGPT-001175B40.8
Tk-Instruct11B46.0
GPT3 + SuperNI Training175B49.5
GPT3 Self-Instruct + SuperNI Training (Ours)175B51.6
  • Finetuning GPT-3 with Self-Instruct data yields a 33.1 percentage point absolute gain on Super-NaturalInstructions over the vanilla GPT-3.
  • GPT-3 Self-Instruct nearly matches InstructGPT-001 on Super-NI evaluation.
  • Human evaluation on a newly authored 252 instruction set shows Self-Instruct outperforms models trained on public instruction datasets and is within 5% absolute of InstructGPT-001.
  • Generating 52K instructions and 82K instances via self-generation provides diverse instruction types, with limited overlap with seed tasks.
  • Data quality improvements (e.g., distillation from InstructGPT-003) further boost performance by about 10%.
  • Self-Instruct data is shown to complement Super-NI data, providing additional gains when combined.

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。