跳到主要内容

**第 27 章推完了「猜下一个词」的训练目标;这一章把它放大成一台能用的机器: 成绩怎么报(困惑度——平均在几个词里挑)。

词怎么挑出来(解码策略——从概率分布里选词)、文本怎么切碎(子词与 BPE)、 规模怎么配(规模法则)。这一章读完后,「大模型预训练」不再是一个词, 是一条从原始文本到下一个词的完整流水线。**

大语言模型的预训练:平均而言它在几个词里挑

1. 这一章讲什么

两件事: 把「预训练」从一句话变成一台能用的机器——成绩怎么报(困惑度)、 词怎么从概率里挑出来(解码策略)、文本怎么切成词元(子词与 BPE)、 规模怎么配(规模法则)。

它在全书链条里的位置: 第 27 章把训练目标的推导做完 (乘法拆解 + 逐位置负对数似然),本章直接引用不重讲;第 21 章给了骨架, 本章装上数据与训练;第 32 章的对齐以本章的产出为起点。

需要第 21 章(Transformer 数据流)与第 27 章。

2. 顶层全景

文本语料 ─→ 分词:子词 / BPE(§7-§8)──→ 词元序列
↓ 训练:逐位置猜下一个词(第 27 章的推导)+ 教师强制并行(§3)
↓ 报数:困惑度 = 平均在几个词里挑(§4)
↓ 用:拿到概率怎么挑词——贪心 / 束搜索 / Top-k / Top-p / 温度(§5)
↓ 比范式:三种预训练目标为何统一成从左到右(§6)
↓ 配:参数量 × 数据量 × 算力的定量规律(§9)
产出:一个「续写器」——把它变成「回答者」,是第 32 章的事

3. 语言模型到底在算什么

语言模型的核心任务书一句话钉住:对文本序列的概率分布进行建模。 给定 T 个词元,联合概率按概率的乘法拆解精确分解成逐位置条件概率的 乘积(式 13.1)——这条推导的第 27 章已经做完,这里直接引用不重讲; 从左到右逐步预测下一个词元的模型,叫自回归语言模型1

训练时还有一个工程妙处要说清:朴素做法是每个位置各跑一遍前向传播(T 遍); 教师强制让模型用真实前缀(而非自己此前的预测)作输入,配合第 21 章的 因果掩码,各位置的预测互相独立,一次前向就能并行算出所有位置的损失2。 代价也有名字:暴露偏差——训练时见的是真实前缀,推断时面对的却是 自己生成的词元,两边分布不一致;书同时安抚:对大规模预训练模型 「这一问题相对温和」,后面的微调对齐阶段也会缓解3

4. 平均而言它在几个词里挑:困惑度

「模型训得好不好」要有一个能报数的指标。困惑度(PPL)的定义是 负对数似然取指数:PPL = exp(−(1/T)Σₜ log p(xₜ|x<ₜ))。书的解读 值得原样记住:「可以直观理解为模型在每个位置上的平均『选择数』」—— 困惑度越低,预测越准4

拿第 27 章主走查那句话续算(五个条件概率 0.2、0.3、0.5、0.6、0.4, 仍是演示值):负对数似然合计 4.93,平均每位 0.986, 困惑度 = e^0.986 ≈ 2.7。读法:在这句话的每个位置上,模型平均在 约 2.7 个等价候选里犹豫。困惑度 1 意味着每个位置都笃定到没有悬念; 2.7 比 1 大,说明还有相当的不确定性。这个数把「模型多会猜」压成了一个 可比的标量——不同模型、不同语料(训练文本的集合),报数即可对比(语料相同时)。

5. 拿到概率之后怎么挑词:解码策略

第 21 章把数据流推到了 softmax 输出的概率分布;从分布里挑出实际的 那个词,由解码策略决定(第 21 章留下的债,在这里还)5。 书先给总原则:确定性解码适合翻译、代码这类求准的任务; 随机采样适合对话、创意写作这类要多样的任务6

策略做法
贪心解码每步取概率最高的词只顾单步最优,容易错过全局更优;容易重复
束搜索每步维护 k 个累计概率最高的候选序列仍是确定性;开放式生成容易单调、重复
Top-k 采样只保留概率前 k 的词,归一化后采样固定的 k 不适应分布形状:平坦时太小,尖锐时误纳入
Top-p 核采样取累积概率达到 p 的最小词元集合典型 p∈[0.9,0.95];实践中往往比 Top-k 稳

7

最后一个旋钮是采样温度:在 softmax 里把打分除以 τ 再归一化。 τ=1 是原分布;τ<1 分布变尖、输出更确定(τ→0 退化成贪心); τ>1 分布变平、多样性增加8。它的数学形状你在第 27 章见过—— 对比学习里也有一个除在相似度上的温度参数:同一个形状,不同用途, 第 36 章的能量模型里还会再遇一次,届时把三者放在一起看。 实际部署常把两者组合:先用较小的 τ 削掉低概率长尾,再用 Top-p 截断候选集9

6. 三种预训练范式怎么取舍

三种范式第 21 章按信息流方向分过工;这里补的是训练目标的取舍账10:

  • 自回归(仅解码器):从左到右预测下一词元。GPT-1 立起「预训练+微调」, GPT-2 用 15 亿参数探索零样本(不给示例直接上新任务), GPT-3 用 1750 亿参数发现上下文学习11;
  • 掩码语言模型(仅编码器):双向上下文填空,适合理解任务; 但训练-推断不一致,生成不如自回归;
  • 编码器-解码器:双向编码+自回归生成,T5 用「文本到文本」统一任务。

为什么大模型统一选了从左到右? 书给的理由有三:架构简单 (只有一种注意力模式,即因果注意力)、易于扩展统一建模 (所有任务都能写成「给定前缀,预测后续」)12。掩码建模的双向优势 在理解类任务上仍在——但生成式(逐词往外写)大模型这条主线,选了单向。

7. 文本先要被切成什么:子词与 BPE

词元从哪来?第 21 章说「分词器的细节推迟到本章」。两个朴素方案各有一病: 词级分词——词表再大也覆盖不了所有词形,罕见词成为未登录词(OOV); 字符级分词——词表极小但序列极长,难以捕捉词级语义。 现代大模型普遍取中间:子词分词——高频完整词保留为单个词元, 低频词拆成子词(如 unhappiness → un + happiness)13

主力算法叫字节对编码(BPE),思想极其朴素:从字符级初始词表出发, 反复合并出现频率最高的相邻词元对,直到词表达到预设大小(如 32K)14

主走查:两轮 BPE

语料(书中例子的放大版,为演示定): low low low lower lower newer newer newer now now,10 个词。 初始词表是单字符 {l, o, w, e, r, n},每个词拆成字符序列。

第一轮:数相邻对
l-o:3+2=5 o-w:3+2+2=7 w-e:2+3=5 e-r:2+3=5
n-e:3 e-w:3 n-o:2
最高唯一:(o,w) 出现 7 次 → 合并成新词元「ow」

第二轮:重新数(ow 已是整体)
l-ow:5 ow-e:2 e-r:5 n-e:3 e-w:3 n-ow:2
最高并列 5:5(l-ow 与 e-r)。并列时取字典序最小——
这是我们的口径,原书未规定 → 选 (e,r) 合并成「er」

两轮之后:low = l+ow;lower = l+ow+er;newer = n+e+w+er;now = n+ow。 读法:高频片段(ow、er)被学成了整体词元,罕见组合仍可回落到更细的子词—— 「常用」自动获得更短的编码,这正是这套算法高效的原因15

8. 生僻字和表情怎么办:字节级 BPE

多语言场景下,字符作起点有两个坑:非英文字符数量庞大,吃掉词表空间; 训练时没见过的字符直接变 OOV。字节级 BPE(GPT-2 提出)的解法: 先把文本编码成 UTF-8 字节流(初始词表只有 256 个字节(8 位一个的存储单位)),再在字节上 执行 BPE 合并。任何输入——中英日韩、表情、二进制——都能无损表示, OOV 问题就此消失16。代价是常见字符要拆成多个字节词元,序列变长; 书给出的权衡参照:词表过小序列过长、过大则嵌入矩阵(词元→向量的查找表)膨胀且罕见词元 训练不充分,典型词表在 32K 到 128K 之间17

9. 规模、数据、算力(训练要烧的计算量)怎么配:规模法则

第 27 章埋的那句「规模扩大,迁移能力变强」,现在给出定量形状。 Kaplan 规模法则:交叉熵损失与参数量 N(不含嵌入)、数据量 D(词元数)、 计算量 C 分别呈幂律(对数坐标下是直线);书给的指数 αN≈0.076、αD≈0.095、αC≈0.050—— 数字本身不重要,重要的是边注那一句:对数-对数坐标下近似为直线, 也就是说「花得越多、降得越慢,但一直在降」可以被预测18

Chinchilla 的修正问得更实际:固定计算预算 C,参数量和数据量怎么分? 预算约束是 C ≈ 6ND(每个词元前向加反向约需 6N 次浮点运算)—— 加大 N 必然挤占 D。拟合 400 多个实验的结论:两者应以近似相等的比例增长, 最优训练词元数约为参数量的 20 倍(D* ≈ 20N)19

一个直观数字:100 亿参数的模型,按此法则应喂约 2000 亿词元。 现实是模型普遍「过度训练」:推理时每个词元都要过一遍参数, 模型小一点、数据堆多一点,部署更便宜——书举的例子:LLaMA-7B 用了 1 万亿词元,远超 Chinchilla 建议的约 1400 亿20。 法则给的是「算力怎么花最值」,不是「模型该多大」。

10. 现在的模型长什么样:趋同与容量扩展

具体模型列表变化很快,书抓的是两条稳定线索。架构高度趋同: 仅解码器、RoPE 位置编码、RMSNorm(Pre-Norm 形式)、SwiGLU 前馈、 分组查询注意力(GQA——第 22 章拆过)、BPE 分词——趋同背后的实用原则是:架构选择不仅看效果, 还看训练稳定性、推理效率和工程可实现性(这些零件的机制全部在第 22 章)21

容量扩展走混合专家(MoE):把前馈层换成多个并行「专家」,由路由函数 决定每个词元找哪些专家——总参数巨大、每个词元只激活一小部分。 书的参照物:DeepSeek-V3 总参数 671B,每个词元仅激活约 37B; 这两个数是怎么做到的,第 22 章第 8 节已经拆过,这里只取它的含义: 参数量和计算量从此可以分开谈判22

11. 边界与局限

数据工程只有原则没有做法:去重、质量过滤、配比(网页量大噪声多、 书籍质量高领域窄、代码助推理)都点到为止;「高质量数据上的较小模型 有时可以接近甚至超过低质量数据上的较大模型」这句边注,配不上一个 可操作的配方23

规模法则是经验律不是机理:幂律从实验拟合而来,跨架构、跨数据分布 是否外推,书没有断言;Chinchilla 的 20 倍也随「推理成本要计入」的 现实而被普遍突破20

评估口径单一:本章的成绩单是困惑度——它量「像不像训练语料」, 不量「答得对不对、有没有害」;那把尺子要等第 32 章的偏好对齐。

12. 可带走的

  1. 语言模型 = 对文本序列的概率分布建模;训练目标就是第 27 章的逐位置负对数似然;
  2. 教师强制 + 因果掩码 → 一次前向并行算所有位置的损失;
  3. 困惑度 = 平均而言每个位置在几个等价候选里挑;越接近 1 越笃定;
  4. 解码策略按任务选:求准用贪心/束搜索,求活用 Top-p(+温度调尖锐);
  5. 温度的数学形状全书出现三次:对比学习、解码采样、能量模型——形状同,用途不同;
  6. 大模型统一选自回归:架构简单、易扩展、任务统一;
  7. 子词分词是词级与字符级的折中;BPE 反复合并最高频相邻对;
  8. 字节级 BPE 用 256 个字节起点覆盖一切输入,OOV 从此消失;
  9. 规模法则:损失随规模幂律下降;固定算力下 D* ≈ 20N;
  10. 现实普遍「过度训练」:模型小点、数据堆多,推理便宜;MoE 把参数量与 每词元计算量分开谈判。

13. 原文地图

主题原书章原文位置
语言模型定义与乘法拆解第13章 大语言模型与智能体text/14-ch13.txt:26(搜「核心任务是对文本序列」)
困惑度第13章 大语言模型与智能体text/14-ch13.txt:35(搜「困惑度(Per」)
教师强制第13章 大语言模型与智能体text/14-ch13.txt:65(搜「教师强制(Teacher Forcing」)
暴露偏差第13章 大语言模型与智能体text/14-ch13.txt:74(搜「暴露偏差(Exposure Bias」)
解码策略两分第13章 大语言模型与智能体text/14-ch13.txt:82(搜「解码策略(Decoding Strategy」)
贪心与束搜索第13章 大语言模型与智能体text/14-ch13.txt:86(搜「贪心解码(Greedy Decoding」) · text/14-ch13.txt:93(搜「束搜索(Beam Search」)
Top-k 与 Top-p第13章 大语言模型与智能体text/14-ch13.txt:99(搜「Top-𝑘 采样」) · text/14-ch13.txt:121(搜「自适应调整候选集大小」)
温度第13章 大语言模型与智能体text/14-ch13.txt:126(搜「温度(Temperature」) · text/14-ch13.txt:133(搜「退化」)
三种范式第13章 大语言模型与智能体text/14-ch13.txt:158(搜「三种范式」) · text/14-ch13.txt:166(搜「掩码语言模型(Masked」) · text/14-ch13.txt:175(搜「编码器-解码器(Encoder-Decoder」)
GPT 三代第13章 大语言模型与智能体text/14-ch13.txt:162(搜「预训练 + 微调」)
自回归胜出三理由第13章 大语言模型与智能体text/14-ch13.txt:179(搜「架构简单、易于扩展」)
子词分词第13章 大语言模型与智能体text/14-ch13.txt:192(搜「分词器(Tokenizer」) · text/14-ch13.txt:197(搜「子词」)
BPE 流程第13章 大语言模型与智能体text/14-ch13.txt:206(搜「字节对编码(Byte Pair Encoding」) · text/14-ch13.txt:218(搜「low low low lower lower newer」)
字节级 BPE第13章 大语言模型与智能体text/14-ch13.txt:229(搜「字节级 BPE」) · text/14-ch13.txt:231(搜「无损表示」)
词表权衡第13章 大语言模型与智能体text/14-ch13.txt:239(搜「词表大小的权衡」)
Kaplan 规模法则第13章 大语言模型与智能体text/14-ch13.txt:246(搜「Kaplan 规模法则」) · text/14-ch13.txt:257(搜「0.076」)
Chinchilla 配比第13章 大语言模型与智能体text/14-ch13.txt:266(搜「Chinchilla」) · text/14-ch13.txt:270(搜「6𝑁」) · text/14-ch13.txt:278(搜「20 倍」)
过度训练第13章 大语言模型与智能体text/14-ch13.txt:283(搜「2000 亿词元」) · text/14-ch13.txt:287(搜「7B 使 用 了 1T 词 元 训」)
架构趋同与 MoE第13章 大语言模型与智能体text/14-ch13.txt:298(搜「架构设计呈现明显趋」) · text/14-ch13.txt:293(搜「MoE 将前馈网络层替换」) · text/14-ch13.txt:296(搜「671B」)

Footnotes

  1. 出处:「第13章 大语言模型与智能体」第 25 至 34 段(text/14-ch13.txt:26,搜「核心任务是对文本序列」; text/14-ch13.txt:34,搜「自回归」),式(13.1)。乘法拆解的推导见本书第 27 章第 4 节。

  2. 出处:「第13章 大语言模型与智能体」第 65 至 71 段(text/14-ch13.txt:65,搜「教师强制(Teacher Forcing」)。

  3. 出处:「第13章 大语言模型与智能体」第 72 至 77 段(text/14-ch13.txt:74,搜「暴露偏差(Exposure Bias」; text/14-ch13.txt:76,搜「相对温和」)。

  4. 出处:「第13章 大语言模型与智能体」第 35 至 38 段(text/14-ch13.txt:35,搜「困惑度(Per」; text/14-ch13.txt:38,搜「选择数」)。

  5. 出处:「第13章 大语言模型与智能体」第 80 至 85 段(text/14-ch13.txt:82,搜「解码策略(Decoding Strategy」)。

  6. 出处:「第13章 大语言模型与智能体」第 82 至 85 段(text/14-ch13.txt:83,搜「确定性解码」)。

  7. 出处:「第13章 大语言模型与智能体」第 86 至 123 段(text/14-ch13.txt:86,搜「贪心解码(Greedy Decoding」; text/14-ch13.txt:93,搜「束搜索(Beam Search」;text/14-ch13.txt:99,搜「Top-𝑘 采样」; text/14-ch13.txt:112,搜「Top-𝑝 采样」;text/14-ch13.txt:109,搜「难以适应分布形状」; text/14-ch13.txt:123,搜「0.9」),式(13.3)-(13.5)[Fan et al., 2018; Holtzman et al., 2020]。

  8. 出处:「第13章 大语言模型与智能体」第 126 至 134 段(text/14-ch13.txt:126,搜「温度(Temperature」; text/14-ch13.txt:133,搜「更尖锐」),式(13.6)。

  9. 出处:「第13章 大语言模型与智能体」第 135 至 137 段(text/14-ch13.txt:135,搜「温度调节 + Top-𝑝」)。

  10. 出处:「第13章 大语言模型与智能体」第 157 至 178 段(text/14-ch13.txt:158,搜「三种范式」; text/14-ch13.txt:166,搜「掩码语言模型(Masked」;text/14-ch13.txt:175,搜「编码器-解码器(Encoder-Decoder」; text/14-ch13.txt:173,搜「训练-推断不一致」)。

  11. 出处:「第13章 大语言模型与智能体」第 159 至 165 段(text/14-ch13.txt:162,搜「预训练 + 微调」; text/14-ch13.txt:164,搜「1750 亿」)。

  12. 出处:「第13章 大语言模型与智能体」第 179 至 182 段(text/14-ch13.txt:179,搜「架构简单、易于扩展」)。

  13. 出处:「第13章 大语言模型与智能体」第 192 至 205 段(text/14-ch13.txt:192,搜「分词器(Tokenizer」; text/14-ch13.txt:194,搜「未登录词(Out-of-Vocabulary」; text/14-ch13.txt:197,搜「子词」;text/14-ch13.txt:198,搜「unhappiness」)。

  14. 出处:「第13章 大语言模型与智能体」第 206 至 217 段(text/14-ch13.txt:206,搜「字节对编码(Byte Pair Encoding」; text/14-ch13.txt:217,搜「32K」)[Sennrich et al., 2016]。

  15. 出处:「第13章 大语言模型与智能体」第 218 至 226 段(text/14-ch13.txt:218,搜「low low low lower lower newer」; text/14-ch13.txt:226,搜「回落到更细的子词」)。

  16. 出处:「第13章 大语言模型与智能体」第 227 至 232 段(text/14-ch13.txt:229,搜「字节级 BPE」; text/14-ch13.txt:230,搜「256」;text/14-ch13.txt:231,搜「无损表示」)。

  17. 出处:「第13章 大语言模型与智能体」第 239 至 241 段(text/14-ch13.txt:239,搜「词表大小的权衡」; text/14-ch13.txt:240,搜「32K 到」)。

  18. 出处:「第13章 大语言模型与智能体」第 243 至 264 段(text/14-ch13.txt:246,搜「Kaplan 规模法则」; text/14-ch13.txt:257,搜「0.076」;text/14-ch13.txt:252,搜「对数-对数」),式(13.7)-(13.8) [Kaplan et al., 2020]。

  19. 出处:「第13章 大语言模型与智能体」第 266 至 281 段(text/14-ch13.txt:270,搜「6𝑁」; text/14-ch13.txt:271,搜「400 个实验」;text/14-ch13.txt:278,搜「20 倍」),式(13.9)-(13.10) [Hoffmann et al., 2022]。

  20. 出处:「第13章 大语言模型与智能体」第 283 至 289 段(text/14-ch13.txt:283,搜「2000 亿词元」; text/14-ch13.txt:287,搜「7B 使 用 了 1T 词 元 训」;text/14-ch13.txt:282,搜「过度训练」)。 2

  21. 出处:「第13章 大语言模型与智能体」第 298 至 304 段(text/14-ch13.txt:298,搜「架构设计呈现明显趋」; text/14-ch13.txt:304,搜「训练稳定性、推理效率」)。

  22. 出处:「第13章 大语言模型与智能体」第 291 至 296 段(text/14-ch13.txt:293,搜「MoE 将前馈网络层替换」; text/14-ch13.txt:296,搜「671B」)[DeepSeek-AI, 2024]。机制拆解见本书第 22 章第 8 节。

  23. 出处:「第13章 大语言模型与智能体」第 185 至 195 段(text/14-ch13.txt:188,搜「混合比例」; text/14-ch13.txt:192,搜「高质量数据上的」)。