We introduce MetaICL (Meta-training forIn-ContextLearning) , a new meta-training framework for few-shot learning where a pretrained language model is tuned to do in-context learning on a large set of training tasks.
This meta-training enables the model to more effectively learn a new task in context at test time, by simply conditioning on a few training examples with no parameter updates or task-specific templates.
We experiment on a large, diverse collection of tasks consisting of 142 NLP datasets including classification, question answering, natural language inference, paraphrase detection and more, across seven different meta-training/target splits.
MetaICL outperforms a range of baselines including in-context learning without meta-training and multi-task learning followed by zero-shot transfer.
We find that the gains are particularly significant for target tasks that have domain shifts from the meta-training tasks, and that using a diverse set of the meta-training tasks is key to improvements.
We also show that MetaICL approaches (and sometimes beats)  the performance of models fully finetuned on the target task, and outperforms much bigger models with nearly 8x parameters.
Finally, we show that MetaICL is complementary to human-written instructions, and the best performance can be achieved by combining both approaches.