要解决的问题

预训练是大语言模型获得通用能力的阶段。核心问题是:在固定的算力预算下,找到模型规模、训练 token 数、学习率调度、batch 大小的最优组合,同时保证整个训练过程可以复现。

核心转变

模型参数量、训练 token 数和数据质量始终相互制约,不能概括成「早期只扩大 token,后来才重视质量」。Chinchilla(2022)在固定算力下研究参数与数据的分配,指出许多此前的大模型训练数据不足;后续工作继续研究数据质量、配比、去重和分阶段数据课程。算力最优的预训练配置,也未必是计入部署成本后的总成本最优配置。

代表工作

  • Llama 3(2024):Meta 在《The Llama 3 Herd of Models》中描述了数据处理、规模选择与训练流程等关键细节,但没有公开完整预训练语料与全部生产训练工件,不能把技术报告等同于可完全复现的训练配方。
  • OLMo(2024)与 OLMo 2(2024):艾伦人工智能研究所(AI2)发布的完全开放模型,同时开放训练数据、训练代码和中间 checkpoint,抬高了可复现研究的基线。

实现与工具

  • OLMo-core:OLMo 系列的训练代码库。
  • open_lm:面向中等规模语言模型研究的开源训练框架。
  • TorchTitan:PyTorch 官方的原生大模型训练平台。

开放问题

  • 数据是否会先于算力成为瓶颈。
  • 只用开放数据训练的模型,上限能否逼近闭源模型。

参考资料

相关专题