跳到主要内容

人类对齐

问题

什么是对齐(Alignment)?SFT、RLHF、DPO 分别是什么?如何让 LLM 既有用又安全?

答案

对齐(Alignment) 是将 LLM 的行为调整为符合人类期望的过程——让模型有帮助(Helpful)、诚实(Honest)、无害(Harmless),即"3H 原则"。

一、从 Base Model 到 Chat Model

阶段输入输出行为训练数据
Base Model"写一封邮件"可能续写"给老板的格式是..."(不执行)互联网文本
SFT"写一封邮件"直接写一封邮件(执行指令)人工标注的指令-回复对
RLHF/DPO"写一封邮件"写出高质量、安全、有帮助的邮件人类偏好排序

二、SFT(Supervised Fine-Tuning)

用高质量的指令-回复对微调 Base Model,教会模型"听懂指令并执行"。

数据格式

{
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "解释什么是递归"},
{"role": "assistant", "content": "递归是指函数调用自身的编程技巧..."}
]
}

关键要点

  • 数据量不需要很大(1K-100K 条就足够)
  • 数据质量极其重要——少量高质量数据 > 大量低质量数据
  • Loss 只计算 assistant 的回复部分(不计算 user 的输入部分)

三、RLHF(Reinforcement Learning from Human Feedback)

RLHF 是 ChatGPT 的核心训练方法,分为三步:

奖励模型(Reward Model)

  • 输入:Prompt + 回复
  • 输出:标量分数(越高表示回复越好)
  • 训练:从人类排序的偏好数据中学习

PPO 目标函数

LPPO=E[min(r(θ)A^,clip(r(θ),1ϵ,1+ϵ)A^)]βDKL(πθπref)\mathcal{L}_{PPO} = \mathbb{E}\left[\min\left(r(\theta)\hat{A}, \text{clip}(r(\theta), 1-\epsilon, 1+\epsilon)\hat{A}\right)\right] - \beta \cdot D_{KL}(\pi_\theta \| \pi_{\text{ref}})
  • 第一项:最大化奖励(但不要变化太大)
  • 第二项:KL 惩罚——防止模型偏离参考模型太远(避免 reward hacking)

四、DPO(Direct Preference Optimization)

DPO 是 2023 年提出的 RLHF 替代方案——不需要训练单独的奖励模型

核心思想

直接将偏好数据转化为策略优化目标:

LDPO=E[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{DPO} = -\mathbb{E}\left[\log\sigma\left(\beta\log\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta\log\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right)\right]
  • ywy_w:人类偏好的回复(winner)
  • yly_l:人类不偏好的回复(loser)
  • 直觉:增加好回复的概率,降低差回复的概率

RLHF vs DPO

对比RLHFDPO
训练阶段3 阶段2 阶段(跳过 RM)
复杂度高(需要 RM + PPO)低(一个 Loss 函数)
稳定性PPO 不稳定,超参敏感更稳定
性能上限理论上更高接近 RLHF
实际使用GPT-4、ClaudeLLaMA 3、Mistral、Qwen
DPO 为什么成为主流?

DPO 实现简单、训练稳定、效果接近 RLHF,且不需要维护一个单独的奖励模型。对于大多数团队来说,DPO 是性价比最高的对齐方案。

五、其他对齐方法

方法特点
ORPO无需参考模型,将 SFT 和偏好优化合为一步
KTO不需要偏好对,只需要"好/坏"标签
SPIN自我对弈,用自身生成的数据迭代对齐
Constitutional AI用 AI 自身做评判(Anthropic 的方法)
GRPODeepSeek-R1 使用的强化学习方法

六、对齐税(Alignment Tax)

对齐有代价——对齐后的模型在某些维度上可能退化:

  • 创造力降低(过度安全导致拒绝合理请求)
  • 部分知识丢失(灾难性遗忘)
  • 讨好用户(sycophancy,总是同意用户观点)

常见面试问题

Q1: SFT 和 RLHF 的区别是什么?各自解决什么问题?

答案

  • SFT 教模型"如何回答"——格式、风格、指令跟随
  • RLHF 教模型"什么是好回答"——质量、安全性、人类偏好

SFT 像教学生"模仿标准答案",RLHF 像让学生"理解什么是好答案"。只做 SFT 的模型会生硬地模仿训练数据的风格,RLHF 让模型学会泛化到新场景。

Q2: DPO 相比 RLHF 的优势是什么?

答案

  1. 简单:不需要训练单独的奖励模型
  2. 稳定:没有 PPO 的超参调优难题
  3. 高效:训练流程从 3 阶段简化为 2 阶段
  4. 效果好:在多数评测上接近或达到 RLHF 水平

Q3: 什么是 Reward Hacking?如何防止?

答案: Reward Hacking 是模型学会了"欺骗"奖励模型获取高分,但实际回复质量并没有提升。例如模型发现"生成更长的回复"总是得到更高分,就开始注水。防止方法:

  1. KL 散度约束:限制策略不能偏离参考模型太远
  2. 改进奖励模型:提高 RM 的鲁棒性
  3. 人工评估:定期检查模型行为

Q4: Constitutional AI 是什么?

答案: Anthropic 提出的方法——用 AI 评判 AI。流程:

  1. 让模型生成多个回复
  2. 让另一个 AI(或自身)根据"宪法原则"(如"不歧视"、"诚实")评判哪个更好
  3. 用这些 AI 生成的偏好数据做 DPO/RLHF

好处:减少人工标注成本,可扩展到更多场景。Claude 的安全性很大程度来自 Constitutional AI。


相关链接