> For the complete documentation index, see [llms.txt](https://yeasy.gitbook.io/llm_internals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yeasy.gitbook.io/llm_internals/di-er-bu-fen-xun-lian-pian/05_pretraining/summary.md).

# 本章小结

本章把“预测下一个词”从一句叙述变成了一个可以优化、可以算账的目标。

**自回归语言模型**把联合概率按链式法则拆开，训练目标是每词元平均的负对数似然。因果掩码让一条长 $T$ 的序列一次前向产生 $T-1$ 个监督信号，输入与标签只差一位。损失不是抽象的误差，就是模型分给正确答案的概率取负对数：沿用 3.8 节的教学模型，位置 6 对 `5` 的概率 0.462 对应损失 0.772。训练起点的锚点是 $\ln n\_{\text{vocab}}$，GPT-2 词表对应 10.82，Llama 3 对应 11.76。把期望损失拆成 $H(p) + D\_{\mathrm{KL}}(p|q)$，就能看出最小化损失等价于逼近真实分布，也等价于无损压缩；代价是单向性，逆转诅咒是它最尖锐的表现。

**掩码语言模型**用完形填空换来双向上下文。损失只在被选中的位置上计算：512 长度下选中约 77 个，其中约 61 个换成 `[MASK]`、约 8 个换随机词元、约 8 个保持原样。80/10/10 的动机是缩小 `[MASK]` 造成的预训练与微调失配，其代价在冻结表示的特征式用法上最明显。信号密度是 511 对 77，约 6.6 倍，但这不等于学习效率差 6.6 倍。

**编码器-解码器预训练**把片段破坏变成一对输入与目标：512 长度、15% 破坏率、平均片段长 3 时，编码器输入缩到 460.8，解码器目标只有 103.4，比重建整句短约 5 倍。$L+L$ 层的编码器-解码器有 $2P$ 个参数却只花 $M$ 的计算量，“参数量翻倍”不是纯粹的代价。仅解码器最终胜出靠的是信号密度、零样本能力、缓存形态与系统简单四条。

**规模定律**给出的是约束关系而非行动指令。在 $C = 6ND$ 的约束下最小化 $E + A/N^{\alpha} + B/D^{\beta}$，得到 $N \propto C^{\beta/(\alpha+\beta)}$，$\alpha \approx \beta$ 时两者各约 0.5。Chinchilla 70B 配 1.4T 与 Llama 3 8B 配 15T 的预测损失几乎相同，而后者花的训练算力反而多 22%；把推理成本算进 $6ND\_{\text{train}} + 2ND\_{\text{infer}}$，打平点在约 1.06 万亿个推理词元。“20 词元每参数”来自前两种估计方法，不是常数。

**数据管线**决定 $D$ 的成色。FineWeb 的 96 个快照经启发式过滤后是 36T 词元，按快照去重后 20T，再过一遍质量规则得到 15T；改成全局去重只剩 4T，成绩反而更差。MinHash 的 $(b, r)$ 直接决定“多像才算重复”：14 × 8 的拐点在 0.72，9 × 13 的拐点在 0.84。重复整个语料至多 4 个 epoch 几乎无损，16 个 epoch 之后收益急剧衰减。

5.1 节写下的负对数似然还只是一个待最小化的和式。15 万亿词元喂进去之后，真正把它降下来的是哪一套更新规则，本章没有交代。

***

> 📝 **发现错误或有改进建议？** 欢迎提交 [Issue](https://github.com/yeasy/llm_internals/issues) 或 [PR](https://github.com/yeasy/llm_internals/pulls)。
