预训练

/priː ˈtreɪnɪŋ/

Also known as: pretraining, foundation model training, base model training

technical intermediate

什么是预训练?

预训练是训练大型语言模型的第一阶段,模型从大量文本中学习一般语言理解。可以将其想象为阅读数十亿本书籍、文章和网站以学习语法、事实和语言模式。

在预训练期间,模型处理数十亿个单词并重复预测序列中的下一个标记。这种自监督方法——从数据本身的结构中学习而不是人类标签——是使大语言模型能够发展广泛能力的原因。

预训练流程

1. 数据收集 从书籍、文章、网站、代码库和其他来源收集多样化的文本。例如,Hugging Face 的 FineWeb 数据集包含来自 96 个 CommonCrawl 快照的 15 万亿个标记(44TB)。

2. 数据清洗 删除重复项、非文本元素、格式问题和低质量内容。数据质量极大地影响模型质量。

3. 标记化 将文本转换为模型可以处理的数字标记。文本被分解为子词或字符,并映射到唯一的数字。

4. 训练 核心任务:预测序列中的下一个标记。模型看到”The cat sat on the”并学会预测”mat”(或类似的)。重复数十亿次,这构建了深厚的语言理解。

所需资源

预训练需要大量资源:

  • 时间:数周到数月的持续训练
  • 计算:数千个 GPU 并行运行
  • 数据:数万亿个标记
  • 成本:前沿模型数百万美元

这就是为什么大多数组织微调现有模型而不是从头开始预训练。

预训练与微调

方面预训练微调
目标一般语言理解特定任务或行为
数据数万亿个标记,多样化数千到数百万,有针对性
时间数周到数月数小时到数天
成本数百万美元数百到数千美元
谁做基础模型实验室任何有用例的人

两阶段范式

现代大语言模型开发分为两个阶段:

  1. 预训练:构建通用语言能力
  2. 后训练:精炼和对齐这些能力(包括微调、RLHF、DPO)

正如 Andrej Karpathy 所描述的,预训练是”一种糟糕的进化形式”——选择能很好地预测互联网文本的模型。然后,后训练将这种原始能力塑造成有用和安全的东西。

2025 年发展

强化预训练(RPT):Microsoft 研究人员将下一个标记预测重新框架为顺序决策问题,可能改善模型在预训练期间的学习方式。

数据稀缺:高质量的文本数据正在变得稀缺。实验室正在探索合成数据、多模态数据和更高效的训练方法。

缩放限制:纯粹的预训练缩放显示出收益递减,将重点转向后训练创新。

相关阅读

Mentioned In

Video thumbnail

John Schulman

Pre-training is like a crappy form of evolution - you're selecting for models that predict internet text well.