大模型的预训练、指令微调和对齐分别解决什么问题?
简化版
预训练让模型通过海量文本的下一个 token 预测获得语言与知识能力;指令微调让模型学会按人类指令完成任务;偏好对齐让回答更符合有用、诚实和安全等人类偏好。三者分别解决“会不会”“听不听得懂要求”和“回答是否合适”。
详细版
典型训练流程包括:
- 预训练(Pretraining):使用大规模无标注语料做自监督语言建模,学习语言规律、世界知识和通用模式;
- 监督微调(SFT):使用高质量“指令—回答”样本训练,让模型遵循指令、适应对话格式;
- 偏好对齐:通过 RLHF、RLAIF、DPO 等方法,利用成对偏好或奖励信号,使输出更符合人类期望;
- 可选领域适配:继续预训练或微调专业数据,增强法律、医疗、代码等领域能力。
预训练消耗绝大部分算力,决定能力上限;后训练数据量较小,却会显著改变模型的行为方式。对齐通常不会凭空注入大量知识,过强对齐还可能损害原有能力。
完整版教学
一、预训练为什么不需要人工逐条标注
文本本身就提供监督信号:给出前缀,后面的 token 就是标签。模型最小化预测分布与真实 token 之间的交叉熵。海量数据让它逐渐学习词法、语法、事实关联、代码结构甚至常见推理模式。
预训练模型本质上擅长续写,不一定知道用户是在提问,也不保证按要求输出。它可能续写网页、角色对白或多个问答轮次,这就是后训练存在的原因。
二、SFT 教模型如何响应
SFT 数据通常包含系统指令、用户输入和理想回答。训练仍是 token 级交叉熵,只是损失往往主要计算在助手回答部分。高质量、多样且边界清晰的数据比盲目堆量更重要。
SFT 能教会格式、风格、任务模式和一定的新知识,但数据过窄会造成灾难性遗忘或能力偏科。参数高效微调 LoRA 常用于降低领域 SFT 成本。
三、RLHF 的基本链路
经典 RLHF 包含三步:
- 对同一提示生成多个候选回答;
- 人类标注偏好顺序,据此训练奖励模型;
- 用强化学习优化策略模型,同时约束它不要偏离参考模型太远。
奖励模型把“人更喜欢哪个回答”压缩为分数。强化学习会寻找高分输出,但也可能钻奖励漏洞,所以需要 KL 约束、数据审查和持续评估。
四、DPO 为什么流行
DPO 直接利用“偏好回答优于拒绝回答”的成对数据优化模型,不必单独训练奖励模型并在线跑强化学习。它实现更简单、训练更稳定,但仍高度依赖偏好数据质量,也不是所有场景都优于 RLHF。
RLAIF 则用更强模型或规则提供偏好反馈,可降低人工成本,但会继承评审模型的偏见和盲区。
五、能力与行为要分开看
预训练获得的是底层能力,SFT 和偏好对齐主要塑造能力的调用方式。模型拒答不代表不知道,能流畅回答也不代表事实正确。评估时要分别测知识、推理、指令遵循、安全和风格,不能用单一分数概括。
六、领域数据放在哪个阶段
- 大量原始专业文本:适合继续预训练;
- 高质量任务示例:适合 SFT;
- 回答风格或风险偏好:适合偏好对齐;
- 需要频繁更新、可追溯的知识:更适合 RAG,而不是反复微调。
微调主要改变模型参数中的行为与模式,RAG 则在推理时提供外部证据,两者解决的问题不同。
七、用同一领域需求选择训练阶段
假设要让模型服务法律问答:有 5 亿 token 的未标注文书、2 万条律师示范回答和 1 万对偏好数据。继续预训练用未标注语料改善领域语言与知识表示;SFT 用示范教回答结构和任务行为;偏好对齐再让模型在多个可行回答中更偏向审慎、有引用且符合规范的版本。
| 阶段 | 本例数据 | 学到的主要内容 | 验收重点 |
|---|---|---|---|
| 继续预训练 | 5 亿 token 文书 | 领域分布与知识 | 领域 PPL、通用回归 |
| SFT | 2 万示范 | 指令遵循与格式 | 任务成功、引用格式 |
| 偏好对齐 | 1 万偏好对 | 风格与边界排序 | 盲评、安全、过拒 |
领域语料 --next-token--> 继续预训练
示范回答 --cross-entropy--> SFT
偏好对 --ranking/RL--> 对齐
阶段顺序不是绝对流程,但训练信号不能混淆。缺知识时只做 DPO 不会可靠注入事实,行为格式不稳时直接做 RL 也会放大不稳定;应先定位能力缺口属于“会不会”“怎么答”还是“多个答案偏好哪个”。
八、常见误区与追问
- 误区:预训练只要堆更多数据和更多 GPU 就行。 数据质量、学习率、并行策略、稳定性监控和断点恢复同样决定训练是否有效。
- 追问:这个阶段最怕什么失败信号? 要能说出 loss 异常、梯度溢出、吞吐下降、数据污染、重复样本或显存碎片等具体风险。
- 误区:训练技巧只影响速度,不影响模型质量。 精度格式、batch 组织、调度策略和数据配比都会改变优化路径,进而影响最终能力。
- 追问:如果资源预算减半,你会先动哪里? 合理答案通常从模型大小、token 数、数据质量、并行切分和训练时长之间权衡,而不是简单砍 batch。
- 误区:离线 loss 下降就代表模型一定更好。 还要看下游评测、长尾能力、安全性、重复率和过拟合迹象,单一曲线不能代表全部效果。
九、加强记忆
三阶段要按“能力—行为—偏好”区分:预训练从海量文本学语言与知识,SFT 用示范教会模型怎样响应指令,对齐再让多个可行回答按人类规范重新排序。领域材料缺知识时优先继续预训练或 RAG,格式与任务行为问题看 SFT,安全与风格取舍才进入偏好对齐。诊断时逐阶段验收,不能指望最后一步补回前面没有学会的能力。记住每一步的数据形态也不同:预训练是连续 token,SFT 是指令与目标回答,偏好阶段是成对比较或在线轨迹;数据和目标对不上,阶段名称写对也不会得到预期能力。