Auto-Regressive Next-Token Predictors are Universal Learners

Eran Malach
2/12/2026

No official code found. Best implementation: emalach/LinearLM (21 stars, last commit 2024-07-29). 1 more below.

Abstract

Large language models display remarkable capabilities in logical and mathematical reasoning, allowing them to solve complex tasks. Interestingly, these abilities emerge in networks trained on the simple task of next-token prediction. In this work, we present a theoretical framework for studying auto-regressive next-token predictors. We demonstrate that even simple models such as linear next-token predictors, trained on Chain-of-Thought (CoT) data, can approximate any function efficiently computed by a Turing machine. We introduce a new complexity measure -- length complexity -- which measures the number of intermediate tokens in a CoT sequence required to approximate some target function, and analyze the interplay between length complexity and other notions of complexity. Finally, we show experimentally that simple next-token predictors, such as linear networks and shallow Multi-Layer Perceptrons (MLPs), display non-trivial performance on text generation and arithmetic tasks. Our results demonstrate that the power of today's LLMs can be attributed, to a great extent, to the auto-regressive next-token training scheme, and not necessarily to a particular choice of architecture.

View on arXivView PDF

Code Implementations(2)

MIT

This is a reproduction of the model used in Malach, E., 2023. Auto-regressive next-token predictors are universal learners. arXiv preprint arXiv:2309.06979, Section 4.1.

00Python, Jupyter NotebookJul 27, 20241 years agoMIT
emalach/LinearLMCommunity56%

Code for the paper: https://arxiv.org/pdf/2309.06979.pdf

213PythonSep 26, 20232 years ago

Similar Papers

Cite this paper

@article{malach2026autoregressive,
  title  = {Auto-Regressive Next-Token Predictors are Universal Learners},
  author = {Eran Malach},
  year   = {2026},
  eprint = {2309.06979},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2309.06979},
  journal = {ICML 2023 2023}
}

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/2309.06979.svg)](https://codeofpaper.com/paper/2309.06979)

Discussion