Beyond Next Token Prediction: Patch-Level Training for Large Language Models
作者: Chenze Shao, Fandong Meng, Jie Zhou
分类: cs.CL, cs.AI, cs.LG
发布日期: 2024-07-17 (更新: 2025-05-15)
备注: ICLR 2025 Spotlight
🔗 代码/项目: GITHUB
💡 一句话要点
提出Patch-Level训练方法,在不牺牲性能的前提下显著降低大语言模型的训练成本。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 训练加速 Patch-Level训练 降低训练成本 序列模型
📋 核心要点
- 现有大语言模型训练成本高昂,严重制约了其发展。
- 提出patch-level训练,将多个token聚合为patch,以降低训练序列长度。
- 实验证明,该方法能在不损失性能的前提下,将训练成本降低至0.5倍。
📝 摘要(中文)
大型语言模型(LLM)的巨大训练成本已成为下一代LLM发展的重要瓶颈。本文表明,在不牺牲LLM性能的前提下,显著降低其训练成本是可能的。具体而言,我们为LLM引入了patch-level训练,其中多个token被聚合为一个具有更高信息密度的单元,称为“patch”,作为训练LLM的基本文本单元。在patch-level训练期间,我们向语言模型输入更短的patch序列,并训练它来预测下一个patch,从而以显著降低的成本处理大部分训练数据。之后,模型在剩余的训练数据上继续进行token-level训练,以与推理模式对齐。在各种模型(3.7亿-27亿参数)上的实验表明,与token-level训练相比,patch-level训练可以将总体训练成本降低到0.5倍,而不会影响模型性能。源代码:https://github.com/shaochenze/PatchTrain。
🔬 方法详解
问题定义:论文旨在解决大型语言模型(LLM)训练成本过高的问题。现有的token-level训练方法需要处理大量的token序列,导致计算资源和时间成本巨大,成为LLM进一步发展的瓶颈。
核心思路:论文的核心思路是将多个token聚合为一个信息密度更高的单元,称为“patch”,然后以patch为基本单位进行训练。通过减少训练序列的长度,从而降低计算成本。在训练的后期,再切换回token-level训练,以保证模型与推理阶段的一致性。
技术框架:Patch-Level训练主要包含两个阶段:Patch-Level预训练和Token-Level微调。在Patch-Level预训练阶段,首先将原始文本分割成token序列,然后将相邻的若干个token组合成一个patch。模型以patch序列作为输入,预测下一个patch。在Token-Level微调阶段,模型恢复到传统的token-level训练,以对齐推理模式。
关键创新:该方法最重要的创新点在于提出了patch的概念,并将其作为LLM训练的基本单元。与传统的token-level训练相比,patch-level训练能够显著减少训练序列的长度,从而降低计算成本。同时,通过后续的token-level微调,保证了模型在推理阶段的性能。
关键设计:关键设计包括patch的大小(即每个patch包含的token数量)和token-level微调的比例。Patch的大小需要根据具体的任务和数据集进行调整,以平衡计算成本和信息密度。Token-level微调的比例也需要进行调整,以保证模型能够充分适应推理阶段的token-level输入。
🖼️ 关键图片
📊 实验亮点
实验结果表明,在参数量为3.7亿到27亿的模型上,patch-level训练可以将总体训练成本降低到0.5倍,而不会影响模型性能。这意味着在相同的计算资源下,可以训练更大规模的模型,或者在更短的时间内完成模型的训练。该方法在多个数据集上进行了验证,证明了其有效性和泛化能力。
🎯 应用场景
该研究成果可广泛应用于各种需要训练大型语言模型的场景,例如自然语言处理、机器翻译、文本生成等。通过降低训练成本,可以加速LLM的开发和应用,并使得更多研究者和开发者能够参与到LLM的研究中来。此外,该方法还可以应用于其他类型的序列模型训练,具有一定的通用性。
📄 摘要(原文)
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.