预训练

一句话定义:在海量无标注文本上做自监督学习,让模型习得语言规律与世界知识,是 LLM 的"地基"。

1. 定义

Pre-training(预训练)指在大量无标注语料上,用自监督目标训练模型,使其获得通用语言能力。之后再经微调/对齐适配下游任务。

2. 两大自监督目标

目标 做法 代表
MLM(掩码语言建模) 遮盖部分 token 让模型预测 BERT
CLM(因果语言建模) 预测下一个 token GPT/LLM

现代 LLM 几乎都用 CLM(自回归下一 token 预测)。

3. 预训练流程

  1. 数据收集:网页、书籍、代码、论文等。
  2. 清洗:去重、去毒、过滤低质。
  3. 分词:切成 token。
  4. 训练:下一 token 预测,交叉熵损失。
  5. 配比:不同数据源混合比例影响能力(代码多则编程强)。

4. 关键考量

  • 数据质量:垃圾进垃圾出,质量 > 数量。
  • 数据配比:代码/数学/多语言比例影响能力分布。
  • 训练步数:Chinchilla 指引计算最优数据量。
  • 稳定性:大模型训练易崩(loss spike、NaN),需工程保障。

5. 预训练 vs 微调

  • 预训练:学通用能力,无标注,贵。
  • 微调:学特定行为,有标注,相对便宜。
  • 预训练是"地基",微调是"装修"。

6. 学习要点

  • 预训练 = 自监督下一 token 预测,是 LLM 能力来源。
  • 数据质量与配比决定能力分布。
  • 预训练成本极高,是模型壁垒。

7. 参考资料

  • "Language Models are Few-Shot Learners"(GPT-3)
  • "Training Compute-Optimal LLMs"(Chinchilla)