What Can Transformers Learn In-Context? A Case Study of Simple Function Classes

Shivam Garg, Dimitris Tsipras, Percy Liang, Gregory Valiant
8/1/2022
cs.CLcs.LG

Official code: dtsip/in-context-learning (247 stars, MIT, last commit 2024-05-10).

Abstract

In-context learning refers to the ability of a model to condition on a prompt sequence consisting of in-context examples (input-output pairs corresponding to some task) along with a new query input, and generate the corresponding output. Crucially, in-context learning happens only at inference time without any parameter updates to the model. While large language models such as GPT-3 exhibit some ability to perform in-context learning, it is unclear what the relationship is between tasks on which this succeeds and what is present in the training data. To make progress towards understanding in-context learning, we consider the well-defined problem of training a model to in-context learn a function class (e.g., linear functions): that is, given data derived from some functions in the class, can we train a model to in-context learn "most" functions from this class? We show empirically that standard Transformers can be trained from scratch to perform in-context learning of linear functions -- that is, the trained model is able to learn unseen linear functions from in-context examples with performance comparable to the optimal least squares estimator. In fact, in-context learning is possible even under two forms of distribution shift: (i) between the training data of the model and inference-time prompts, and (ii) between the in-context examples and the query input during inference. We also show that we can train Transformers to in-context learn more complex function classes -- namely sparse linear functions, two-layer neural networks, and decision trees -- with performance that matches or exceeds task-specific learning algorithms. Our code and models are available at https://github.com/dtsip/in-context-learning .

View on arXivView PDF

Code Implementations(1)

MIT
24777Python, Jupyter NotebookAug 1, 20222 years agoMIT

Similar Papers

Cite this paper

@article{garg2022what,
  title  = {What Can Transformers Learn In-Context? A Case Study of Simple Function Classes},
  author = {Shivam Garg and Dimitris Tsipras and Percy Liang and Gregory Valiant},
  year   = {2022},
  eprint = {2208.01066},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2208.01066v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2208.01066.svg)](https://codeofpaper.com/paper/2208.01066)

Discussion