大模型训练完全指南:从“文盲”到“AI助手”的进化之路
写在前面
你有没有好奇过,ChatGPT、Claude这些AI助手到底是怎么训练出来的?为什么它们能听懂人话、回答问题、写代码,甚至陪你聊天?
今天,我就用最通俗的大白话,带你完整走一遍大模型的“成长之路”。从一张白纸到博学多才,从不会聊天到善解人意,这背后是一套精妙的训练流水线。
一句话先剧透:整个训练过程就像“先疯狂读书,再学习怎么考试,最后琢磨怎么把话说得漂亮”。
第一阶段:预训练——让模型“读万卷书”
这个阶段在做什么?
预训练的核心任务极其简单:让模型学会“猜下一个词”。
比如给它看“肚子饿了,要___”,它得猜出“吃饭”。猜对了就强化,猜错了就修正。就这么一个简单的游戏,重复几万亿次。
数据从哪里来?
整个互联网!网页、书籍、论文、代码……只要是文字,通通喂给模型。数据量有多大?10万亿到15万亿个Token(一个Token大约0.75个英文单词)。
成本有多高?
几千万到上亿美元。这就是为什么大模型被称为“烧钱游戏”。
这个阶段的产出是什么?
一个知识渊博但不太好用的“基础模型”。它知道很多知识,能续写文章、补全代码,但不会好好回答问题——你问“怎么做蛋糕”,它可能给你续写一篇蛋糕的历史。
核心机制:自注意力、自监督机制
Transformer结构的核心是自注意力机制,它让模型在处理一个词时,能一次性“看到”句子里的所有其他词,并算出每个词的重要程度。
比如处理“小明在操场踢足球,他摔倒了”中的“他”时,模型会自动计算:“他”和“小明”的关联度95%,和“操场”只有2%。于是“知道”了“他”指的是“小明”。
自监督机制:是指模型在训练过程中,会将海量的知识,通过自监督算法(自己将部分内容隐藏,模型预测隐藏的内容,然后通过预测的内容和标准内容,基于损失函数和梯度下降方式)进行学习和不断调整参数。
怎么“悟”出来关联度的?
模型不是真的在“思考”。它的“悟”,本质上是基于海量数据的概率统计。
-
它看过上亿次“下雨”后面跟着“带伞”
-
于是它“学会”了:当看到“下雨”时,下一个词是“带伞”的概率最高
它不是理解了因果关系,只是找到了统计规律。
训练的核心算法:梯度下降
模型初始状态,所有词的向量都是随机的,分不清“猫”和“狗”。训练过程就是不断微调:
-
模型猜词
-
计算误差
-
反向传播算出差了多少
-
梯度下降告诉模型往哪个方向改
-
重复几万亿次
最终,“猫”和“老鼠”的向量被拉到一起,“猫”和“香蕉”被推开。相关性被“挤压”成了坐标上的邻近性。
第二阶段:SFT(监督微调)——教模型“好好说话”
为什么要做SFT?
预训练出来的模型是个“学霸”,但不是个好“客服”。它的问题是:
-
不会问答:你问问题,它可能给你续写背景知识
-
不会对齐:可能输出有害、偏见的内容
-
不懂格式:不知道什么时候该列点、什么时候该总结
SFT怎么做?
核心逻辑:模仿学习
准备大量“问题-标准答案”配对数据,格式如下:
text
用户:你是一个专业的客服助手,请帮我查询订单号12345的物流信息。助手:好的,我帮您查询。订单12345目前正在派送中,预计今天下午送达。
模型看到用户:...,然后学习预测助手:...。训练方式和预训练一模一样,还是“猜下一个词”,只是换成了高质量问答数据。
数据量有多大?
-
小模型(几亿参数):几万条就够了
-
大模型(几百亿参数):100万~1000万条
为什么小数据能撬动大模型?
预训练已经储备了所有知识,SFT只是教会模型“在什么场景下用什么知识”。
就像你已经有一把瑞士军刀(所有工具都在),SFT只是告诉你:切东西用刀片,开瓶子用开瓶器。不需要重新造工具。
第三阶段:RLHF vs DPO——让模型“说得更好”
为什么要做这个阶段?
SFT让模型学会了“怎么答”,但没学会“怎么答更好”。比如:
-
同样一个问题,有的回答简洁,有的啰嗦
-
有的礼貌,有的生硬
-
有的安全,有的有风险
这个阶段的目标就是:让模型学会区分“好回答”和“坏回答”。
目前有两种主流方法:RLHF(老方法)和DPO(新方法)。
RLHF:基于人类反馈的强化学习
怎么做?
第一步:训练一个“裁判模型”
让人给大量回答打分(好/坏),然后用这些数据训练一个单独的“裁判模型”。这个裁判学会了对任何回答自动打分。
第二步:用强化学习训练大模型
大模型写回答 → 裁判打分 → 根据分数调整模型参数 → 反复迭代
为什么容易“训飞”(训练崩溃)?
RLHF有三个致命问题:
-
探索风险高:模型需要“尝试”新回答,可能一步踩进悬崖,参数被大幅调整后崩溃
-
裁判是静态的:裁判模型训练好后就不更新了,大模型可能“钻空子”——比如裁判喜欢长回答,模型就开始无限啰嗦
-
超参数极敏感:学习率、KL系数等一堆参数,调不好就崩
类比:RLHF是在悬崖边走路,一步走错就掉下去。
数据量需求
训练裁判模型需要约27万条人类标注的偏好对。这还只是“及格线”。
DPO:直接偏好优化
为什么会出现DPO?
RLHF太复杂、太贵、太不稳定。工程师们想:能不能绕过“训练裁判+强化学习”,直接用偏好数据训练大模型?
答案是:能。
DPO怎么做?
核心逻辑:把“偏好”直接翻译成损失函数
准备数据(和RLHF一样):(问题, 好回答, 坏回答)
训练时,损失函数告诉模型:“好回答的分数要高于坏回答”。模型通过一次反向传播就学会了。
为什么DPO不会崩溃?
三个保护机制:
-
不需要探索:模型不生成新内容,只是“模仿”已有的好回答,没有踩坑风险
-
没有裁判可钻空子:直接学好回答的样子,不需要猜测“裁判喜欢什么”
-
自带安全带:损失函数会自动约束模型,不让它偏离太远
类比:DPO是在平地上走路,每一步都稳稳当当。
数据量需求
只需要1万~10万条静态偏好对,就能看到明显效果。
RLHF vs DPO:一张表看懂
|
|
|
|
|---|---|---|
| 核心思路 |
|
|
| 需要几个模型 |
|
|
| 训练稳定性 |
|
|
| 数据量需求 |
|
|
| 实现复杂度 |
|
|
| 超参数 |
|
|
| 效果 |
|
|
现在主流用哪个?
DPO逐渐成为主流。因为大多数场景不需要RLHF那一点点“上限提升”,稳定、简单、便宜更重要。
目前ChatGPT、Claude等模型实际上混合使用多种方法,但DPO的占比越来越大。
完整训练流程总结
text
预训练 → SFT → DPO/RLHF
|
|
|
|
|
|
|---|---|---|---|---|
| 预训练 |
|
|
|
|
| SFT |
|
|
|
|
| DPO/RLHF |
|
|
|
|
你可能还想知道的几个问题
模型真的“理解”了语言吗?
没有。它的所有“理解”本质上是数学概率。它不知道“为什么下雨要带伞”,但它在几十亿次训练后“知道”:提到“下雨”,下一个词是“带伞”的概率最高。
那它怎么“记住”东西的?
它不存任何具体的词。所有知识都融化在几千亿个参数(数字)里。就像一个超级章鱼,每个触手都感知着词与词之间的关系。最终形成一个无比复杂的“关系地图”。
提示词为什么重要?
提示词就是给模型的“工作说明书”。没有提示词,模型不知道“你是谁、你要它干什么”。
比如你直接问“订单物流信息”,模型不知道你是用户(想要真实信息)还是测试人员(想要模拟信息)。加上“你是一个客服助手”,模型就知道该用什么身份、什么语气回答。
为什么有些模型可以直接问?
因为它们有默认的系统提示词(比如“你是一个乐于助人的AI助手”),或者经过了高级训练学会了“自动推断”你的意图。
写在最后
大模型的训练,本质上是一个从“统计规律”到“智能行为”的涌现过程。
-
预训练让模型学会了语言的统计规律
-
SFT让模型学会了对话的格式
-
DPO/RLHF让模型学会了人类的偏好
三者叠加,再加上海量数据、巨额算力、精妙算法,才有了今天这些能写诗、能编程、能陪你聊天的AI助手。
当然,这套流程还在快速演进。也许明天就会有更高效的新方法出现。但理解了这个底层逻辑,你就已经超越了99%的人。
夜雨聆风