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奖励模型(Reward Model):学习人类偏好,输入prompt+模型回答,输出匹配人类喜好的奖励分数;
- 强化学习算法:主流使用PPO算法,用来更新SFT策略模型。
阶段一:监督微调 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 各对齐方案横向对比汇总
| 方法 | 偏好数据类型 | 是否使用奖励模型 | 是否使用RL | 训练稳定性 | 优点 | 缺点 |
|---|---|---|---|---|---|---|
| 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
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/L698698S/article/details/169139745




