读遍全网的 AI,为什么还不会聊天?——ChatGPT 多做了两件事
上一篇我们讲了”猜下一个词”这个简单目标为什么能产生惊人的力量——要猜得准,模型被迫学会了语法、常识、逻辑、事实。
但有一个问题:
预训练完的模型,就像一个读遍了图书馆所有书的人——博学,但不好用。
你让它续写一篇文章,它能写;但你让它”帮我总结一下”,它可能会继续往下写而不是总结;你让它”不要编造事实”,它照样一本正经地胡说。
为什么?因为预训练只教了它一件事:像互联网上的文本一样续写。 它从来没学过”听指令”、”按格式回答”、”不编造”这些事。
怎么办?给它补课。
三个阶段,三次蜕变
造一个大模型,不是”训练一次就完事”。它要经历三个阶段,每一个阶段都解决上一个阶段留下的问题:
预训练(通识教育) ↓问题:博学但不好用 微调(职业培训) ↓问题:会用但不够安全 对齐(品德教育) ↓结果:博学、好用、安全
下面逐个讲。
第一阶段:预训练——通识教育
做了什么
给模型看海量的文本——网页、书籍、论文、代码、对话……让它做亿万道”猜下一个词”的题。
上一篇已经详细讲过了,这里不再重复。只需要记住预训练的结果:
模型变成了一座移动的图书馆——它读过了人类几乎所有的公开文本,记住了天文地理、唐诗宋词、编程语言、烹饪技巧……
预训练的成果
|
能力 |
程度 |
|
语言流畅度 |
非常好,能写通顺的句子 |
|
知识广度 |
极广,覆盖几乎所有领域 |
|
遵循指令 |
不行,它会自由续写而不是听你指挥 |
|
回答格式 |
不行,它不知道什么叫”问答格式” |
|
安全性 |
不行,它什么都会续写,包括有害内容 |
预训练的致命问题
预训练模型的最大问题,用一个例子就能说清:
你:请帮我用三句话总结《红楼梦》 预训练模型可能的回答: 《红楼梦》是中国古典四大名著之一……(开始写一篇关于红楼梦的续写)
它不是在”回答你的问题”,它在续写一段看起来像你说的话后面应该接的内容。它根本不知道”请帮我”是一个指令,也不知道”三句话”是一个约束。
🔑 预训练的本质:模型学会了”像互联网文本一样说话”,但没学会”像一个助手一样听话”。
第二阶段:监督微调(SFT)——职业培训
做了什么
给模型看大量的**”指令-回答”对**,教它从”自由续写”变成”听指令办事”。
具体来说,人工编写(或收集)大量这样的样本:
指令:请帮我用三句话总结《红楼梦》 回答:《红楼梦》是曹雪芹所著的古典小说,以贾宝玉和林黛玉的爱情悲剧为主线。 它通过贾府的兴衰,展现了封建社会末期的百态人生。 作品以细腻的笔触刻画了数百个人物,被誉为中国古典文学的巅峰之作。
指令:把下面的句子翻译成英文:今天天气真好 回答:The weather is really nice today.
指令:Python 怎么读取 CSV 文件? 回答:可以使用 pandas 库:\nimport pandas as pd\ndf = pd.read_csv(‘file.csv’)
模型在这些样本上继续训练,学会了:当用户给你一个指令,你应该按要求回答,而不是自由续写。
类比:从”读书人”到”职场人”
|
预训练后 |
SFT 后 |
|
|
类比 |
刚读完万卷书的学者 |
经过岗位培训的职场人 |
|
你说”帮我总结” |
继续往下写文章 |
按要求写一段总结 |
|
你说”翻译一下” |
可能写一段关于翻译的讨论 |
把内容翻译出来 |
|
你说”写个代码” |
写一段关于编程的散文 |
写出可运行的代码 |
🔑 SFT 的本质:模型没变聪明,但学会了如何表现它的知识——按指令回答,按格式输出,像一个有用的助手。
SFT 的做法更细节一点
SFT 用的数据通常有几种来源:
1人工编写:雇人写高质量的指令-回答对,最贵但质量最高
2用户对话:从真实用户和模型的对话中筛选好的回答
3其他模型生成:选用强的模型生成回答,作为训练数据
数量级:通常几万到几十万条——跟预训练的万亿 Token 比起来,这是很小的数据量。但质量远比数量重要。
SFT 之后还有问题
SFT 教会了模型”怎么听话”,但还有一个问题:
模型学会了按照示例的格式回答,但它不知道什么样的回答是”好”的。
举个例子:
指令:解释一下量子力学 回答A:量子力学是研究微观粒子行为的物理学分支,核心概念包括波粒二象性、不确定性原理和量子纠缠……(准确但枯燥) 回答B:想象一下,你手里有一个小球,但在量子世界里,这个小球可以同时在两个地方!这不是魔术,这是量子力学的奇妙之处……(生动但可能不够严谨) 回答C:量子力学是一种神秘的力量,它可以让你穿越时空……(有趣但完全是胡说八道)
SFT 的训练数据里,三种回答可能都有。模型不知道哪种更好——它只是在模仿训练数据中的模式。
我们需要一种方式告诉模型:A 和 B 都可以接受,但 C 是不行的。
这就是第三阶段要做的事。
第三阶段:对齐——品德教育
做了什么
让模型不仅”会回答”,还要”回答得好”——准确、有帮助、无害。
这个阶段的核心挑战是:“好”是一个主观标准,没法写成明确的训练目标。 你不能用”猜下一个词”的方式来教模型”什么回答是好的”。
方法一:RLHF——用人类反馈训练一个”裁判”
RLHF(Reinforcement Learning from Human Feedback) 的思路分三步:
第一步:收集人类偏好
让人类标注者对同一个问题的多个回答排序:
指令:怎么减肥? 回答A:少吃多运动,控制饮食结构,坚持有氧运动…… 回答B:每天只吃一个苹果,坚持一个月…… 回答C:减肥都是骗局,别信……
人类标注者排序:A > C > B(A 最有帮助,B 有害,C 虽然不好但比 B 强)
第二步:训练奖励模型
用这些偏好数据训练一个”裁判模型”——它能给任何回答打分,反映人类认为这个回答有多好。
裁判打分: 回答A:0.8← 有帮助、无害 回答C:0.2← 没帮助但无害 回答B:-0.5 ← 有害
第三步:用裁判的分数训练主模型
让主模型生成回答,裁判打分,然后用强化学习的方法调整主模型——分数高的行为被鼓励,分数低的行为被抑制。
类比:就像训练一只狗——你没法告诉它”怎么做”,但你可以奖励好的行为、惩罚坏的行为,它就会慢慢学会。裁判就是那个”奖励按钮”。
方法二:DPO——跳过裁判,直接学习
RLHF 有个问题:训练裁判 + 强化学习,流程复杂,工程成本高。
DPO(Direct Preference Optimization) 提出了一个更简洁的思路:
既然我们有人类偏好的对比数据(A 比 B 好),为什么不直接让模型从这些对比中学习?
DPO 不需要训练裁判模型,而是直接调整主模型——让模型给”好回答”更高的概率,给”差回答”更低的概率。
训练信号:在这个问题上,A 是更好的回答 → 模型内部调整:生成 A 的概率 ↑,生成 B 的概率 ↓
类比:RLHF 是先培养一个评委,再让选手根据评委打分来改进;DPO 是直接告诉选手”这个表演比那个好”,选手自己琢磨怎么改进。
方法三:GRPO——让选手们互相比较,不需要评委也不需要裁判
RLHF 和 DPO 各有各的麻烦:
●RLHF:要额外训练一个裁判模型,又贵又复杂
●DPO:不需要裁判,但它只能从固定的偏好数据中学习,没法在训练中”探索”更好的回答
GRPO(Group Relative Policy Optimization,群组相对策略优化) 找到了一条中间路线:
让模型对同一个问题生成多个回答,然后这些回答之间互相比较——谁比平均水平好就奖励,比平均水平差就惩罚。
具体流程:
第1步:给模型一个问题,让它生成一组回答(比如8个) 问题:”怎么学编程?” 回答1:”从 Python 开始,先学基础语法……” 回答2:”编程很难,不建议自学……” 回答3:”直接去看源码,别看教程……” …… 回答8:”先确定你想做什么项目,再针对性地学……” 第2步:用奖励信号给每个回答打分 – 数学题:用规则自动判对错 – 编程题:跑测试用例 – 其他:用奖励模型打分 第3步:组内比较——跟这组的平均水平比 回答1 得分 0.6,平均 0.4 → 高于平均 → 正向激励 回答2 得分 0.1,平均 0.4 → 低于平均 → 负向抑制 回答8 得分 0.8,平均 0.4 → 远高于平均 → 强正向激励 第4步:根据比较结果调整模型
GRPO 和 RLHF(PPO)的关键区别:不需要单独训练一个跟主模型一样大的”评论家”(Critic)模型。PPO 需要一个 Critic 来估计”基线”——也就是回答的平均水平;GRPO 直接用同一组回答的平均分作为基线,省掉了一个大模型的开销。
类比:PPO 是请了一个专业评委给每个选手打绝对分数;GRPO 是让同一组的选手互相比——你比组内平均分高,就说明你不错。不需要评委,选手们自己就能分出高下。
|
RLHF(PPO) |
DPO |
GRPO |
|
|
需要裁判/评委模型? |
需要(Critic) |
不需要 |
不需要 |
| 训练时能试新回答? |
能(边试边学) |
不能(用固定数据) |
能(边试边学) |
|
额外训练成本 |
高(Critic 跟主模型一样大) |
低 |
低(不需要 Critic) |
|
代表模型 |
GPT-4、GLM-4 |
学术界/小模型常用 |
DeepSeek-V3、Qwen2.5、Qwen3 |
GRPO 是 DeepSeek 团队在 2024 年提出的,随后被 Qwen 团队采用,已经成为国产大模型对齐的主流方法。
对齐的效果
|
SFT 后 |
对齐后 |
|
|
编造事实 |
经常编造 |
大幅减少(但不完全消除) |
|
有害内容 |
可能输出 |
基本拒绝 |
|
拒绝能力 |
不会拒绝不合适的请求 |
能礼貌拒绝 |
|
回答质量 |
参差不齐 |
更稳定、更有帮助 |
|
“说教”倾向 |
无 |
有时过度拒绝(对齐税) |
对齐税:安全与能力的微妙平衡
对齐不是免费的。模型为了”安全”,有时会过度谨慎:
你:帮我写一个惊悚故事的开头 对齐后的模型:抱歉,我不能帮你写包含暴力或恐怖元素的内容……
这个现象叫对齐税(Alignment Tax)——模型在变得更安全的同时,可能在某些能力上有所折损:
●过度拒绝:对完全合理的请求也说不
●风格趋同:回答变得四平八稳,缺乏个性
●创造力下降:因为”安全”的优先级高于”有趣”
这是一个活跃的研究领域:如何在保证安全的同时,最小化能力损失? 目前没有完美答案。
🔑 对齐的本质:给博学的人上了一堂”什么该说、什么不该说”的品德课。课上得不够,会闯祸;课上得太多,变成老好人。
三阶段的全景图
把三个阶段放在一起看:

三个阶段,三句话总结
|
阶段 |
类比 |
一句话 |
|
预训练 |
通识教育 |
读遍天下书,学会说话 |
|
SFT |
职业培训 |
学会按要求办事,像助手一样回答 |
|
对齐 |
品德教育 |
学会分寸——什么该说,什么不该说 |
一个常见的误解
有人认为:对齐只是”加了个安全滤镜”,本质上模型没变。
不完全对。
对齐确实没有给模型增加新知识——模型的知识几乎全部来自预训练。但对齐改变了模型的行为模式:
●预训练模型知道答案,但可能会继续往下写而不是回答你
●SFT 后的模型知道答案,但可能会编造不确定的内容
●对齐后的模型知道答案,会在有把握时回答,没把握时说明不确定性
对齐让模型的已有知识以更可靠、更有帮助的方式呈现出来——不是加滤镜,而是调焦距。
下一篇预告
经过三段式修炼,我们有了一个博学、好用、安全的大模型。但它的能力边界仍然有限——它只能”说话”,不能”做事”。
它不能上网查最新的信息,不能帮你计算复杂的数学题,不能执行代码,更不能自主规划行动步骤。
如果给大模型装上”手脚”——让它学会查资料、用工具、自主行动——会怎样?
下一篇,我们讲大模型作为世界上最聪明的大脑,居然连今天几度都不知道,该怎样让AI从”只会说话”进化到”能做事情”。
💡 思考题
SFT 教模型”听指令”,对齐教模型”守分寸”。但如果你是模型设计者,面对以下场景你会怎么选:一个用户让模型帮他写一封措辞强硬的投诉信——这算”有害”还是”合理需求”?模型的”品德标准”应该由谁来定?
欢迎在评论区分享你的想法 👇
夜雨聆风