少有人走的路:两种练法的分叉
这一章讲三件事: 在它出现之前,聊天机器人是怎么答话的; 同一道题的两种盖法差在哪;以及为什么走通的是当年输得最惨的那一种。
它在全书链条里的位置: 第 02 章讲了它怎么练。 这一章讲「为什么是它,而不是当年赢的那个」。 这也是全书唯一一处讲失败与坚持的地方,后面第 19 章讲泡沫时会用到同一条线索。
1. 老办法:答案是事先写好的
这一节先讲它出现之前的做法,不然你无法体会分叉有多大。
书里问了一个很实在的问题:当年那些聊天机器人比什么? 答案是比各种专业细分的技能1:
| 技能 | 干什么 | 书里的例子 |
|---|---|---|
| 文本分类 | 判断这句话属于哪一类 | 「北京市朝阳区有哪些三甲医院?」属于「查医院」类 |
| 命名实体识别——把人名、地名、机构名这类具体东西从句子里挑出来 | 挑出查询要用的条件 | 挑出「北京市朝阳区」 |
| 文本匹配 | 判断两句话是不是一个意思 | 「怎么到那儿?」和「告诉我导航路线」 |
这三样组合起来,就是当年所有聊天机器人的干活方式—— 书里点名说,包括当时的语音助手在内2。
流程是:先用文本分类识别你的意图,再用命名实体识别填查询条件, 最后到知识库里把答案查出来,直接回复给你3。 书里管这种做法叫检索式——因为回答的内容都是事先写好的,不是新造的。4
它的好处很硬:回答的内容固定可控、不会出事。 书里说, 正经严肃服务人的机器人,当年都在用这一种,不敢用会自己写的那种5。
2. 分叉点:只看上文,还是两头都看
这一节讲全章最 要紧的那个分岔口。
先把三个名字一次讲完,因为你出门一定会撞见它们。
书里把 ChatGPT 这个名字拆成四段:Chat 说的是会聊天, 后面三个字母各代表一门功夫6。其中 P 是预训练,第 02 章已经讲过了。
G 是生成式——就是「照着给出来的上文,把后面的文字写出来」这种干活方式。 书里的原话是:通过文字接龙生产出新的内容,所以它对文本从左到右单向编码、单向预测7。
要说清 T,得先说清什么是网。神经网络就是一大堆小零件连成的一张网, 每个小零件把收到的数乘上自己身上那个可调的数再往下传—— 第 02 章说的「1750 亿个可调的数」,就长在这张网上。
T 是 Transformer——2017 年一篇论文提出的一种搭这张网的方法8。 书里没有展开讲它内部,我们也不在这里替它讲。
现在说分叉。当年另一条路上站着一个大师级的对手,它叫 BERT—— 同样用 Transformer 这种搭法,但它的第一个字母 B 指的是双向编码: 它预测某个位置的字时,不光用上文,还用下文9。
两种练法的区别,用考试题打比方一眼就清楚:
| 只看上文的那一种 | 两头都看的那一种 | |
|---|---|---|
| 训练时怎么盖 | 把下文全部盖住 | 在上下文中间盖住一块 |
| 相当于做什么题 | 句子补全 | 完形填空 |
| 能不能往后写新内容 | 能 | 不能 |
书里那句判决说得很干脆:完形填空要求左右两边的内容都提前拿到, 而生成新内容需要从左到右一路预测下去,所以「生成新内容这事只有咱们能干」10。
3. 主走查:「北京市朝阳区有哪些三甲医院?」
这是本章的主走查。三种做法拿同一句话各走一遍。
下面表格里的中间状态,除了标了出处的那几处,都是我们照书里的机制推演的,不是书里的原文。
做法一:老办法(检索式),三步
| 第几步 | 干什么 | 这一步手里拿到什么 |
|---|---|---|
| 1 | 文本分类 | 判定这句话属于「查医院」这一类3 |
| 2 | 命名实体识别 | 从句子里抽出 北京市朝阳区 当查询条件3 |
| 3 | 去库里取 | 拿这两样去知识库查,取回事先写好的那条答案,原样回给你3 |
做法二:完形填空那一种,一步
| 第几步 | 干什么 | 这一步手里拿到什么 |
|---|---|---|
| 1 | 把句子中间挖个空,让它填 | 给它 北京市朝阳区有哪些▢▢医院?,它填出 三甲 |
注意:它填完就没有下文了。 它不能接着往下写出一份医院名单—— 这不是它水平不够,是这种练法决定的。
做法三:只看上文那一种,一步,但这一步会一直走下去
| 第几步 | 手上已有的条件 | 写下来的 |
|---|---|---|
| 1 | 北京市朝阳区有哪些三甲医院? | 北 |
| 2 | 北京市朝阳区有哪些三甲医院?北 | 京 |
| …… | 每一步把上一步写下的字并进条件 | 一直写到它认为该停 |
三种做法的分野在最后一列:前两种只能取或填,第三种能造。
4. 但当年,能造的那一种输得很惨
这一节讲一件反直觉的事:走通的那条路,当年在所有比赛项目上都是输的。
原因就在第 2 节那张表:当年的比赛项目是文本分类、匹配这些细分技能, 而**「能不能生成新内容」不是当年的比赛项目**11。
于是:第一代和第二代因为要保留生成能力,选择了只有上文信息的单向编码, 在文本分类、匹配这些细分技能上被 BERT 抛在后面12。
2018 年那一年的局面,书里写得很直白: BERT 在许多传统项目上的表现全面碾压第一代13, 于是国内外的学术机构和科技公司纷纷将重兵投入 BERT 方向, 只有人才过剩的大企业还留下小部分团队跟进14。
从产业角度看,这个选择完全理性。 书里说: 通过预测下一个词就能理解世界、走向通用智能,这个思路在理论上无法证伪—— 就是「你举不出一个反例来把它否掉」——但成功概率极低; 而年复一年攻克单项任务、完成原来那套年度考核,是更稳妥的选择15。
这就是这一章标题的由来:一条少有人走的路16。
5. 转机:它没学过翻译,却会翻译了
这一节讲那条路上第一个可以被称为证据的东西。
第二代把训练数据量提了近 10 倍、可调的数提了 10 多倍17, 结果出现了一件计划外的事:它莫名其妙学会了几种技能,比如文本摘要和翻译18。
为什么这件事值得大惊小怪? 因为在那之前,翻译模型都要用平行语料来训—— 就是「我爱你」配「I love you」这种一一对应的两份文本, 专门为翻译任务大量训练19。
而第二代没有用这种一一对应的两份文本,就学会了翻译。 书里管这种「一个例子都没给就会了」的现象叫零样本20, 并说这是从来没有发生过的事。
这一步在主走查上占哪一格? 它不在上面那三种做法里—— 它是「做法三」走到足够大之后冒出来的新格子。 (这类「突然会了」后来有了正式名字,第 05 章讲。)
6. 但那时它很弱,而且差的不是算力
这一节把两件容易被后来者美化的事说清楚。
第一件:当时的翻译水平很低。 书里毫不客气:虽然一不小心学会了翻译, 但水平还很低,跟专业翻译模型没法比21;剧里那个外行角色的评价是 「这『降龙十八掌』还是乞丐版的」22。
第二件,也是这一章真正的落点:差的那样东西不是技术。
书里给了一个时间对照,非常锋利: 1986 年那位后来的图灵奖得主就在《自然》杂志上发表过同一个核心思想—— 预测句子的最后一个词。可他当年只能用 112 个句子的数据 (其中 104 句作训练、8 句作测试),而且 1986 年连英伟达公司都还没成立23。
然后是那句话:「比算力和数据更短缺的,是相信。」24 书里还引了他 2023 年的回忆:那时候如果你声称需要更多的算力和数据才能让模型有用, 别人会嘲笑你,觉得你在给自己的失败找借口25。
第三代把规模放大百倍之后,从量变到质变26,这条路才被业界认可。 而那位首席科学家的总结是: 「在你拥有大规模的高质量数据和算力之后,你还需要相信。」27 (这句话在全书末尾还会再出现一次,第 20 章讲。)
7. 作者的判断与证据
这一节把这一章里几种性质不同的说法分开。
| 说法 | 性质 |
|---|---|
| 两种盖法的技术差别、当年的比赛项目 | 事实,而且在扩展阅读里给了细节 |
| 2018 年重兵投向另一边 | 事实,产业界当时的公开状况 |
| 1986 年的 112 个句子、104/8 的划分 | 事实,而且带年份可核 |
| 「孤身走暗巷」「对峙过绝望」这类说法 | 修辞。是作者借流行歌词写的抒情段落 |
| 「这种坚持才是通用智能最重要的来源」 | 作者的判断,不是可验证的结论 |
| 「成功概率极低但无法证伪」 | 作者对当年产业心态的复盘,事后视角 |
必须点破的一处:这一章有很强的事后叙事色彩。 书里把这条路写成「孤勇者的坚持」,但同一段也承认了: 留在这条路上的是人才过剩的大企业里的小部分团队14。 「有余力试错」和「孤勇」不是一回事,这一层书里没有展开。
8. 边界与局限
- 书里没讲 Transformer 内部是什么。 全书讲清「它的核心机制是什么」只在代序里有一次; 原书正文里只在它自己的第 14 章把那篇奠基论文的名字当某人的履历带过一次(见第 07 章第 6 节), 连一张图都没有。
- 书里没讲两种练法在数学上为什么此消彼长。 只有结果的对比,没有原因。
- 「零样本」这个现象书里只给了翻译一个例子,而且全书再没有第二个。 第 05 章那些「突然会了」的例子讲的是另一件事——过了某个规模才冒出来的能力, 不是「一个例子都没给就会」。这两件事在书里挨着出现,极容易被读成一件。
- 书里对 BERT 后来的处境没有交代。 它在 2019 年之后仍有大量变体和应用, 书里在这一章之后就再没提过。
9. 可带走的
- 老一代聊天机器人的答案是事先写好的:先归类,再抽条件,再去库里取。
- 同一道题有两种盖法:全盖住只看上文往下写,和中间挖空两头都看。
- 完形填空那种拿分高,但它写不出下文——不是水平问题,是练法决定的。
- 2018 年,能写下文的那一种在所有比赛项目上都输。
- 转机是一次计划外的事:没给一个例子,它却会翻译了。
- 1986 年那个思想就有了,差的是 112 个句子和一块还不存在的显卡。
- 书里给的最终答案是一句不像技术书的话:你还需要相信。
10. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| ChatGPT 四个字母的拆解 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:13(搜「会 聊天的生成式预训练」) · text/05-ch03-03-chatgpt.txt:18(搜「每个词都代表了咱们的一门功夫」) |
| 生成式:单向编码单向预测 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:233(搜「单向编码、单向预测」) |
| BERT 的双向编码 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:237(搜「他的B」) |
| 只有能生成的才写得出新内容 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:247(搜「只做完形填空」) · text/05-ch03-03-chatgpt.txt:249(搜「只有咱们能干」) |
| 当年比什么 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:254(搜「当年都在比各种专业细分的技能」) |
| 检索式的三步 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:268(搜「先用文本分类」) · text/05-ch03-03-chatgpt.txt:270(搜「这也叫检索式」) |
| 固定可控、不敢用生成式 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:277(搜「回答的内容固定可控」) |
| 被抛在后面、少有人走的路 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:285(搜「细分技能上被BERT抛在后面」) · text/05-ch03-03-chatgpt.txt:289(搜「一条少有人走的路」) |
| 零样本学会翻译 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:298(搜「例如文本摘要和翻译」) · text/05-ch03-03-chatgpt.txt:302(搜「就学会翻译了」) |
| 1986 年的 112 个句子 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:422(搜「只能使用112」) · text/05-ch03-03-chatgpt.txt:424(搜「连英伟达公司都还没成立」) |
| 比算力和数据更短缺的是相信 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:426(搜「比算力和数据更短缺的」) · text/05-ch03-03-chatgpt.txt:461(搜「在你拥有大规模的高质量数据和算力之后」) |