教它说人话:人在这里面干了什么
这一章讲三件事: 读完海量文字之后还缺什么;补上的那两步各由谁来做; 以及有一种学法完全不改它身上的数,却在你每天使用时一直在发生。
它在全书链条里的位置: 第 02、03 章讲的是「怎么练出内力」。 这一章讲「怎么把内力变成能用的招式」。 全书后面所有关于「怎么问它」的内容(第 11 章), 以及关于「它为什么讨好你」的内容(第 05 章),源头都在这一章。
1. 顶层全景:三步,加一个不算步骤的第四步
这一节给出全章骨架。
书里让那个外行角色做了一次总结,而且总结得很好,我们照着走1:
第一步 海量文字里盖住猜下一个字 → 有了内力,但不会用
(第 02 章讲过)
│
▼
第二步 照着一本人写的《问答宝典》学 → 知道人会问什么、该怎么应
│
▼
第三步 一个替人打分的陪练,反复练 → 回答越来越像人话
│
▼
─────────────────────────────────
第四步 你在聊天里临时举几个例子 → 它当场学会,而且一个数都不改
注意最后一格和前三格之间那条横线:前三步会改变它身上的那些数,第四步不会。 这条横线是本章最要紧的分界。
2. 第二步:一本很薄、但很贵的册子
这一节回答:海量文字都读完了,为什么还要再喂一万多条?
书里的说法很形象:师父交给它一本薄薄的小册子,封面写着「问答宝典」, 里面都是人类精心编写的一问一答的文本2。书里给的例子是:
问:跟女朋友意见不合怎么办? 答:第一,女朋友永远是对的。第二,如果女朋友错了,请参见第一条。3
学法和第 02 章一模一样:把回答文本盖住,看着问题依次预测每一个字, 然后看答案,根据猜对猜错反向调整4。
那它和读书有什么不同? 书里给了两条理由。 第一,来源不同:之前读的书是公开信息,搜集成本低; 而这本册子是人一字一句编写的,很花工夫5。 第二,格式不同:里面都是对话问答,跟普通文章不一样, 学了它,回应才更符合人跟它对话时的预期5。
这种「人给出正确答案、机器照着学」的做法叫监督学习—— 监督的意思就是有人盯着、有人给标准答案。书里说,第一册只有一万多套问答练习6。
而「拿一小撮数据把已经练好的机器再训一遍」这个动作叫微调(英文 fine-tuning)。 书里管这一步的正式做法叫监督微调,缩写 SFT7。 这个名字全书只在这里立一次,第 14 章、第 17 章再提到它时,说的都是同一件事。
3. 第三步:人不写答案了,只排序
这一节讲那个最省人力、也最影响它性格的设计。
一万多套不够学。可要更多,人写不动了。于是书里说,师父想出了第一个偷懒的办法: 让它对同一个问题给出好几个回答,人只对这几个回答打分排序8—— 写答案很累,给答案排序很快。
这种「做得好给奖励、做得差扣分,让它自己往高 分方向调」的练法叫强化学习。 书里说,当年那个下围棋赢了人类冠军的程序,靠的就是这个9。
但排序数据也是有限的。于是有了第二个偷懒的办法:训练一个专门打分的东西来当老师。 奖励模型就是那个替人打分的东西—— 人只需要周期性地补一些新的排序数据给它,让它打的分越来越接近人的偏好, 就不用亲自陪练了10。
因为打分的源头是人,所以这一整套做法叫人类反馈强化学习, 缩写 RLHF——R 是强化、L 是学习、HF 是人类反馈。 书里说,当年第一批打分训练数据就有好几万条11。
第三步的完整循环长这样:
它答一题 → 奖励模型打个分 → 它照着这个分调自己身上的数 → 再答一题
▲
│ 周期性 地补一些人给的排序数据
│
人(只排序,不写答案)
4. 主走查:「女朋友生气了怎么办?」
这是本章的主走查,四步各走一遍。
必须先声明:第 1、2、4 步的回答是我们照书里的机制推演出来的,不是书里的原文。 只有第 3 步的四个答案和那个排序来自书里。 书里在讲第二步时用的真实例子是「跟女朋友意见不合怎么办」3, 讲第四步时用的真实例子是「分析女朋友说话的真实含义」12—— 我们把它们换成同一个问题贯穿,是为了让你看清同一句话在四步之后的变化。
| 第几步 | 这一步之后它会怎么回 | 这一步动了什么 |
|---|---|---|
| 1 预训练之后 | (推演) 顺嘴续写成别的东西:「女朋友生气了怎么办?女朋友生气了怎么哄?男朋友生气了怎么办?」——它在接龙,不是在应答 | 那一堆数被海量文字调过 |
| 2 学完问答宝典 之后 | (推演) 「第一,先别讲道理。第二,把她的话复述一遍……」——形状对了,像个回答 | 那一堆数又被一万多套问答调过 |
| 3 打分陪练之后 | 书里的原文:它给出四个答案——A 给她倒杯热水、B 马上跪下认错、C 跟她讲道理、D 给她买个包包;人按统一评价指南排序:B>D>A>C;它先自己预测四个答案各自的分数,再看人的排序,按预测的对错反向调整13 | 那一堆数被「哪个更讨人喜欢」调过 |
| 4 你在聊天里举例之后 | (推演) 你先给它两个例子(「说『我没事』其实是……」),它就照着这个调调答第三个 | **什么都没动。**答完就忘 |
看第 3 步那个排序:B>D>A>C。 书里那个外行角色当场提出异议: 「我怎么觉得应该是 C>A>B>D?」14
这句吐槽比它看起来重要得多。 它说明: 第三步调出来的不是「对」,是「大多数打分的人喜欢」。 (为什么这一步会长出「一本正经地编」这个毛病,第 05 章讲。)
5. 反直觉的结果:13 亿胜过 1750 亿
这一节给出这一章唯一一个可以横向比 较的数。
书里的原话:用了人类反馈强化学习之后的那一版,虽然只用了 13 亿个可调的数, 但在「听懂并跟随指令」这件事上,它比用了 1750 亿个数的那一版还要好15。 这两版都有名字:小的那一版叫 InstructGPT,被它比下去的大的那一版 就是第 02 章那个 GPT-315。
13 亿对 1750 亿,是一百三十分之一。
书里给这件事起的名字是跟人的意图对齐——就是让它想做的事, 和你要它做的事对上16。同一段还引了一位联合创始人在访谈里的估计: 这一招能顶得上 100 倍的规模17。
这里要泼一盆冷水:那个「100 倍」是访谈里的口头说法,不是实验结论。 书里没有给出实验设置、评测方式,也没说一共测了多少条。可以引用它当直觉,不能拿它当数据。
6. 第四步:在聊天里现学现卖
这一节讲那条横线下面的东西——它每天都在发生,而且不改任何一个数。
书里说,这是生成式独有的一种学习方式:在真实用户聊天的上下文中学习18。 它的正式名字叫上下文学习(英文缩写 ICL)。
书里给的例子很妙,我们照抄它的形式12:
你输入:分析女朋友说话的真实含义。
说「等我五分钟」,真实含义是:你先去转一圈,过半小时回来……
说「没事你接着玩吧」,真实含义是:赶紧退出游戏来陪我,马上!
说「我没事」,真实含义是:你芭比Q了。
说「我又胖了」,真实含义是?
它回答:快夸我好看。
这和第二步的问答宝典像不像? 书里自己回答了这个问题,而且回答得很清楚:
| 第二步(问答宝典) | 第四步(上下文学习) | |
|---|---|---|
| 谁准备数据 | 师父提前准备一批 | 任何一个人在聊天时临时举例 |
| 要多少条 | 至少成百上千才值得学 | 几个就行 |
| 改不改它身上的数 | 改 | 不改19 |
| 花多少算力 | 很多 | 几乎不花 |
| 学完还在吗 | 在 | 用完即止19 |
顺带把一个词讲清楚:你发给它的那段话,行话叫提示语,也叫提示词。 第 11 章整章讲怎么写好它。
「不改任何一个数」这一条,是第 01 章「它不记得你」的另一面。 它在这一轮里学会了你的调调,下一轮换个窗口,它一无所知。
7. 顺手教它一步步想
这一节讲上下文学习的一个特别用法,它后来变成了一门手艺。
书里说,你还可以在提示语里教它拆解任务、教它一步步往下走, 它会马上学会你的逻辑,并在回答里体现出来——这叫思维链20。
它和上一节是同一个口子: 都是把东西写进这一轮的文字里,让它照着办。 区别只在于写进去的是「例子」还是「步骤」。
(把这件事做成一门手艺——什么时候给例子、什么时候给步骤、怎么追问, 第 11 章整章讲。)
8. 作者的判断与证据
这一节把这一章里几种性质不同的说法分开。
| 说法 | 性质 |
|---|---|
| 三步训练的顺序与各自做什么 | 事实,书里在情景剧和扩展阅读里各讲一遍 |
| 一万多套问答、几万条排序数据 | 事实,有具体数量 |
| 13 亿胜过 1750 亿 | 事实,书里点了论文名 |
| 「能顶 100 倍规模」 | 访谈里的口头估计,没有实验 |
| 「就像人类教育孩子:先听大人说话、上学做练习、考试有人打分」 | 作者的类比,不是证据 |
| 「师父偷懒」「无情的他」这类说法 | 剧情。是拟人化的叙述,不是机制 |
必须点破的一处:那个「教育孩子」的类比很好用,但它会误导两件事。 第一,孩子在考试后会理解自己错在哪,而它只是把那一堆数往高分方向挪; 第二,孩子的老师 是同一个人,而它的老师(奖励模型)是被训练出来的另一台机器, 它自己会不会跑偏,书里没有讨论。
9. 边界与局限
- 书里没有讲这三步各花了多少算力、多少钱。 这是产业上最要紧的数, 但要到第 16、17 章才有相关的量级。
- 上下文学习的原理,书里明说业界并不知道。 原文的措辞是: 坦率地说,业界现在并不知道其原理,甚至还有争议,怀疑它到底算不算一种学习21。 书里给了三条黑盒观察,其中一条很反直觉: 提示语里给出错误的标签示例,对效果影响不大22—— 这说明它学的不是「输入配哪个答案」,而是那几个示例长什么样、是什么调调。
- 排序数据的质量与偏见,书里没有讨论。 谁在排序、按什么指南排, 书里只说「根据统一的评价指南规范」,没有展开。
- 书里没有区分「奖励模型打的分」和「人真正的偏好」之间的差距。 这个差距是后面第 05 章那个毛病的直接来源,而书里没有把这条线连起来。
10. 可带走的
- 读完海量文字只是内力,不会应答。 后面两步都要人。
- 第二步是人写的一万多套问答,拿它把机器再训一遍——这个动作叫微调。
- 第三步人不写答案了,只排序;排序训出一个替人打分的陪练,它再陪练下去。
- 第三步调出来的不是「对」,是「大多数打分的人喜欢」。 记住那个 B>D>A>C。
- 13 亿个数的那一版,在听懂指令上胜过 1750 亿个数的那一版。
- 第四步不改它身上任何一个数:你举几个例子它当场学会,用完即止。
- 教它一步步想,叫思维链,和举例子是同一个口子。
11. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| 三步训练的总结 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:610(搜「相当于有了排山倒海的浑厚内力」) |
| 问答宝典与例子 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:509(搜「问答宝典」) · text/05-ch03-03-chatgpt.txt:512(搜「跟女朋友意见不合怎么办」) |
| 一万多套、监督学习 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:532(搜「只有一万多套问答练习」) |
| 监督微调 SFT 的定义 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:700(搜「SFT监督微调是一种特定的迁移学习方法」) |
| 打分排序与四个答案 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:559(搜「女朋友生气了怎么办」) · text/05-ch03-03-chatgpt.txt:565(搜「B>D>A>C」) |
| 奖励模型 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:578(搜「叫奖励模型」) |
| 13 亿胜过 1750 亿 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:599(搜「虽然只用了13亿参数」) · text/05-ch03-03-chatgpt.txt:601(搜「能顶得上100倍」) |
| 上下文学习及其例子 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:633(搜「上下文学习叫」) · text/05-ch03-03-chatgpt.txt:643(搜「分析女朋友说话的真实含义」) |
| 不改参数、用完即止 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:661(搜「ICL并不会修改我的模型参数」) · text/05-ch03-03-chatgpt.txt:663(搜「用完即止」) |
| 思维链 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:676(搜「这叫思维链」) |
| 业界不知道它的原理 | 03 ChatGPT是怎样炼成的 | text/05-ch03-03-chatgpt.txt:763(搜「业界现在并不知道其原理」) · text/05-ch03-03-chatgpt.txt:768(搜「错误的标签示例」) |