跳到主要内容

它读了什么、怎么读、猜错了怎么改

这一章讲三件事: 书名里的「大」到底大在哪;它是怎么被练出来的; 以及它读的那堆文字里都有什么。

它在全书链条里的位置: 第 01 章说它在猜下一个字。 这一章回答「凭什么猜得准」。 后面第 16 章要算的那笔训练账、 第 05 章要讲的「突然会了」,都从这一章的规模长出来。

1. 「大」不是块头大,是可调的数多

这一节先把书名里那个字讲清楚。

参数就是它身上那一堆可以被调动的数。 你可以把它想成一整面墙的旋钮, 每个旋钮拧到某个刻度,合起来决定了它看到一句话之后会往下写什么。 这个比方到这一段为止,后面一律叫它参数。

书里让那个外行角色先猜了一次:「肚子大?」被否掉之后,才给出正解—— 「我们家族特点是脑袋大,装的参数多」1上一代有 1750 亿个参数, 那一代的名字叫 GPT-32

1750 亿是个什么概念? 拿它的上一代比:再上一代只有 15 亿个,那一代叫 GPT-23, 两年之间翻了一百多倍。

参数多有什么用?书里给的解释很朴实:「模型参数多,代表模型学到的东西多」, 所以预测每一个字的准确率就高;而且它学到的关于世界的许多知识, 就保存在这些数里面4

但参数多是有代价的。算力就是「一台机器一秒钟能算多少次」这个本事; 书里紧接着说,数一多,它消耗的算力就很高、算起来很慢很慢, 所以后来为了平衡,「脑袋做过瘦身处理」5。 算力在第 16 章会变成一笔具体的钱,在第 18 章会变成每答一次要付的成本。

2. 顶层全景:一道题,重复到你想不到的次数

这一节给出全章骨架。

一大堆现成的文字(网页、书、论文、代码……)


① 随便挑一个位置,把这个位置往后的字全盖住


② 让它猜:盖住的下一个字是什么


③ 揭开答案对一下 ── 原文里本来就写着答案


④ 按「差了多少」把那一堆数挪一丁点


回到 ①,换一个位置,再来一遍

这张图在讲:整个过程只有一道题,而这道题的答案不需要任何人来写。

书里让那个角色自己承认了这件事的枯燥:「来来去去只做一道题, 就是在给定的前序历史文本条件下,预测下一个字是什么」6。 外行角色当场吐槽:那你可真省事,上学的时候做,工作的时候也做7—— 这句吐槽其实说到了点子上:第 01 章那个「猜下一个字」的动作, 和这一章的练习题是同一个动作。

这一整个阶段有个名字,叫预训练——「预」是说它做完之后还有后续的步骤, 那两步在第 04 章讲。

3. 主走查:一句话被盖住答案

这是本章的主走查。后面每一节的机制都要在这条走查上占一步。

下面这句例句和猜出来的字,是我们为演示编的,不是书里的数值。 书里只给了这道题的形式(图 1.6 的标题就叫「自监督预训练:盖住答案猜字」), 没有给出任何一次具体的猜测过程。

拿一句现成的话:珠穆朗玛峰是世界第一高峰

第几步给它看的(条件)原文里的标准答案它猜的结果接下来做什么
1珠穆朗玛峰是世界第一高那一堆数几乎不动
2珠穆朗玛峰是世界第把那一堆数往「下次更可能写出『一』」的方向挪一丁点
3珠穆朗玛同上,再挪一丁点

看清楚第 3 步:同一句话里的每一个位置都要来一遍。 书里说得很明确:在那上百 GB 的文字里,针对每本书、每篇文章、每个网页、 每段程序里每一个字的位置,都要预测一遍8

这道题的关键在第 3 列:标准答案是原文自带的。 书里那个角色说:「在给定历史文本的条件下,下一个字是什么,那都是有标准答案的」—— 「我自己提出问题,自己就有答案,练习的时候自己把答案盖住就行了」9

这种「自己出题自己对答案」的做法叫自监督—— 监督的意思是有人给出正确答案,而「自」是说这个正确答案不用人来给。 书里紧接着点明了它的实际后果:不需要人来给答案,也不需要老师改卷子, 所以才能在短时间里学那么大规模的数据10

顺带把一个词挂上牌:它这种「只看前面、往后写一个」的做法,行话叫自回归。 这个名字你在任何一份技术文档里都会撞见,它说的就是第 01 章那条循环。

4. 它读的东西里都有什么

这一节回答:上百 GB 到底是些什么。

书里列了六类:维基百科、图书、杂志期刊、社交平台的外链、 一个叫 Common Crawl 的网页爬取数据集,以及代码11这一整批文字,行话叫语料 ——就是「拿来喂它的那些现成文本」的统称。

几个能立住的数:

项目书里给的数参照物
上一代用的数据集总量700 多 GB一部高清电影约 5 GB,相当于 140 部
换算成 token5000 亿左右12按第 01 章的口径,中文一个汉字约一格
换算成中文字数约 19 万套四大名著13四大名著共约 262 万字,合计约 5000 亿字
Common Crawl 每月爬多少约 10 亿个网页中国网民约 11 亿人,相当于人手一页
Common Crawl 存档总量超过 70 PB、超过 1000 亿个网页14上面那 700 多 GB 只是从里面挑出来的一小撮

(参照物里的电影体积和网民数是我们补的常识,不在书里。)

现在说那个最容易被引错的数。 书里的原话是: 只看其中数据量最大的 Common Crawl,数据主要是英语,约占 46%, 中文、俄语、德语、日语等其他语言各占约 5%15

请注意这句话的范围:它说的是那一坨网页数据,不是整批语料。 维基百科、图书、期刊那几类,书里没有给语种比例。 把 46% 说成「它读的东西里英文占 46%」,是这一节最容易被拿去转述、也最容易转错的一句。

46% 对 5%,是九倍差。 这个九倍差解释了一件你天天能感觉到的事: 同一个问题用英文问和用中文问,它的底气不一样。

5. 猜错了,那一堆数具体怎么改

这一节是全章最技术的一节,但书里只讲到「能听懂」这一层,我们也只讲到这一层。

回到第 3 节走查的第 2 步:它猜了「二」,标准答案是「一」。接下来发生三件事。

第一件:量出差了多少。 书里说,要用一把尺子把「预测出来的」和「实际的」 之间的差异量化成一个数16这把尺子叫损失—— 它只有一个作用:把「差得远不远」变成一个可以比大小的数字。 损失越大,说明这一次猜得越离谱。

第二件:算出每个参数该负多少责任。 这一步叫反向传播—— 「反向」是说它从答案那一头往回倒推,一层一层往回传, 算出那一堆数里的每一个对这次的差错贡献了多少17

顺带把这一步算出来的东西命名:每个参数「该往哪边挪、挪多急」的那个量,叫梯度。

第三件:照着梯度把参数挪一点。 这一步叫梯度下降, 书里给了一个很好的比方:像一个小球在山坡上滚动,根据山坡的斜率和重力的作用, 沿着最陡峭的方向往下滚,直到滚到山底18。 山谷底部就是「猜得最准」的那个位置。

这三件事在主走查上是第 4 列到第 6 列。 第 1 步猜对了,那一堆数几乎不动; 第 2、3 步猜错了,才有可挪的方向。

这里必须坦白一句:书里没有讲这三步内部是怎么算的。 它点了两个数学名字(一个用来把差错往回传,一个用来找下坡方向), 但没有一个公式、没有一张图。想看这一层,要去读别的书。

6. 数据不光要大,还得精

这一节讲一条听起来像常识、但在产业上很贵的规矩。

书里那个角色特意强调:他看的是人类精挑细选的优质内容—— 百科知识、经典著作、点赞较高的网页文章、代码19

理由是这一行的工程师常说的一句话:Garbage in,Garbage out—— 读的是垃圾,写的也是垃圾20

这句大白话在产业上的分量,第 16 章会讲: 挑数据、洗数据、给数据打标签,后来长成了一个专门的行当, 而那个行当的成本控制方式并不好看。

7. 作者的判断与证据

这一节把这一章里三种性质不同的说法分开。

说法性质
参数、数据集构成、46%/5% 这些数有出处的事实。书里在扩展阅读里逐条列了
「盖住答案猜下一个字」是预训练的全部内容简化。书里为了讲清楚只讲了这一件事
「练习题」「题海战术」「有则改之无则加勉」比喻。是情景剧的措辞,不是机制
「参数多 → 学到的东西多 → 预测准确率高」作者的推断,书里没给任何一条曲线或实验
「模型学到的世界知识保存在参数中」业界共识的转述,书里没给证据

必须点出来的一处:书里对后面两代那一堆数有多少个,给的是「推测」,不是数据。 原文写得很老实:这两代有多少个数并未公布,是根据推理速度和硬件能力推测的21所以凡是拿这两个数去做对比的推论,都要打折扣。

8. 边界与局限

  • 书里没有讲这些数是怎么初始化的、层与层之间怎么连。 它把整台机器当黑箱,只讲「输入 → 输出 → 调数」这条外部循环。
  • 书里没有提数据量和参数个数之间该怎么配比。 补充(不在书里):在这本书写作的前一年,这个问题已经有了明确的答案—— 给定同样的算力,当时的大模型普遍参数偏多、读的字偏少; 参数每翻一倍,读的字也该跟着翻一倍。 来源:《Training Compute-Optimal Large Language Models》(Hoffmann 等,2022, 通称 Chinchilla)https://arxiv.org/abs/2203.15556(查阅于 2026-08-26)。 那篇论文用一个 700 亿参数的模型,在同样算力下胜过了 1750 亿、2800 亿、5300 亿参数的几个模型, 靠的就是把读的字数扩大到四倍。书里一个字没提这件事。
  • 「上百 GB」和「700 多 GB」在书里是两处不同的说法,前者在情景剧里, 后者在扩展阅读里。我们按后者算,因为它给了明确的数据集来源。
  • 数据来源的合法性书里只字未提。 爬来的网页、扫描的图书、社交平台的外链—— 这些内容的版权问题在 2023 年已经在打官司,书里没有涉及。

9. 可带走的

  1. 「大模型」的大,说的是可调的数有多少个,不是文件多大、也不是块头多大。
  2. 上一代 1750 亿个,再上一代 15 亿个——两年翻了一百多倍。
  3. 它做的练习只有一道题:把下一个字盖住,猜。 每本书、每个网页、每个位置都来一遍。
  4. 这道题的标准答案是原文自带的,所以不需要老师改卷子——这是它能吞下这个量的唯一原因。
  5. 46% 和 5% 说的是那一坨网页数据,不是全部语料。 引用之前先看清范围。
  6. 猜错之后有三步:量出差多少 → 算每个数该负多少责任 → 照着挪一丁点。 书里只讲到这一层,再往下它没打开。
  7. 数据要大,更要精。 读的是垃圾,写的也是垃圾。

10. 原文地图

主题原书章原文位置
大在参数多03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:33(搜「装的参数多」) · text/05-ch03-03-chatgpt.txt:34(搜「也就是1750亿」)
瘦身与算力03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:36(搜「我的脑袋做过瘦身处理」)
参数多的好处03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:41(搜「模型参数多,代表模型学到的东西多」)
只做一道题03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:78(搜「来来去去」) · text/05-ch03-03-chatgpt.txt:79(搜「预测下一个字是什」)
每个位置都要预测03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:87(搜「每一个字的位置」)
标准答案自带、不需标注03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:97(搜「那都是有标准答案的」) · text/05-ch03-03-chatgpt.txt:99(搜「不需要人类做标注」)
GPT 各代参数量03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:142(搜「有117M」) · text/05-ch03-03-chatgpt.txt:145(搜「1.5B」)
数据集六类与规模03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:166(搜「700多GB」) · text/05-ch03-03-chatgpt.txt:193(搜「超过70PB」)
语种比例03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:198(搜「约占46%」)
反向传播与梯度下降03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:209(搜「利用误差信号来更新模型参数」) · text/05-ch03-03-chatgpt.txt:221(搜「小球在山坡上滚动」)
数据要精03 ChatGPT是怎样炼成的text/05-ch03-03-chatgpt.txt:60(搜「人类精挑细选的优质内容」) · text/05-ch03-03-chatgpt.txt:63(搜「Garbage」)

Footnotes

  1. 出处:「03 ChatGPT是怎样炼成的」第 33 段(text/05-ch03-03-chatgpt.txt:33,搜「装的参数多」)。原文是那个角色在被问「你究竟大在哪儿」之后的回答。

  2. 出处:「03 ChatGPT是怎样炼成的」第 34 段(text/05-ch03-03-chatgpt.txt:34,搜「也就是1750亿」)。原文说的是上一代 GPT-3 的规模,175B 即 1750 亿。

  3. 出处:「03 ChatGPT是怎样炼成的」第 145 段(text/05-ch03-03-chatgpt.txt:145,搜「1.5B」)。扩展阅读里给了完整一串:2018 年那一代 1.17 亿(text/05-ch03-03-chatgpt.txt:142,搜「有117M」),2019 年那一代 15 亿,2020 年那一代 1750 亿。

  4. 出处:「03 ChatGPT是怎样炼成的」第 41 段(text/05-ch03-03-chatgpt.txt:41,搜「模型参数多,代表模型学到的东西多」)。原文接着说,学到的关于世界的许多知识也都保存在这些参数中。这是作者的转述,书里没给证据。

  5. 出处:「03 ChatGPT是怎样炼成的」第 36 段(text/05-ch03-03-chatgpt.txt:36,搜「我的脑袋做过瘦身处理」)。前半句说,数一多对算力的消耗很高,算起来很慢很慢。

  6. 出处:「03 ChatGPT是怎样炼成的」第 78 段(text/05-ch03-03-chatgpt.txt:78,搜「来来去去」)与第 79 段(text/05-ch03-03-chatgpt.txt:79,搜「预测下一个字是什」)。

  7. 出处:「03 ChatGPT是怎样炼成的」第 83 段(text/05-ch03-03-chatgpt.txt:83,搜「一辈子只做一道题」)。

  8. 出处:「03 ChatGPT是怎样炼成的」第 87 段(text/05-ch03-03-chatgpt.txt:87,搜「每一个字的位置」)。原文的完整说法是:在这上百 GB 的文本里,针对每本书、每篇文章、每个网页、每段程序里每一个字的位置,都要预测一遍。

  9. 出处:「03 ChatGPT是怎样炼成的」第 97 段(text/05-ch03-03-chatgpt.txt:97,搜「那都是有标准答案的」)与第 98 段(text/05-ch03-03-chatgpt.txt:98,搜「自己提出问题」)。

  10. 出处:「03 ChatGPT是怎样炼成的」第 99 段(text/05-ch03-03-chatgpt.txt:99,搜「不需要人类做标注」)。原文接着说:也因为语言文本数据天生有这个特性,所以现在做的是语言文本。

  11. 出处:「03 ChatGPT是怎样炼成的」第 164 段(text/05-ch03-03-chatgpt.txt:164,搜「维基百科、图书」)。原文的六类是:维基百科、图书、杂志期刊、Reddit 链接、Common Crawl 和其他。

  12. 出处:「03 ChatGPT是怎样炼成的」第 166 段(text/05-ch03-03-chatgpt.txt:166,搜「700多GB」)。同一段给出「5000 亿左右的 token 数量」。

  13. 出处:「03 ChatGPT是怎样炼成的」第 167 段(text/05-ch03-03-chatgpt.txt:167,搜「四大名著共计约262万字」)。这一句同时给出了换算依据,所以 19 万套这个数是可以自己验算的。

  14. 出处:「03 ChatGPT是怎样炼成的」第 193 段(text/05-ch03-03-chatgpt.txt:193,搜「超过70PB」)。原文说截至 2021 年 9 月,这个数据集存档总大小超过 70 PB,包含超过 1000 亿个网页;每月爬取约 10 亿个网页(text/05-ch03-03-chatgpt.txt:191,搜「每月对互联网上约10亿个」)。

  15. 出处:「03 ChatGPT是怎样炼成的」第 198 段(text/05-ch03-03-chatgpt.txt:198,搜「约占46%」)。原文的限定语是「只看其中数据量最大的 Common Crawl」,这个限定语在转述时最容易掉。

  16. 出处:「03 ChatGPT是怎样炼成的」第 211 段(text/05-ch03-03-chatgpt.txt:211,搜「损失函数」)。原文说,通过一把尺子对预测输出与实际输出之间的误差进行量化,由此得到一个误差值。

  17. 出处:「03 ChatGPT是怎样炼成的」第 209 段(text/05-ch03-03-chatgpt.txt:209,搜「利用误差信号来更新模型参数」)。同一段还提到这个误差值会逐层向后传播,以便算出每一个数对误差的贡献度(text/05-ch03-03-chatgpt.txt:217,搜「使用链式法则」)——书里点了这个数学名字,但没有展开。

  18. 出处:「03 ChatGPT是怎样炼成的」第 221 段(text/05-ch03-03-chatgpt.txt:221,搜「小球在山坡上滚动」)。

  19. 出处:「03 ChatGPT是怎样炼成的」第 60 段(text/05-ch03-03-chatgpt.txt:60,搜「人类精挑细选的优质内容」)。

  20. 出处:「03 ChatGPT是怎样炼成的」第 63 段(text/05-ch03-03-chatgpt.txt:63,搜「Garbage」)。原文给的中文注解是:读的是垃圾,写的也是垃圾。

  21. 出处:「03 ChatGPT是怎样炼成的」第 155 段(text/05-ch03-03-chatgpt.txt:155,搜「我们推测其模型大小」)与第 158 段(text/05-ch03-03-chatgpt.txt:158,搜「其参数量明显大于」)。原文用的词是「推测」,不是「公布」。