← 返回题目列表

大模型的预训练、指令微调和对齐分别解决什么问题?

高频 中等 第 1 / 25 题 更新于 2026/07/28
预训练SFTRLHF对齐

简化版

预训练让模型通过海量文本的下一个 token 预测获得语言与知识能力;指令微调让模型学会按人类指令完成任务;偏好对齐让回答更符合有用、诚实和安全等人类偏好。三者分别解决“会不会”“听不听得懂要求”和“回答是否合适”。

详细版

典型训练流程包括:

  1. 预训练(Pretraining):使用大规模无标注语料做自监督语言建模,学习语言规律、世界知识和通用模式;
  2. 监督微调(SFT):使用高质量“指令—回答”样本训练,让模型遵循指令、适应对话格式;
  3. 偏好对齐:通过 RLHF、RLAIF、DPO 等方法,利用成对偏好或奖励信号,使输出更符合人类期望;
  4. 可选领域适配:继续预训练或微调专业数据,增强法律、医疗、代码等领域能力。

预训练消耗绝大部分算力,决定能力上限;后训练数据量较小,却会显著改变模型的行为方式。对齐通常不会凭空注入大量知识,过强对齐还可能损害原有能力。

完整版教学

一、预训练为什么不需要人工逐条标注

文本本身就提供监督信号:给出前缀,后面的 token 就是标签。模型最小化预测分布与真实 token 之间的交叉熵。海量数据让它逐渐学习词法、语法、事实关联、代码结构甚至常见推理模式。

预训练模型本质上擅长续写,不一定知道用户是在提问,也不保证按要求输出。它可能续写网页、角色对白或多个问答轮次,这就是后训练存在的原因。

二、SFT 教模型如何响应

SFT 数据通常包含系统指令、用户输入和理想回答。训练仍是 token 级交叉熵,只是损失往往主要计算在助手回答部分。高质量、多样且边界清晰的数据比盲目堆量更重要。

SFT 能教会格式、风格、任务模式和一定的新知识,但数据过窄会造成灾难性遗忘或能力偏科。参数高效微调 LoRA 常用于降低领域 SFT 成本。

三、RLHF 的基本链路

经典 RLHF 包含三步:

  1. 对同一提示生成多个候选回答;
  2. 人类标注偏好顺序,据此训练奖励模型;
  3. 用强化学习优化策略模型,同时约束它不要偏离参考模型太远。

奖励模型把“人更喜欢哪个回答”压缩为分数。强化学习会寻找高分输出,但也可能钻奖励漏洞,所以需要 KL 约束、数据审查和持续评估。

四、DPO 为什么流行

DPO 直接利用“偏好回答优于拒绝回答”的成对数据优化模型,不必单独训练奖励模型并在线跑强化学习。它实现更简单、训练更稳定,但仍高度依赖偏好数据质量,也不是所有场景都优于 RLHF。

RLAIF 则用更强模型或规则提供偏好反馈,可降低人工成本,但会继承评审模型的偏见和盲区。

五、能力与行为要分开看

预训练获得的是底层能力,SFT 和偏好对齐主要塑造能力的调用方式。模型拒答不代表不知道,能流畅回答也不代表事实正确。评估时要分别测知识、推理、指令遵循、安全和风格,不能用单一分数概括。

六、领域数据放在哪个阶段

  • 大量原始专业文本:适合继续预训练;
  • 高质量任务示例:适合 SFT;
  • 回答风格或风险偏好:适合偏好对齐;
  • 需要频繁更新、可追溯的知识:更适合 RAG,而不是反复微调。

微调主要改变模型参数中的行为与模式,RAG 则在推理时提供外部证据,两者解决的问题不同。

七、面试拆解算例

预训练题最好落到预算账和稳定性账。假设训练一个 7B 模型,目标 token 数是 1T,按常见粗估 6 × 参数量 × token 数,训练计算量约为 6 × 7e9 × 1e12 = 4.2e22 FLOPs。如果有效集群算力是 1e18 FLOPs/s,理想情况下也要约 42,000 秒;现实还要扣通信、数据加载、checkpoint 和故障恢复的损耗。

training_flops ≈ 6 * N * D
N = 7e9 parameters
D = 1e12 tokens
training_flops ≈ 4.2e22
账本关键变量常见瓶颈排查信号
数据账token 数、重复率、质量分脏数据和污染eval 异常偏高
算力账GPU 数、利用率、通信MFU 低step time 抖动
显存账batch、序列长、优化器状态OOM激活占用过高
稳定性账学习率、精度、梯度loss spikeoverflow/NaN
语料 -> 清洗去重 -> tokenization -> 分布式训练 -> checkpoint -> 评测
  |        |             |                |             |
 质量     覆盖率         吞吐              可恢复         能力验证

所以回答「大模型的预训练、指令微调和对齐分别解决什么问题?」时,不能只说某个技巧“省显存”或“加速”。要说明它省的是哪一笔账、牺牲了什么、线上训练日志里应该观察哪个信号。

八、常见误区与追问

  • 误区:预训练只要堆更多数据和更多 GPU 就行。 数据质量、学习率、并行策略、稳定性监控和断点恢复同样决定训练是否有效。
  • 追问:这个阶段最怕什么失败信号? 要能说出 loss 异常、梯度溢出、吞吐下降、数据污染、重复样本或显存碎片等具体风险。
  • 误区:训练技巧只影响速度,不影响模型质量。 精度格式、batch 组织、调度策略和数据配比都会改变优化路径,进而影响最终能力。
  • 追问:如果资源预算减半,你会先动哪里? 合理答案通常从模型大小、token 数、数据质量、并行切分和训练时长之间权衡,而不是简单砍 batch。
  • 误区:离线 loss 下降就代表模型一定更好。 还要看下游评测、长尾能力、安全性、重复率和过拟合迹象,单一曲线不能代表全部效果。

九、加强记忆

预训练像读遍图书馆,建立知识和语言能力;SFT 像做示范课,教它听指令;偏好对齐像行为规范,告诉它什么回答更受欢迎、更安全。