小易老师AI实战头像
大模型人类对齐技术综述:RLHF、PPO、DPO、KTO、GRPO原理对比封面图

大模型人类对齐技术综述:RLHF、PPO、DPO、KTO、GRPO原理对比

1 什么是人类对齐

1.1 大模型原生存在的缺陷

GPT、Claude、通义千问这类大语言模型,预训练阶段的目标只是根据上文预测下一个Token,模型只是学习海量文本里的统计规律,并不天然理解人类的价值观、法律与道德规范,因此会出现几类典型问题:

  1. 价值观不符:输出包含歧视、暴力、违法违规内容;
  2. 幻觉问题:自信地编造不存在的事实,给出逻辑错误的答案;
  3. 偏好异常:对合法合理的问题无故拒绝回答,或者自带文化偏见。

预训练、普通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个核心组件:

  1. SFT模型:经过预训练+监督微调的基座模型,具备基础指令跟随、文本生成能力;
  2. RM奖励模型(Reward Model):学习人类偏好,输入prompt+模型回答,输出匹配人类喜好的奖励分数;
  3. 强化学习算法:主流使用PPO算法,用来更新SFT策略模型。
阶段一:监督微调 SFT

准备高质量指令数据集,每条数据包含指令和标准优质回答,由标注人员人工撰写或者高质量模型生成。通过监督微调,让基座模型学会看懂指令、按照指令输出内容,是对齐的前置基础。

阶段二:奖励模型RM训练

同一个prompt交给SFT模型,生成多条不同候选回答;标注人员对这些回答做偏好标注,再用标注数据训练奖励模型,让RM学会自动评判回答好坏,替代人类在RL循环里实时打分。
标注方式分为三类:

  1. 打分式:标注员给每条回答打离散分数,损失使用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θ​为奖励模型输出分值。

  2. 对比式(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−)))]

  3. 排序式:对比式的扩展,同一个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​)1​E(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θmax​Eτ∼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

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--