指令微调与对齐
让大语言模型"听话"——遵循人类指令,符合人类价值观。
Instruction Tuning(指令微调)
概念
- 在预训练模型基础上,使用指令-回答对进行有监督微调
- 使模型学会遵循各种指令格式
FLAN(Finetuned Language Net)
- Google 提出的指令微调范式
- 将 NLP 任务统一为指令格式
- 62 个数据集,12 种任务类型
指令数据构建
- 人工标注:高质但成本高
- 自指令(Self-Instruct):用大模型生成指令数据
- 蒸馏:从 GPT-4/Claude 等高性能模型获取数据
数据质量 vs 数量
- LIMA(Less Is More for Alignment):仅 1000 条高质量数据的微调效果就能和 50K+ 数据相当
- 关键不在于数据量,而在于数据的多样性和质量
RLHF(Reinforcement Learning from Human Feedback)
三步流程
- SFT(Supervised Fine-Tuning):在高质量指令数据上微调
- 训练奖励模型(Reward Model):
- 对多个模型输出进行人工偏好排序
- 训练一个 RM 来预测人类偏好
- PPO 强化学习:用 RM 的评分作为奖励信号,优化策略模型
奖励模型
- 输入:prompt + response
- 输出:一个标量分数
- 训练数据:人类对多个输出的偏好排序
PPO(Proximal Policy Optimization)
- 策略梯度方法,限制每步更新幅度
- KL 散度惩罚:防止模型偏离 SFT 模型太远
- 奖励 = RM 分数 - β×KL(π_θ||π_SFT)
RLHF 的问题
- 训练不稳定、计算开销大
- 奖励模型可能被利用(reward hacking)
- 需要大量人工标注
DPO(Direct Preference Optimization)
核心思想
- 绕过显式的奖励模型,直接从偏好数据优化
- 损失函数直接使用偏好对(chosen/rejected)
DPO 的优势
- 更简单:不需要训练 RM,不需要 RL 训练循环
- 更稳定:避免 RL 训练的不稳定性
- 计算成本更低
DPO vs RLHF 对比
| 对比维度 | RLHF | DPO |
|---|---|---|
| 训练复杂度 | 高(需训练 RM + PPO 三阶段) | 低(仅需偏好数据直接优化) |
| 计算成本 | 高(需维护多个模型:策略模型、价值网络、奖励模型) | 低(仅需策略模型和参考模型) |
| 稳定性 | 低(PPO 训练易出现 Reward Hacking、模式崩塌) | 高(监督式损失函数,训练稳定) |
| 数据效率 | 需要大量人类偏好标注 | 同等数据下效果相当或更优 |
| 扩展性 | 难(需要工程化 RL 训练框架如 DeepSpeed-Chat) | 易(与标准 LM 训练流程一致,易于扩展) |
对齐的其他方法
Constitutional AI
- 模型根据原则自我修正
- 由 Anthropic 提出
- 使用一组宪法原则指导模型行为
KTO(Kahneman-Tversky Optimization)
- 只使用"好/坏"而非成对比较
- 不需要偏好对,只需要单个输出的质量评价
- 灵感来源于行为经济学前景理论
ORPO(Odds Ratio Preference Optimization)
- 合并 SFT 和偏好优化
- 在微调过程中同时学习任务能力和偏好对齐
- 无需单独的偏好对齐阶段
对齐税(Alignment Tax)
- 对齐训练可能导致模型在标准 NLP 基准上性能下降
- 需要在有用性(Helpfulness)和安全性(Harmlessness)之间权衡
- 典型表现:数学推理、代码生成等能力在对齐后可能退化
总结
流程对比图
预训练模型
│
├──→ 指令微调(SFT)────→ 基础对话能力
│
├──→ RLHF 流程
│ SFT → 训练 RM → PPO 优化
│ (三阶段,复杂)
│
├──→ DPO 流程
│ 偏好数据 → 直接优化
│ (两阶段,简洁)
│
└──→ 其他方法
Constitutional AI / KTO / ORPO关键算法对比
| 算法 | 是否需要奖励模型 | 是否需要 RL | 是否需要偏好对 | 训练阶段 | 代表性模型 |
|---|---|---|---|---|---|
| SFT | × | × | × | 单阶段 | 早期 Flan-T5 |
| RLHF | ✓ | ✓ | ✓ | 三阶段 | GPT-4, Claude |
| DPO | × | × | ✓ | 单阶段 | Zephyr, Mistral |
| KTO | × | × | ×(仅需好/坏) | 单阶段 | — |
| ORPO | × | × | ✓ | 单阶段(合并 SFT) | — |
| Constitutional AI | × | ✓ | × | 多轮自我修正 | Claude 3 |
总体趋势:从复杂到简洁,从多阶段 RL 训练逐步走向单阶段直接优化,在保持对齐效果的同时大幅降低训练成本和工程复杂度。