要解决的问题

预训练模型的目标是"预测下一个词",这与"给出对人类有用的回答"并不完全一致。

一个纯粹的预训练模型可能:给出有害建议、答非所问、输出冗长重复、或者拒绝回答无害问题。它需要被对齐(Alignment)。

三个阶段

一、监督微调(SFT)

用人工编写的高质量"指令—回答"对,对预训练模型进行微调。

目的是让模型学会对话的格式和基本行为模式:理解指令、给出结构化的回答、遵循用户意图。

这个阶段数据量相对小(数千到数万条),但质量要求高。

二、训练奖励模型(RM)

让模型对同一个问题生成多个不同的回答,请人类标注员按质量排序(比如从最好到最差)。

用这些排序数据训练一个奖励模型:输入"问题 + 回答",输出一个分数,代表这个回答有多符合人类偏好。

用排序而非打分,是因为人类对"绝对分数"的判断不稳定,但对"哪个更好"的判断相对可靠。

三、强化学习优化

以奖励模型作为"裁判",用强化学习算法(常用 PPO)优化模型,让它生成能获得更高奖励分数的回答。

这里有个关键约束:不能让模型"跑偏"太远。因此通常会在优化目标中加入一个惩罚项(如 KL 散度),限制新模型与原始 SFT 模型之间的差异,防止模型找到奖励模型的漏洞却输出垃圾内容(这被称为"奖励黑客",Reward Hacking)。

直接偏好优化(DPO)

传统 RLHF 流程复杂(要训练并维护奖励模型、策略模型、参考模型等多个模型),训练不稳定。

DPO(Direct Preference Optimization)提出了一个简化:既然目标是让"好回答"的概率相对"坏回答"提高,可以直接用偏好数据构造损失函数,跳过显式的奖励模型和强化学习循环。

DPO 大幅简化了实现,在实践中效果接近甚至优于传统 RLHF,因此被广泛采用。

局限

  • 人类偏好的多样性:标注员的偏好未必代表所有用户,且不同文化、场景下偏好差异很大;
  • 奖励模型的偏差:模型可能学会"讨好"奖励模型,而非真正变得有用;
  • 过度对齐:过度优化安全性可能导致模型变得过度保守,对无害请求也拒绝。

一个观察角度

对齐技术解决的是"让模型按人类期望的方式输出"。它不改变模型的知识水平——一个知识匮乏的模型,再怎么对齐也答不出它不知道的东西。

说明:本文为大模型训练技术的公开知识整理。