乐于分享
好东西不私藏

大模型训练完全指南:从“文盲”到“AI助手”的进化之路

大模型训练完全指南:从“文盲”到“AI助手”的进化之路

一文读懂预训练、SFT、RLHF、DPO到底是什么

写在前面

你有没有好奇过,ChatGPT、Claude这些AI助手到底是怎么训练出来的?为什么它们能听懂人话、回答问题、写代码,甚至陪你聊天?

今天,我就用最通俗的大白话,带你完整走一遍大模型的“成长之路”。从一张白纸到博学多才,从不会聊天到善解人意,这背后是一套精妙的训练流水线。

一句话先剧透:整个训练过程就像“先疯狂读书,再学习怎么考试,最后琢磨怎么把话说得漂亮”。


第一阶段:预训练——让模型“读万卷书”

这个阶段在做什么?

预训练的核心任务极其简单:让模型学会“猜下一个词”

比如给它看“肚子饿了,要___”,它得猜出“吃饭”。猜对了就强化,猜错了就修正。就这么一个简单的游戏,重复几万亿次。

数据从哪里来?

整个互联网!网页、书籍、论文、代码……只要是文字,通通喂给模型。数据量有多大?10万亿到15万亿个Token(一个Token大约0.75个英文单词)。

成本有多高?

几千万到上亿美元。这就是为什么大模型被称为“烧钱游戏”。

这个阶段的产出是什么?

一个知识渊博但不太好用的“基础模型”。它知道很多知识,能续写文章、补全代码,但不会好好回答问题——你问“怎么做蛋糕”,它可能给你续写一篇蛋糕的历史。

核心机制:自注意力、自监督机制

Transformer结构的核心是自注意力机制,它让模型在处理一个词时,能一次性“看到”句子里的所有其他词,并算出每个词的重要程度。

比如处理“小明在操场踢足球,他摔倒了”中的“他”时,模型会自动计算:“他”和“小明”的关联度95%,和“操场”只有2%。于是“知道”了“他”指的是“小明”。

自监督机制:是指模型在训练过程中,会将海量的知识,通过自监督算法(自己将部分内容隐藏,模型预测隐藏的内容,然后通过预测的内容和标准内容,基于损失函数和梯度下降方式)进行学习和不断调整参数。

怎么“悟”出来关联度的?

模型不是真的在“思考”。它的“悟”,本质上是基于海量数据的概率统计

  • 它看过上亿次“下雨”后面跟着“带伞”

  • 于是它“学会”了:当看到“下雨”时,下一个词是“带伞”的概率最高

它不是理解了因果关系,只是找到了统计规律。

训练的核心算法:梯度下降

模型初始状态,所有词的向量都是随机的,分不清“猫”和“狗”。训练过程就是不断微调:

  1. 模型猜词

  2. 计算误差

  3. 反向传播算出差了多少

  4. 梯度下降告诉模型往哪个方向改

  5. 重复几万亿次

最终,“猫”和“老鼠”的向量被拉到一起,“猫”和“香蕉”被推开。相关性被“挤压”成了坐标上的邻近性。


第二阶段:SFT(监督微调)——教模型“好好说话”

为什么要做SFT?

预训练出来的模型是个“学霸”,但不是个好“客服”。它的问题是:

  • 不会问答:你问问题,它可能给你续写背景知识

  • 不会对齐:可能输出有害、偏见的内容

  • 不懂格式:不知道什么时候该列点、什么时候该总结

SFT怎么做?

核心逻辑:模仿学习

准备大量“问题-标准答案”配对数据,格式如下:

text

用户:你是一个专业的客服助手,请帮我查询订单号12345的物流信息。助手:好的,我帮您查询。订单12345目前正在派送中,预计今天下午送达。

模型看到用户:...,然后学习预测助手:...。训练方式和预训练一模一样,还是“猜下一个词”,只是换成了高质量问答数据。

数据量有多大?

  • 小模型(几亿参数):几万条就够了

  • 大模型(几百亿参数):100万~1000万条

为什么小数据能撬动大模型?

预训练已经储备了所有知识,SFT只是教会模型“在什么场景下用什么知识”。

就像你已经有一把瑞士军刀(所有工具都在),SFT只是告诉你:切东西用刀片,开瓶子用开瓶器。不需要重新造工具。


第三阶段:RLHF vs DPO——让模型“说得更好”

为什么要做这个阶段?

SFT让模型学会了“怎么答”,但没学会“怎么答更好”。比如:

  • 同样一个问题,有的回答简洁,有的啰嗦

  • 有的礼貌,有的生硬

  • 有的安全,有的有风险

这个阶段的目标就是:让模型学会区分“好回答”和“坏回答”

目前有两种主流方法:RLHF(老方法)和DPO(新方法)。


RLHF:基于人类反馈的强化学习

怎么做?

第一步:训练一个“裁判模型”

让人给大量回答打分(好/坏),然后用这些数据训练一个单独的“裁判模型”。这个裁判学会了对任何回答自动打分。

第二步:用强化学习训练大模型

大模型写回答 → 裁判打分 → 根据分数调整模型参数 → 反复迭代

为什么容易“训飞”(训练崩溃)?

RLHF有三个致命问题:

  1. 探索风险高:模型需要“尝试”新回答,可能一步踩进悬崖,参数被大幅调整后崩溃

  2. 裁判是静态的:裁判模型训练好后就不更新了,大模型可能“钻空子”——比如裁判喜欢长回答,模型就开始无限啰嗦

  3. 超参数极敏感:学习率、KL系数等一堆参数,调不好就崩

类比:RLHF是在悬崖边走路,一步走错就掉下去。

数据量需求

训练裁判模型需要约27万条人类标注的偏好对。这还只是“及格线”。


DPO:直接偏好优化

为什么会出现DPO?

RLHF太复杂、太贵、太不稳定。工程师们想:能不能绕过“训练裁判+强化学习”,直接用偏好数据训练大模型?

答案是:能。

DPO怎么做?

核心逻辑:把“偏好”直接翻译成损失函数

准备数据(和RLHF一样):(问题, 好回答, 坏回答)

训练时,损失函数告诉模型:“好回答的分数要高于坏回答”。模型通过一次反向传播就学会了。

为什么DPO不会崩溃?

三个保护机制:

  1. 不需要探索:模型不生成新内容,只是“模仿”已有的好回答,没有踩坑风险

  2. 没有裁判可钻空子:直接学好回答的样子,不需要猜测“裁判喜欢什么”

  3. 自带安全带:损失函数会自动约束模型,不让它偏离太远

类比:DPO是在平地上走路,每一步都稳稳当当。

数据量需求

只需要1万~10万条静态偏好对,就能看到明显效果。


RLHF vs DPO:一张表看懂

维度
RLHF
DPO
核心思路
先训练裁判,再指导模型
直接用胜负结果训练模型
需要几个模型
4个
2个
训练稳定性
差,容易崩溃
好,稳定收敛
数据量需求
高(约27万条+)
低(1-10万条)
实现复杂度
数千行代码
几十行代码
超参数
多且敏感
少且鲁棒
效果
相当或更好

现在主流用哪个?

DPO逐渐成为主流。因为大多数场景不需要RLHF那一点点“上限提升”,稳定、简单、便宜更重要。

目前ChatGPT、Claude等模型实际上混合使用多种方法,但DPO的占比越来越大。


完整训练流程总结

text

预训练 → SFT → DPO/RLHF
阶段
做什么
数据量
成本
产出
预训练
读遍互联网,学猜下一个词
10-15万亿Token
千万~亿美元
博学但不会聊天的“基础模型”
SFT
学问答格式,模仿标准答案
几万~几百万条
几万~几千万美元
会聊天的助手
DPO/RLHF
学区分好坏,优化回答质量
1-10万条偏好对
几千~几万美元
智能、安全、懂礼貌的AI助手

你可能还想知道的几个问题

模型真的“理解”了语言吗?

没有。它的所有“理解”本质上是数学概率。它不知道“为什么下雨要带伞”,但它在几十亿次训练后“知道”:提到“下雨”,下一个词是“带伞”的概率最高。

那它怎么“记住”东西的?

它不存任何具体的词。所有知识都融化在几千亿个参数(数字)里。就像一个超级章鱼,每个触手都感知着词与词之间的关系。最终形成一个无比复杂的“关系地图”。

提示词为什么重要?

提示词就是给模型的“工作说明书”。没有提示词,模型不知道“你是谁、你要它干什么”。

比如你直接问“订单物流信息”,模型不知道你是用户(想要真实信息)还是测试人员(想要模拟信息)。加上“你是一个客服助手”,模型就知道该用什么身份、什么语气回答。

为什么有些模型可以直接问?

因为它们有默认的系统提示词(比如“你是一个乐于助人的AI助手”),或者经过了高级训练学会了“自动推断”你的意图。


写在最后

大模型的训练,本质上是一个从“统计规律”到“智能行为”的涌现过程

  • 预训练让模型学会了语言的统计规律

  • SFT让模型学会了对话的格式

  • DPO/RLHF让模型学会了人类的偏好

三者叠加,再加上海量数据、巨额算力、精妙算法,才有了今天这些能写诗、能编程、能陪你聊天的AI助手。

当然,这套流程还在快速演进。也许明天就会有更高效的新方法出现。但理解了这个底层逻辑,你就已经超越了99%的人。