1 什么是人类对齐
1.1 大模型原生存在的缺陷
GPT、Claude、通义千问这类大语言模型,预训练阶段的目标只是根据上文预测下一个Token,模型只是学习海量文本里的统计规律,并不天然理解人类的价值观、法律与道德规范,因此会出现几类典型问题:
预训练、普通SFT都无法从根本上解决这类问题,所以行业引入人类对齐,目标就是约束模型行为,让模型输出贴合人类预期,规避安全风险。
1.2 对齐的定义
人类对齐(Alignment with Human Intent),简单来说就是让大模型的输出行为匹配人类期望、社会公序良俗与价值观。
举个简单示例: 用户提问:如何私自改装危险易燃易爆装置?
- 未对齐模型:直接给出详细操作步骤;
- 对齐后的模型:拒绝该请求,并提示该行为存在安全与法律风险。
1.3 对齐三大通用标准
对齐本身是一个抽象目标,行业广泛采用有用性、诚实性、无害性作为基础衡量标尺:
- 有用性(Helpfulness):理解用户指令,高质量完成任务,输出具备实用性、合理多样性;
- 诚实性(Honesty):内容真实客观,不捏造事实、不误导用户,不确定的内容不强行编造;
- 无害性(Harmlessness):规避会造成人身、财产、社会危害的内容,拒绝冒犯、歧视类生成。
国内《生成式人工智能服务安全基本要求》也是大模型安全对齐、模型备案的重要依据,是落地对齐工作必须遵守的规范。
2 基于人类反馈的强化学习 RLHF
RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)是最早成熟落地的对齐范式,核心思路:收集人类对模型回复的偏好信号,训练奖励模型,再借助强化学习微调基础模型,让模型向着符合人类偏好的方向更新。
整套流程分为三大阶段:SFT监督微调、奖励模型训练、PPO强化学习优化。
2.1 RLHF系统组成
整套RLHF体系包含3个核心组件:
阶段一:监督微调 SFT
准备高质量指令数据集,每条数据包含指令和标准优质回答,由标注人员人工撰写或者高质量模型生成。通过监督微调,让基座模型学会看懂指令、按照指令输出内容,是对齐的前置基础。
阶段二:奖励模型RM训练
同一个prompt交给SFT模型,生成多条不同候选回答;标注人员对这些回答做偏好标注,再用标注数据训练奖励模型,让RM学会自动评判回答好坏,替代人类在RL循环里实时打分。 标注方式分为三类:
打分式:标注员给每条回答打离散分数,损失使用MSE;
L
=
−
E
(
x
,
y
)
∼
D
[
(
r
θ
(
x
,
y
)
−
r
~
)
2
]
\\mathcal L = – \\mathbb E_{(x,y)\\sim \\mathcal D} [(r_\\theta (x, y) – \\tilde r)^2]
L=−E(x,y)∼D[(rθ(x,y)−r~)2]
x
x
x代表输入prompt,
y
y
y是模型输出,
r
~
\\tilde r
r~是人工标注分数,
r
θ
r_\\theta
rθ为奖励模型输出分值。
对比式(Pairwise):对同一个prompt的两条回复做二选一排序,一条优选(
y
+
y^+
y+)一条劣选(
y
−
y^-
y−),损失最大化两者奖励分差距,也就是大家日常在ChatGPT里给两条回复选“哪个更好”的底层逻辑。
L
=
−
E
(
x
,
y
−
,
y
+
)
∼
D
[
log
(
σ
(
r
θ
(
x
,
y
+
)
−
r
θ
(
x
,
y
−
)
)
)
]
\\mathcal L =- \\mathbb E_{(x,y^-, y^+)\\sim \\mathcal D} [\\log \\left(\\sigma(r_\\theta (x, y^+) – r_\\theta (x, y^-))\\right)]
L=−E(x,y−,y+)∼D[log(σ(rθ(x,y+)−rθ(x,y−)))]
排序式:对比式的扩展,同一个prompt下对K条回复做全局排序,考虑所有两两偏序关系,学习更全局的偏好分布。
L
=
−
1
(
k
2
)
E
(
x
,
y
−
,
y
+
)
∼
D
[
log
(
σ
(
r
θ
(
x
,
y
+
)
−
r
θ
(
x
,
y
−
)
)
)
]
\\mathcal L = – \\frac{1}{{k \\choose 2}}\\mathbb E_{(x,y^-, y^+)\\sim \\mathcal D} [\\log \\left(\\sigma(r_\\theta (x, y^+) – r_\\theta (x, y^-))\\right)]
L=−(2k)1E(x,y−,y+)∼D[log(σ(rθ(x,y+)−rθ(x,y−)))]
阶段三:强化学习优化
在RL视角里:
- 策略模型 = SFT模型
- 状态 = 当前已经生成的Token序列
- 动作 = 预测下一个Token
- 奖励 = 奖励模型给出的打分
强化学习目标是最大化整条生成轨迹的累计奖励:
J
(
θ
)
=
arg
max
θ
E
τ
∼
p
θ
[
R
(
τ
)
]
\\mathcal J(\\theta) = \\arg \\max_{\\theta} \\mathbb E_{\\tau \\sim p_\\theta}[R(\\tau)]
J(θ)=argθmaxEτ∼pθ[R(τ)]
τ
\\tau
τ是完整生成文本轨迹,
P
θ
(
τ
)
P_\\theta(\\tau)
Pθ(τ)是该文本的解码概率,
R
(
τ
)
R(\\tau)
R(τ)是这条回答的总奖励。通俗理解:模型不断采样生成文本,奖励模型打分,模型持续调整生成策略,尽可能拿到高分。
2.2 PPO算法
PPO(Proximal Policy Optimization,近端策略优化)是RLHF里最常用的强化学习算法。 PPO核心损失:
L
P
P
O
(
θ
)
=
E
t
[
min
(
r
t
(
θ
)
A
^
t
,
clip
(
r
t
(
θ
)
,
1
−
ϵ
,
1
+
ϵ
)
A
^
t
)
]
L^{PPO}(\\theta) = \\mathbb{E}_t \\left[ \\min \\left( r_t(\\theta) \\hat{A}_t, \\text{clip}(r_t(\\theta), 1 – \\epsilon, 1 + \\epsilon) \\hat{A}_t \\right) \\right]
LPPO(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)] 其中:
r
t
(
θ
)
=
π
θ
(
a
t
∣
s
t
)
π
θ
old
(
a
t
∣
s
t
)
r_t(\\theta) = \\frac{\\pi_\\theta(a_t|s_t)}{\\pi_{\\theta_{\\text{old}}}(a_t|s_t)}
rt(θ)=πθold(at∣st)πθ(at∣st):新旧策略的概率比值;
A
^
t
\\hat{A}_t
A^t:优势函数,用来衡量当前动作相比平均水平的收益。
PPO通过clip裁剪约束策略更新幅度,避免一次更新过大导致模型崩塌。 ✅ 优点:适配打分、排序等多种反馈形式,是工业界经典方案; ❌ 缺点:训练链路长、依赖奖励模型质量,奖励模型容易引入偏差,训练成本高、稳定性差。
3 轻量化对齐方案(非RLHF流派)
PPO整套流程复杂、显存开销大,后续学术界陆续提出不需要独立奖励模型、甚至去掉强化学习循环的对齐算法,DPO、KTO、GRPO是其中代表性方案。
3.1 DPO 直接偏好优化(Direct Preference Optimization)
DPO的核心创新:数学上证明RLHF的优化目标存在闭式解,不再单独训练奖励模型,不需要在线RL交互,直接使用成对偏好数据做监督式优化。 数据集格式:
{
"instruction": "用户指令",
"input": "补充输入(可选)",
"chosen": "优质回答",
"rejected": "较差回答"
}
损失函数:
L
(
θ
)
=
−
E
(
x
,
y
+
,
y
−
)
∼
D
[
log
σ
(
β
log
π
θ
(
y
+
∣
x
)
π
o
l
d
(
y
+
∣
x
)
−
β
log
π
θ
(
y
−
∣
x
)
π
o
l
d
(
y
−
∣
x
)
)
]
L(\\theta) = – \\mathbb{E}_{(x, y^+, y^-) \\sim D} \\left[ \\log \\sigma \\left(\\beta \\log \\frac{\\pi_\\theta (y^+|x)}{\\pi_{old}(y^+|x) } – \\beta\\log \\frac{\\pi_\\theta (y^-|x)}{\\pi_{old}(y^-|x) } \\right) \\right]
L(θ)=−E(x,y+,y−)∼D[logσ(βlogπold(y+∣x)πθ(y+∣x)−βlogπold(y−∣x)πθ(y−∣x))]
✅ 优点:无奖励模型、无强化学习循环,训练稳定、代码简单、落地门槛低; ❌ 缺点:只支持成对偏好样本,对标注样本质量敏感,灵活性弱于PPO。
3.2 KTO KL散度偏好优化(KL-divergence Preference Optimization)
KTO不需要成对样本,只需要单条回答+二元好坏标签(点赞/点踩),非常适合直接使用线上用户简单反馈日志,同时加入KL约束,控制对齐之后模型不要偏离原基座模型太远。 数据集格式:
{
"instruction": "用户指令",
"input": "补充输入(可选)",
"output": "模型回答",
"kto_tag": "true / false"
}
✅ 优点:不需要构造正负样本对,单样本二值反馈即可训练,自带KL约束; ❌ 缺点:KL超参数需要精细调参,效果依赖参考基座模型。
3.3 GRPO 分组相对策略优化(Group Relative Policy Optimization)
GRPO放弃绝对奖励打分,采用组内相对排名做优化,不需要Critic价值网络。 流程:同一个prompt,让模型一次性采样K条候选回答,标注后得到排序;把排名做标准化,高于组内均值的样本赋予正向信号,低于均值为负向信号,直接用相对信号指导策略更新。
r
(
y
i
)
=
rank
(
y
i
)
−
mean rank
std(rank)
r(y_i) = \\frac{\\text{rank}(y_i) – \\text{mean rank}}{\\text{std(rank)}}
r(yi)=std(rank)rank(yi)−mean rank
✅ 优点:在线采样、相对比较,保留探索能力,适合推理类大模型; ❌ 缺点:实现复杂度偏高,优化效果受组内排序质量影响。
4 各对齐方案横向对比汇总
| PPO(RLHF) | 打分、排序任意反馈 | ✅ 是 | ✅ 是 | 较低 | 反馈形式丰富,上限高,工业经典 | 链路复杂、成本高、易奖励hack、不稳定 |
| DPO | 成对偏好(Chosen/Rejected) | ❌ 否 | ❌ 否 | 高 | 实现简单、收敛稳定、上手快 | 仅支持pair样本,依赖样本质量 |
| KTO | 单样本二元标签(好/坏) | ❌ 否 | ❌ 否 | 高 | 适配线上点赞日志,无需配对 | KL权重调参成本高,依赖参考模型 |
| GRPO | 分组多条排序偏好 | ❌ 否 | ✅ 是 | 中等 | 相对排名,适合推理模型,无Critic | 工程实现复杂,受排序标注影响大 |
5 总结
对齐是大模型从“会说话”走向“听话、安全、靠谱”的核心环节。RLHF+PPO开创了人类对齐的范式,但是工程门槛很高;DPO、KTO、GRPO等后续方案,在效果、训练成本、数据格式上做取舍,现在已经广泛用于开源大模型微调。 实际落地选型可以简单参考:
- 标注资源充足、追求效果上限:RLHF+PPO;
- 快速微调、追求稳定易实现:优先DPO;
- 存量用户点赞/点踩日志,不想构造样本对:KTO;
- 数学、代码、推理类模型,需要在线探索:GRPO。
延伸阅读
[1] Direct Preference Optimization: Your Language Model is Secretly a Reward Model. https://arxiv.org/pdf/2305.18290 [2] KTO: Model Alignment as Prospect Theoretic Optimization. https://arxiv.org/pdf/2402.01306 [3] DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. https://arxiv.org/pdf/2402.03300




