Pre-training Small Base LMs with Fewer Tokens

2024年04月12日
  • 简介
    我们研究了一种简单的方法来开发一个小型基础语言模型(LM),该方法从现有的大型基础LM开始:首先从较大的LM继承几个变换块,然后在较大模型的原始预训练数据的一个非常小的子集(0.1%)上训练这个较小的模型。我们称这个简单的方法为Inheritune,并首先展示了使用单个A6000 GPU在不到半天的时间内使用1B令牌(以及3B参数的较大LM的起始几层)构建1.5B参数的小型基础LM。在9个不同的评估数据集以及MMLU基准测试中,所得到的模型与公开可用的1B-2B大小的基础模型相比,其中一些模型使用了50-1000倍的令牌进行训练,效果更好。 我们在一个稍微不同的设置中研究了Inheritune,其中我们使用较大的LM及其完整的预训练数据集来训练小型LM。在这里,我们展示了利用GPT2-medium(355M)和GPT-2-large(770M)的一些层训练的较小LM可以在与其大型对应物相同的训练步骤数下,有效地匹配其val loss(验证损失),并在OpenWebText数据集上使用9B令牌进行训练。我们通过广泛的实验分析了我们的方法,并在不同的设置中展示了其有效性。我们的代码可在https://github.com/sanyalsunny111/LLM-Inheritune上获得。
  • 图表
  • 解决问题
    论文旨在通过Inheritune方法,使用少量数据和较少计算资源,构建与大型语言模型相媲美的小型基础语言模型。同时也探究了在使用大型语言模型的全部预训练数据的情况下,如何训练小型语言模型。
  • 关键思路
    Inheritune方法通过从大型语言模型中继承少量的Transformer块,并在大型语言模型的原始预训练数据的很小子集上训练小型模型,构建小型基础语言模型。在使用大型语言模型的全部预训练数据的情况下,通过利用大型语言模型的一部分层来训练小型语言模型,实现小型模型与大型模型在验证集上的性能相当。
  • 其它亮点
    论文通过Inheritune方法构建小型基础语言模型,使用少量数据和较少计算资源,性能相当于1B-2B大小的公开基础模型,这些模型使用了50-1000倍的训练数据。通过在9个不同的评估数据集以及MMLU基准测试上进行测试,证明了该方法的有效性。论文还开源了代码。在使用大型语言模型的全部预训练数据的情况下,通过利用大型语言模型的一部分层来训练小型语言模型,实现小型模型与大型模型在验证集上的性能相当。论文提出的方法可以在小型设备上进行快速训练,具有很大的实际应用价值。
  • 相关研究
    最近的相关研究包括使用小型语言模型的方法,例如TinyBERT和DistilBERT。此外,还有一些研究探索使用不同的预训练任务来改进语言模型,例如ELECTRA和GPT-3。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论