Beyond Next Token Prediction: Patch-Level Training for Large Language Models
Chenze Shao, Fandong Meng, Jie Zhou
TL;DR
This work introduces patch-level training for large language models, where $K$ consecutive tokens are aggregated into a patch and the model learns to predict the next patch, significantly reducing training compute. The method uses a two-stage approach: patch-level pretraining followed by token-level finetuning, with a transfer from patch-level parameters to the token-level model. Across 370M–2.7B parameter Transformers trained on the Pile, patch-level training achieves about $0.5\times$ the original compute while maintaining perplexity and often improving zero-shot and instruction-following performance. The findings suggest patch-level training can dramatically improve training efficiency, with insights on scaling, patch size, data fraction, architecture, and neuron activation, and point to promising future directions for scaling laws and multi-epoch training.
Abstract
The prohibitive training costs of Large Language Models (LLMs) have emerged as a significant bottleneck in the development of next-generation LLMs. In this paper, we show that it is possible to significantly reduce the training costs of LLMs without sacrificing their performance. Specifically, we introduce patch-level training for LLMs, in which multiple tokens are aggregated into a unit of higher information density, referred to as a `patch', to serve as the fundamental text unit for training LLMs. During patch-level training, we feed the language model shorter sequences of patches and train it to predict the next patch, thereby processing the majority of the training data at a significantly reduced cost. Following this, the model continues token-level training on the remaining training data to align with the inference mode. Experiments on a diverse range of models (370M-2.7B parameters) demonstrate that patch-level training can reduce the overall training costs to 0.5$\times$, without compromising the model performance compared to token-level training. Source code: https://github.com/shaochenze/PatchTrain.
