ChatGPT 这类大语言模型是怎么训练出来的
很多人以为 ChatGPT 是把问答库背下来了,其实它的训练目标和想象中最朴素的那种一致:预测下一个词。给定前文,让模型输出概率分布上最合理的下一个 token。整个训练分为三个阶段,可以概括为”先博览群书,再学听话,最后对齐人类偏好”。
预训练:博览群书
用海量文本(网页、书籍、代码)做自监督学习,不断玩”填空接龙”:
- 输入一段文字,遮住或截断后半部分,让模型预测
- 模型在 Transformer 架构上堆到数十上百层、数千亿参数
- 这个阶段消耗绝大部分算力,目的是把语言知识、世界知识、推理模式压进参数里
预训练结束得到的是”基座模型”(Base Model),它只会续写文本,还不会好好回答问题——你问它”什么是缓存”,它可能续写出十种不同风格的解释开头。
指令微调:学会听话
用人工构造的”指令-回答”对(Instruction Tuning / SFT)继续训练:
- 数据形如:问”把这句话翻译成英文”,答”…”
- 让模型学会识别意图、按格式作答、遵循约束
这一步之后模型才变成”助手”形态,即 SFT 模型。但此时它仍可能输出有害内容或一本正经地胡说。
RLHF:对齐人类偏好
强化学习从人类反馈(RLHF)分三步:
- 让模型对同一问题生成多个回答,人工标注员排序
- 用排序数据训练一个”奖励模型”,代替人类给回答打分
- 用强化学习(PPO 等)优化语言模型,让它生成的回答在奖励模型上得分更高
这一步对齐的是”人类喜欢什么样的回答”:有用、诚实、无害。
涌现能力与幻觉
模型规模跨过某个阈值后,会出现小模型没有的能力(few-shot 推理、代码生成等),称为涌现。但伴随而来的还有幻觉:模型会把”预测得流畅”误当成”说得正确”,自信地编造事实。这也是后来 RAG、工具调用等工程手段要补的课。
理解三阶段训练后,很多现象就解释得通了:为什么大模型知识有截止日期(预训练数据截止时间)、为什么它会讨好用户(RLHF 的偏好导向)、为什么需要提示词引导(它本质是条件续写)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 非鱼小站!
评论
WalineDisqus







