AI 基础 · 大模型训练全流程
从一堆网页到会聊天:大模型是怎么"炼"出来的
你以为 GPT 是一天练成的?其实它像酿酒:先堆原料(预训练)、再调味(SFT)、最后请老品酒师打分调教(RLHF) 。这一课把整条流水线串起来,让你下次听到"预训练/SFT/RLHF/DPO"时不再发懵,还能跟人聊清楚每种并行是干嘛的。
① 全流程一图流:四个阶段
1 预训练 Pretrain 读几万亿词,学会"接话茬"。
2 SFT 指令微调 教它"按对话格式好好回答"。
3 对齐 RLHF/DPO 让回答更符合人类偏好。
4 推理部署 压缩、加速,上线给用户用。
一句话记住 预训练长知识,SFT 学规矩,对齐学审美,推理省钱快。前面几步花掉几千万美元算力,最后一步决定你用着卡不卡。
② 预训练:数据、分词与分布式训练
数据从哪来、怎么处理
环节 做什么 大白话
爬取 抓网页、书籍、代码、论文 往仓库里堆原料
清洗 去重、去垃圾页、过滤低质内容、去有害数据 把发霉的、重复的原料挑掉
Tokenization 把文字切成 token(子词) 把句子剁成模型能吞的小块
三种并行:为什么要用几百张卡
模型太大、数据太多,单张显卡根本装不下,于是把活拆开:
并行方式 拆什么 类比
数据并行 DP 数据分片,每张卡放一份完整模型副本,各算各的再同步梯度 几十个人做同一张卷子,最后对答案
张量并行 TP 把单层矩阵乘法本身切到多卡上算 一道大题拆成几个人各算一部分
流水线并行 PP 把模型的不同层分到不同卡上,像流水线一站一站传 装配线:一号卡装发动机,二号卡装轮子
为什么不只用数据并行 因为模型大到一张卡连一份权重都塞不下时,数据并行就失效了——必须叠加张量并行(切层内计算)和流水线并行(切层间位置),三种一起上才能训出千亿模型。
③ SFT:教模型"好好说话"
预训练完的模型只会"接龙"——你写"今天天气",它可能接"不错,适合出门。明天预报也晴。"但你问它问题,它不会以助手身份、用对话格式 回答。SFT(Supervised Fine-Tuning)就是喂它几万到几十万条"问—答"样本,把它调成聊天助手。
典型对话数据格式(JSON Lines):
一条 SFT 样本长这样
标准的多轮对话结构
{"messages":[{"role":"system","content":"你是乐于助人的助手。"},{"role":"user","content":"怎么煮溏心蛋?"},{"role":"assistant","content":"冷水下锅,水开后煮 6 分钟立刻过凉水……"}]}
要点 说明
数据量 通常几万到几十万条高质量样本,不贵但必须精
格式 统一 system/user/assistant 角色,模型照着学格式
效果 学会"回答问题"而非"续写",但还不懂人类好恶
④ RLHF vs DPO:怎么让模型"更讨喜"
RLHF(人类反馈强化学习)三步
1 SFT 打底 先有一个会回答的模型。
2 训奖励模型 RM 人给多个回答排序,训出一个"打分器"。
3 PPO 强化学习 让 SFT 模型生成回答,靠 RM 打分,用 PPO 优化。
DPO:更省事的替代品
DPO(Direct Preference Optimization)跳过单独训奖励模型和 PPO 那一套复杂流程,直接拿"好回答 vs 坏回答"这对偏好数据来微调模型 ,训练更稳、更省算力。
对比 RLHF (PPO) DPO
步骤 SFT → RM → PPO 三段 SFT → 直接偏好微调
需要 单独奖励模型 + 在线采样 只需成对偏好数据
成本/稳定 贵、调参难、易训崩 便宜、稳、好上手
效果 上限高,顶尖模型仍在用 接近 RLHF,已成主流替代
⑤ 推理优化:让它跑得快又便宜
训练完不等于能上线——千亿模型直接跑又慢又贵,必须优化:
技术 干什么 效果
量化 Quantization 把权重从 16 位浮点压成 8 位甚至 4 位整数 显存省一半以上,速度更快
KV Cache 缓存已算过的注意力键值,不重复算 生成阶段提速好几倍
投机解码 用小模型先猜几个词,大模型一次批量验证 体感更快
连续批处理 把不同用户的请求动态拼批一起算 GPU 利用率拉满,摊薄成本
⑥ 三个例子:把流程对应到现实
例 1 · 预训练 vs SFT 的差别
输入:"介绍一下南京。"
预训练模型可能接"介绍一下南京旅游景点、南京美食、南京历史……"继续写百科;SFT 之后的模型会直接以助手口吻给你一段完整介绍 。差别就是"接龙"变"答题"。
例 2 · 为什么需要 RLHF
同一个问题,模型有两个回答:一个啰嗦跑题,一个简洁切中要害。
SFT 模型不知道哪个更"讨喜"。人来标注哪个好,训出奖励模型打分,再让模型往高分方向优化 ,回答就越来越像人想要的样子。
例 3 · KV Cache 在干嘛
生成"我喜欢吃南京的盐水鸭,因为__",逐词往外蹦。
每生成一个新词,前面所有词的 K/V 都已算过并缓存,不用重算整句 ,只算新词这一个向量——这就是长对话不卡到爆的关键。
防坑提示:别被名词唬住
① 预训练学到的是"知识和语言规律",SFT/对齐只是"调出口味和格式",别指望 SFT 教模型新知识——它主要靠预训练。
② DPO 不是完全替代 RLHF,顶级模型仍可能在 DPO 之上再叠 RLHF 冲上限。
③ 数据清洗的质量往往比参数大小更影响最终效果——"垃圾进,垃圾出"在大模型时代依然成立。
⑦ 折叠自测(点开看答案)
基础 1. 大模型训练大致分哪四个阶段?
显示答案
预训练(长知识)→ SFT 指令微调(学对话格式)→ 对齐 RLHF/DPO(学人类偏好)→ 推理部署(压缩加速上线)。
中档 2. 数据并行、张量并行、流水线并行分别拆的是什么?
显示答案
数据并行拆数据(每卡一份完整模型);张量并行拆单层矩阵计算;流水线并行拆模型的层(不同卡跑不同层)。三种常组合使用。
拔高 3. DPO 相比传统 RLHF 省掉了哪一步?为什么更稳?
显示答案
省掉了单独训练奖励模型和用 PPO 在线强化学习那一步,直接用成对的"好/坏回答"偏好数据做监督式微调。没有 PPO 那种不稳定的在线采样和奖励 hacking,所以更省、更易收敛。
⑧ 费曼三问:讲给自己听
问 1:预训练到底在学什么? 读海量文字,学会预测下一个词,从而把语言规律、世界知识都压缩进权重里。
问 2:SFT 和 RLHF 各解决什么问题? SFT 解决"格式不对、不会当助手";RLHF/DPO 解决"回答了但不够好、不讨喜"。
问 3:为什么上线前要做推理优化? 不优化的话模型又大又慢又贵,普通用户根本用不起;量化和 KV Cache 让它又快又便宜。
口述全链路
"大模型训练分四步:预训练读海量文本长知识,SFT 教它按对话格式回答。"
"再用 RLHF 或 DPO 按人类偏好对齐,最后量化、KV Cache 把它优化上线。"
"预训练贵在用万卡数月,SFT/DPO 只要几万条样本几天就搞定。"
⑨ 训练成本与数据量级参考
大模型烧钱主要烧在预训练这一步。有个量级概念即可:
阶段 数据量 算力/成本量级 耗时
预训练 万亿 token(上千亿词) 几千到几万张 GPU 跑数月 最贵、最久
SFT 几万~几十万条对话 几十到几百张 GPU 几天到几周
RLHF/DPO 几万条偏好标注 再叠加训练开销 数天
推理 用户实时请求 按 token 计费 在线持续
一句话 预训练是"重资产建厂",对齐是"精加工调味",推理是"开门营业"。绝大多数公司玩不起预训练,只能拿开源底座做 SFT/DPO。
⑩ 高频术语速查(别被缩写唬住)
术语 大白话
Epoch 把全部训练数据完整过一遍叫一个 epoch
Batch 一次同时喂给模型的一小批样本
学习率 LR 每步调整权重的步长,太大乱跳、太小学不动
Loss 预测错得多离谱,训练就是让它往下降
过拟合 把训练数据背得太死,换新问题就不会了
收敛 Loss 不再明显下降,模型学到位了
⑪ 常见误区辨析
误区 1:SFT 能教模型新知识 SFT 主要教格式和行为方式,新知识仍来自预训练。想让模型懂新领域,优先靠 RAG 或继续预训练,而不是塞几条问答。
误区 2:数据越多越好,不用管质量 低质、重复、带偏见的数据会直接教坏模型。清洗和去噪的收益常常大于单纯加数据量。
误区 3:DPO 完全不要人工标注 DPO 仍需要"好回答/坏回答"的成对偏好数据,只是不用单独训奖励模型而已。
误区 4:推理时模型还在"学习" 部署后权重冻结,模型只做前向计算、不更新参数。你以为它在学,其实只是在根据已有知识生成。
⑫ 分层练习(点开解析)
基础 "预训练"主要在学什么?
解析 预测下一个词,从而把语言规律和世界知识压缩进权重。
基础 SFT 用的数据大概是什么形式?
解析 成百上千条"问题—回答"对话样本,带 system/user/assistant 角色格式。
中档 数据并行时每张卡上有什么?
解析 一份完整模型副本和一份数据分片,各自算梯度后再同步平均。
中档 KV Cache 缓存的是什么?为什么能提速?
解析 缓存已算过的注意力 Key/Value,生成新词时不重复计算历史部分,只算新向量。
中档 量化把权重从 FP16 压到 INT4 有什么代价?
解析 显存和速度大幅改善,但有轻微精度损失,通常小到可以接受。
拔高 为什么预训练极贵而 SFT 相对便宜?
解析 预训练要扫万亿 token、用万卡数月;SFT 只需几万条样本在底座上微调几天,量级差几个数量级。
拔高 DPO 数据需要什么样本?
解析 对同一问题的一对回答:一个更优、一个更差,让模型学偏向好回答,无需单独奖励模型。
⑬ 三句记忆口诀
① 预训练长知识、SFT 学规矩、对齐学审美、推理省钱快。
② DP 拆数据、TP 拆矩阵、PP 拆层,三种一起上才训得动。
③ DPO 比 RLHF 省事,直接用好/坏偏好对微调。
📌 知识链路
本节位置
从"零件"到"成品":把 Transformer 用数据和算力喂成一个可用的助手。