指令微调 (Instruction Tuning):理解 RLHF 与模型对齐

📂 所属阶段:第五阶段 — 迈向大模型 (LLM) 的阶梯
🔗 相关章节:Prompt Engineering 基础 · 参数高效微调 (PEFT)


1. 为什么需要指令微调?

1.1 预训练模型的问题

GPT-3(预训练)的问题:
输入:"写一首诗"
输出:生成的是互联网上的诗歌片段,而不是"一首用户要求的诗"

原因:预训练任务是"续写文本",不是"遵循指令"

解决方案:指令微调!
→ 让模型学会理解人类指令
"""

1.2 指令微调流程

指令微调 = 用指令-响应对数据集微调预训练模型

数据集格式:
{
  "instruction": "翻译成中文",
  "input": "Hello, world!",
  "output": "你好,世界!"
}

微调后:
输入:"翻译成中文:Hello, world!"
输出:"你好,世界!"  ← 模型学会了遵循指令!
"""

2. SFT(监督微调)

"""
SFT = Supervised Fine-Tuning

用人工标注的指令-响应对,监督微调预训练模型

步骤:
1. 收集指令数据集(人工标注)
2. 对齐预训练模型
3. 全量参数微调或 LoRA

问题:人工标注成本高、质量不一
→ 解决:RLHF!
"""

3. RLHF(人类反馈强化学习)

3.1 RLHF 三步曲

RLHF = Reinforcement Learning from Human Feedback

步骤:
1. SFT:用人工标注数据微调模型
2. 训练 Reward Model:用人类偏好数据训练奖励模型
3. PPO:强化学习优化,生成更高奖励的回复

目的:让模型生成"人类更喜欢"的回答
"""

3.2 Reward Model

"""
Reward Model(奖励模型):

输入:(指令 + 响应)对
输出:奖励分数(越高越好)

训练数据:人类对多个回答的偏好排序
A回答 > B回答 → Reward(A) > Reward(B)
"""

3.3 PPO 优化

"""
PPO = Proximal Policy Optimization(近端策略优化)

目标:用 Reward Model 的反馈优化 SFT 模型

核心思想:
- 生成回答 → 奖励评估 → 调整生成策略
- 生成高奖励回答的概率 ↑
- 生成低奖励回答的概率 ↓
- 避免大幅改变模型参数(KL 散度约束)
"""

4. DPO(直接偏好优化)

"""
DPO = Direct Preference Optimization(直接偏好优化)

简化版 RLHF,无需训练 Reward Model,无需 PPO

核心思想:用偏好数据直接优化模型

损失函数:
L = -log(σ(r(x,y+) - r(x,y-)))

→ y+(人类偏好回答)的概率 ↑
→ y-(人类不喜欢)的概率 ↓
"""

5. 对齐技术总结

技术核心思想优点缺点
SFT监督微调简单需要大量标注
RLHF强化学习效果更好复杂、难训练
DPO简化 RLHF稳定、易用效果略弱
RLAIFAI 反馈无需人工AI 偏好可能偏移

6. 小结

对齐技术流程:

预训练模型(会续写)
  ↓ SFT(监督微调)
指令模型(会回答问题)
  ↓ RLHF/DPO(对齐人类偏好)
对齐模型(回答有帮助、无害、诚实)

这就是 ChatGPT / Claude 能"善解人意"的原因!
"""

💡 记住:指令微调让模型从"续写文本"变成"遵循指令",RLHF/DPO 让模型的回答更符合人类价值观。2026 年主流开源模型(如 LLaMA、Qwen)都经过了指令微调。


🔗 扩展阅读