系列文章:AI大模型知识体系 | 第二篇


引言:大模型不是"训一次"就完事的

很多人第一次听说 ChatGPT、文心一言、通义千问这些大模型的时候,会以为它们是"一次性训练出来的"——把数据丢进去,训练完就能用了。

其实完全不是这样。

一个真正好用的大模型,至少要经历 三个阶段的"教育",就像一个人从学校走向职场一样:先上大学打基础,再接受职业培训学技能,最后去实习被师傅纠正做事方式。

这三个阶段分别是:

  1. 预训练(Pre-training)—— 通识教育,大量阅读,建立知识储备

  2. 监督微调(Supervised Fine-Tuning, SFT)—— 职业培训,学会按要求回答问题

  3. RLHF(人类反馈强化学习)—— 实习打磨,根据人类反馈不断优化表现

今天我们就来逐一拆解这三个阶段,看看每个阶段到底在做什么,为什么缺一不可。即使你没有AI背景,只要会写代码,这篇文章也能让你看懂。


一个类比串起三个阶段

在深入技术细节之前,先把下面这张表记住,后面会反复用到:

训练阶段

类比

核心目标

预训练

上大学,博览群书

学到语言规律和世界知识

SFT

入职培训,跟着模板学

学会"别人问什么,我怎么答"

RLHF

实习期,被师傅纠正

学会"怎么答得更好、更安全、更有用"

你可以把最终的大模型想象成一个毕业生:大学读了海量书籍(预训练),入职后跟着培训手册学会了标准工作流程(SFT),实习时被师傅反复纠正,终于变成了一个靠谱的员工(RLHF)。

好,下面我们逐个展开。


一、预训练(Pre-training):读遍互联网的"通识教育"

训练目标:下一个词预测

预训练的核心任务,说出来你可能觉得太简单了——猜下一个词

技术上叫 Next Token Prediction(下一个Token预测)。给模型一段文字,让它预测下一个最可能出现的词(Token),然后不断往后续写。

打个比方,这就像语文考试里的 完形填空

"今天天气真好,我们去公园___。"

模型需要预测出"散步""玩""跑步"之类的答案。训练的时候,系统拿海量文本,不断遮住后面的内容让模型去猜,猜对了就奖励(更新参数让模型更准),猜错了就惩罚。

用稍微正式一点的写法:

$$P(x_t \mid x_1, x_2, \dots, x_{t-1})$$

别被公式吓到,它说的就是一句大白话:在已知前面所有词的情况下,下一个词出现的概率是多少。 模型的目标就是把这个概率学得越准越好。

你可能会问:就这么简单的任务,能学到什么?

答案是:学到非常多。为了准确预测下一个词,模型不得不学会语法、逻辑、事实知识、推理能力甚至代码编写。比如要预测"Python 中用 ___ 关键字定义函数",模型就必须知道答案是 def,这就倒逼它学会了编程知识。再比如要预测"中国的首都是___",模型就必须知道答案是"北京"。

完形填空做得多了,模型自然就"博学"了。

数据从哪来

预训练的数据量是惊人的,主要来源包括:

  • 互联网网页:Common Crawl 等网页数据集,动辄数十万亿词

  • 书籍和论文:维基百科、arXiv 论文、电子书

  • 代码仓库:GitHub 上的公开代码

  • 对话和问答数据:Reddit、StackOverflow 等

以 GPT-3 为例,它的预训练数据规模大约是 3000 亿个 Token(你可以粗略理解为 3000 亿个词),而更新的模型如 LLaMA 2 使用的数据量更是达到了 2 万亿 Token。这是什么概念呢?如果一个人每天读 10 万字,读完 2 万亿字需要大约 5 万年。

训练有多贵

预训练是最烧钱的阶段。训练一个 GPT-4 级别的模型,据业界估算:

  • 需要数千张高端 GPU(如 A100/H100)

  • 训练时间以 为单位

  • 单次训练成本在 数千万到上亿美元

这也是为什么只有大公司才玩得起基座模型——光是电费就是一笔天文数字。不过好消息是,我们大多数人不需要从头预训练,可以直接在开源的基座模型(如 LLaMA、Qwen、Mistral 等)上做微调,成本会低很多。


二、监督微调(SFT):从"续写机器"变成"问答助手"

为什么需要SFT

预训练出来的模型有一个很大的问题:它只会续写,不会好好回答问题。

如果你对预训练模型说:"帮我写一个Python排序函数。"它可能不会直接给你代码,而是续写出类似"帮我写一个Python排序函数。好的,我来帮你。以下是另一个用户的问题:帮我写一个Java排序函数……"这样不断往下接龙的内容。

为什么?因为预训练的训练方式就是"续写下一个词",模型只学会了"接着往下写",根本不知道什么叫"回答用户的问题"。这就好像一个人读了一辈子书,但你问他一个问题,他只会继续念书上的内容,不会组织语言回答你。

SFT(Supervised Fine-Tuning,监督微调)就是来解决这个问题的。

指令数据集长什么样

SFT 的核心思想简单粗暴:给模型看大量的 "问-答"示范,让它学会"别人怎么问,我就怎么答"。

这些数据叫做 指令数据集(Instruction Dataset),每一条通常长这样:

{
  "instruction": "将以下句子翻译成英文",
  "input": "今天天气真好",
  "output": "The weather is really nice today."
}
{
  "instruction": "用Python写一个计算斐波那契数列的函数",
  "input": "",
  "output": "def fibonacci(n):\n    if n <= 1:\n        return n\n    return fibonacci(n-1) + fibonacci(n-2)"
}
{
  "instruction": "总结以下文章的核心观点",
  "input": "(一段长文)",
  "output": "文章主要讨论了……核心观点是……"
}

你看,本质上就是人工写了很多高质量的"问答模板",让模型照着学。一般需要几万到几十万条这样的数据,就能让模型的行为发生质的变化——从一个"只会续写的文本生成器"变成一个"能正常对话的AI助手"。

SFT 的训练成本比预训练低得多(数据量小、训练时间短),一张消费级显卡(如 RTX 4090)配合 LoRA 等高效微调方法,个人开发者也能跑起来。效果是立竿见影的。


三、RLHF:请个"人类家教"来打分

SFT还不够好

经过 SFT 之后,模型已经能正常回答问题了,但还有几个头疼的问题:

  • 回答质量参差不齐:有时候一本正经地胡说八道(术语叫"幻觉")

  • 安全性不够:可能会回答一些危险或有害的问题

  • 不知道"好不好":模型只学会了"这样回答",但不知道"哪个回答更好"

RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习) 就是来解决这些问题的。

用"请家教打分"来理解

想象你在辅导一个学生写作文:

  1. 学生(模型)针对同一个题目写出好几篇作文

  2. 家教(人类标注员)看完后打分:"这篇8分,那篇6分,这篇只有3分"

  3. 根据打分反馈,学生不断调整自己的写作方式——往高分方向靠

RLHF 就是这个过程的自动化版本,只不过"学生"是AI模型,"家教"是一大群人类标注员。

奖励模型(Reward Model)

RLHF 的第一步是 训练一个奖励模型(Reward Model)

怎么训呢?先让 SFT 后的模型对同一个问题生成多个不同回答,然后让人类标注员来比较哪个更好。比如:

问题:"如何学习编程?"

回答A:"建议从Python入门,先学基础语法,再多写项目练手,推荐从简单的计算器、待办事项应用做起……"(详细、有条理、积极正向)

回答B:"编程很难的,不建议学,学了也找不到工作。"(敷衍、消极、误导性)

人类标注员会标记:A 比 B 好。

收集大量这样的"谁比谁好"的偏好数据后,就能训练出一个 奖励模型。这个奖励模型就像一个自动化评分老师——你给它任何一段问答,它能自动打分,不再需要人类每次都来标注了。

PPO:让模型朝高分方向进化

有了奖励模型之后,就可以用强化学习来优化大模型了。最常用的算法叫 PPO(Proximal Policy Optimization,近端策略优化)

你不需要理解 PPO 的数学细节,只要记住它的核心思路,用大白话说就是:

让模型生成回答 -> 奖励模型打分 -> 分数高的回答方式就加强,分数低的就削弱 -> 反复迭代

就像训练宠物一样:做对了给零食,做错了不给。经过成千上万次迭代,模型的回答质量就会稳步提升——变得更详细、更准确、更安全。

RLHF 是 ChatGPT 成功的关键因素之一,OpenAI 将其称为让模型做到"三个H"的核心技术:有用(Helpful)、无害(Harmless)、诚实(Honest)


四、DPO:一种更简单的替代方案

RLHF 虽然效果好,但流程实在复杂:需要先训一个奖励模型,再跑 PPO 强化学习,中间涉及多个模型的协调训练,工程难度大,超参数多,调参令人头秃。

2023 年,斯坦福团队提出了 DPO(Direct Preference Optimization,直接偏好优化),核心思想非常优雅:跳过奖励模型的训练,直接用人类偏好数据来优化模型。

DPO 把 RLHF 的"训练奖励模型 + PPO 优化"两步合并成了一步。它直接利用"哪个回答好、哪个回答差"的对比数据来更新模型参数,让模型一步到位地学会"好的回答"。

用表格对比一下:

方案

流程

复杂度

模型数量

RLHF

人类偏好 -> 训奖励模型 -> PPO优化

4个(策略、参考、奖励、评论)

DPO

人类偏好 -> 直接优化模型

2个(策略、参考)

DPO 的优势很明显:实现简单、训练稳定、资源需求更低。目前很多开源模型的训练都已经开始采用 DPO 或其变体(如 IPO、KTO、ORPO)来替代传统的 RLHF。

当然,RLHF 在某些场景下效果上限可能更高,两者各有取舍。但对大多数个人开发者和中小团队来说,DPO 是更实际的选择。


总结:三阶段训练全景图

最后,我们用一张全景图来回顾整个训练流程:

┌─────────────────────────────────────────────────────────────────┐
│                    大模型训练三阶段全景图                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  第一阶段:预训练(Pre-training)                                 │
│  ├─ 目标:学会预测下一个词(完形填空)                             │
│  ├─ 数据:万亿级Token(网页、书籍、代码)                          │
│  ├─ 成本:数千万美元,数千GPU                                     │
│  └─ 产出:基座模型(能续写,但不会好好对话)                       │
│         │                                                       │
│         ▼                                                       │
│  第二阶段:监督微调(SFT)                                       │
│  ├─ 目标:学会按要求回答问题(问答培训)                           │
│  ├─ 数据:几万~几十万条问答示范                                   │
│  ├─ 成本:相对较低,单GPU+LoRA可完成                              │
│  └─ 产出:对话模型(能正常聊天,但质量不稳定)                     │
│         │                                                       │
│         ▼                                                       │
│  第三阶段:RLHF / DPO                                           │
│  ├─ 目标:让回答更好、更安全、更符合人类偏好                       │
│  ├─ 数据:人类偏好标注数据(哪个好、哪个差)                       │
│  ├─ 成本:中等                                                   │
│  └─ 产出:对齐模型(靠谱、好用、安全的AI助手)                     │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

所以,下次有人问你"大模型是怎么训练出来的",你可以用一句话回答他:

先上大学读很多书(预训练),然后参加入职培训学会回答问题(SFT),最后在实习中被师傅不断纠正(RLHF/DPO),最终才能成为一个靠谱的AI助手。

这三个阶段,层层递进,缺一不可。


下一篇预告

在下一篇文章中,我们将深入大模型的"大脑"——Tokenizer(分词器),看看模型是怎么把人类的文字变成数字的。什么是 BPE?为什么中文和英文的 Token 数量差这么多?敬请期待。


如果这篇文章对你有帮助,欢迎点赞、收藏、关注三连!有问题欢迎评论区讨论~

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐