大模型微调全景解析:从增量预训练到对齐优化算法体系
1. 引言
大模型(LLM / VLM)的能力形成通常经历两个阶段:
- 通用能力获取 —— 通过大规模预训练学习语言或多模态表示
- 任务与价值对齐 —— 通过微调与偏好优化提升可用性与安全性
本文系统梳理主流微调与对齐训练算法,包括:
- (增量)预训练
- (多模态)指令监督微调(SFT)
- 奖励模型(RM)训练
- PPO(RLHF)
- DPO
- KTO
- ORPO
并从优化目标、训练流程、优缺点、适用场景等维度进行深入分析。
2. 整体训练流程全景图
flowchart TD
A[基础预训练模型] --> B[增量预训练]
B --> C[指令监督微调 SFT]
C --> D[奖励模型训练 RM]
D --> E[PPO 训练]
C --> F[DPO 训练]
C --> G[KTO 训练]
C --> H[ORPO 训练]
E --> I[对齐后的最终模型]
F --> I
G --> I
H --> I3. 增量预训练(Continued Pretraining)
3.1 核心思想
在已有预训练模型基础上,使用新的大规模语料继续进行自监督训练。
常见目标函数
对于语言模型:
仍然是标准的自回归语言建模。
3.2 作用
- 领域适配(法律、金融、医疗)
- 多语种扩展
- 多模态能力增强(加入视觉编码器)
3.3 流程图
flowchart LR
D1[领域数据] --> T1[Tokenizer]
T1 --> M1[基础模型]
M1 -->|自回归损失| M2[更新参数]3.4 优点与局限
优点:
- 提升知识覆盖
- 保持训练稳定
局限:
- 不解决“行为对齐”
- 可能遗忘旧知识(灾难性遗忘)
4. 指令监督微调(SFT)
4.1 定义
使用人工标注的“指令-回答”数据进行监督训练。
其中:
- x:指令
- y:高质量回答
4.2 多模态 SFT
当输入包含图像时:
架构通常为:
flowchart LR
IMG[图像] --> VIT[视觉编码器]
TXT[文本] --> EMB[文本Embedding]
VIT --> FUSION[多模态融合]
EMB --> FUSION
FUSION --> LLM[语言模型]
LLM --> OUT[生成回答]4.3 局限
- 只能学习“平均答案”
- 无法区分“更优”与“次优”
- 无法建模人类偏好
因此引出奖励模型与强化学习。
5. 奖励模型训练(Reward Model, RM)
5.1 训练数据形式
给定:
- prompt
- 两个候选回答 y₁, y₂
- 人类偏好标注(哪个更好)
5.2 优化目标
通常使用 Bradley-Terry 模型:
损失函数:
5.3 结构图
flowchart LR
P[Prompt] --> M[模型生成两个回答]
M --> C1[回答A]
M --> C2[回答B]
C1 --> RM[奖励模型]
C2 --> RM
RM --> LOSS[偏好损失]6. PPO(RLHF 核心算法)
6.1 目标
最大化奖励,同时约束模型不要偏离 SFT 模型过远。
6.2 优化目标
核心思想:
- 提升奖励
- 加入 KL 约束防止发散
6.3 流程图
flowchart TD
P[Prompt] --> POL[当前策略模型]
POL --> RESP[生成回答]
RESP --> RM[奖励模型打分]
RM --> ADV[计算优势]
ADV --> PPO[更新策略]6.4 优缺点
优点:
- 强对齐能力
- 可显式控制 KL
缺点:
- 训练复杂
- 不稳定
- 计算昂贵
- 需要采样循环
7. DPO(Direct Preference Optimization)
7.1 核心思想
不训练奖励模型,直接利用偏好数据进行优化。
7.2 目标函数
7.3 特点
- 不需要奖励模型
- 不需要强化学习
- 稳定且高效
- 理论上等价于 KL 约束下的最优解
7.4 对比 PPO
flowchart LR
PPO -->|需要| RM
PPO -->|需要| 采样循环
DPO -->|不需要| RM
DPO -->|纯监督训练| SFT8. KTO(Kahneman-Tversky Optimization)
8.1 思路
基于行为经济学的“前景理论”,建模:
- 人类对收益与损失的不对称感知
将 reward 差值映射为非线性函数。
8.2 优势
- 更符合人类偏好心理
- 对极端偏好更敏感
8.3 形式
再用于优化策略。
9. ORPO(Odds Ratio Preference Optimization)
9.1 核心
将偏好建模为**赔率比(odds ratio)**形式。
避免显式 KL 项,同时隐式保持稳定。
9.2 损失形式(简化表达)
9.3 优势
- 单阶段训练
- 无需奖励模型
- 收敛稳定
- 计算效率高
10. 算法演进关系图
flowchart TD
SFT --> PPO
PPO --> DPO
DPO --> ORPO
DPO --> KTO演进趋势:
- 从强化学习 → 直接偏好优化
- 从复杂 pipeline → 单阶段训练
- 从 reward model → 端到端对齐
11. 方法对比总结
| 方法 | 是否需要 RM | 是否 RL | 训练复杂度 | 稳定性 | 主流程度 |
|---|---|---|---|---|---|
| 增量预训练 | 否 | 否 | 中 | 高 | 基础 |
| SFT | 否 | 否 | 低 | 高 | 标准步骤 |
| PPO | 是 | 是 | 高 | 中 | 经典 RLHF |
| DPO | 否 | 否 | 中 | 高 | 主流 |
| KTO | 否 | 否 | 中 | 中高 | 研究中 |
| ORPO | 否 | 否 | 低 | 高 | 新趋势 |
12. 工程实践建议
如果目标是:
- 领域增强 → 增量预训练
- 指令能力 → SFT
- 强对齐安全性 → DPO / ORPO
- 精细价值控制 → PPO
- 心理偏好建模 → KTO
13. 未来趋势
- 去奖励模型化
- 单阶段对齐
- 多模态统一优化
- 长上下文对齐
- 可解释偏好建模
14. 总结
大模型微调已从:
- 预训练 → SFT → RLHF
演进到:
- SFT → DPO / ORPO 等直接偏好优化方法
整体趋势是:
- 更稳定
- 更高效
- 更少人工标注成本
- 更强理论统一性
在工业实践中,目前主流方案通常为:
增量预训练 + SFT + DPO / ORPO
而 PPO 正逐步减少使用,但在特定高安全要求场景仍具有价值。
QA
一、基础理解类
1. 简述 RLHF 的完整流程。
参考回答:
RLHF(Reinforcement Learning from Human Feedback)通常包括三阶段:
flowchart LR
A[SFT 模型] --> B[奖励模型训练 RM]
B --> C[PPO 强化学习]
C --> D[对齐后的模型]-
SFT(监督微调)
使用高质量指令数据训练初始对齐模型。 -
奖励模型训练(RM)
基于人类偏好数据训练 reward model: -
PPO 强化学习优化策略
核心问题:训练复杂、计算开销大、稳定性一般。
二、DPO 相关问题
2. DPO 的核心思想是什么?
参考回答:
DPO(Direct Preference Optimization)通过数学推导,将带 KL 正则的 RLHF 目标转化为一个直接的监督式优化目标,无需奖励模型和强化学习。
其核心损失:
本质上:
- 提升优选样本概率
- 抑制劣选样本概率
- 通过 reference model 隐式实现 KL 约束
3. 为什么 DPO 不需要奖励模型?
参考回答:
在 RLHF 中:
- PPO 目标 = 最大化奖励 − KL 正则
- 奖励模型近似人类偏好
DPO 通过推导证明:
最优策略满足 reward 差与对数概率差线性相关
因此可以直接用:
替代 reward 差。
换言之:
奖励模型被“折叠”进概率比形式。
4. DPO 和 PPO 的本质区别?
| 维度 | PPO | DPO |
|---|---|---|
| 是否需要奖励模型 | 是 | 否 |
| 是否需要采样循环 | 是 | 否 |
| 是否属于 RL | 是 | 否 |
| 训练复杂度 | 高 | 中 |
| 稳定性 | 中 | 高 |
| KL 约束方式 | 显式 | 隐式(通过 reference) |
三、DPO vs KTO 深度对比
5. 请对比 DPO 和 KTO。
参考回答:
1️⃣ 理论基础差异
- DPO 基于 KL 正则的最优策略推导
- KTO(Kahneman-Tversky Optimization) 基于前景理论(Prospect Theory)
KTO 认为:
- 人类对“损失”比“收益”更敏感
- 偏好不是线性的
其价值函数:
DPO 默认 reward 差线性处理。
2️⃣ 优化目标差异
DPO:
KTO:
其中 v 是非线性前景函数。
3️⃣ 工程差异
| 维度 | DPO | KTO |
|---|---|---|
| 理论来源 | RL 推导 | 行为经济学 |
| 偏好处理 | 线性 | 非线性 |
| 极端样本敏感度 | 中等 | 高 |
| 超参复杂度 | 低 | 较高(α, β, λ) |
| 实际成熟度 | 主流 | 研究阶段 |
4️⃣ 什么时候用 KTO?
当:
- 数据偏好强烈不对称
- 极端错误回答必须强惩罚
- 希望更贴近人类心理决策
否则工业中更常用 DPO / ORPO。
四、ORPO 相关问题
6. ORPO 和 DPO 的区别?
参考回答:
ORPO(Odds Ratio Preference Optimization)核心是:
使用赔率比(odds ratio)替代对数概率差。
DPO 使用:
ORPO 使用:
优势:
- 单阶段训练
- 无 reference 模型
- 更稳定
- 更简单
五、进阶面试问题
7. DPO 是否等价于 RLHF?
标准回答结构:
- 在假设 reward 可表示为对数概率差时
- 在固定 reference model 前提下
- DPO 是 RLHF 的闭式解
但:
- RLHF 可做更复杂 reward shaping
- DPO 受限于偏好数据形式
因此理论等价,但表达能力略有限。
8. DPO 的 β 参数作用?
β 控制:
- 对 reference 偏离程度
- 对偏好强度的敏感度
β 大 → 更强对齐但可能不稳定
β 小 → 更保守
9. DPO 是否会过拟合偏好数据?
可能会。
常见解决方法:
- 数据混合 SFT loss
- 加 dropout
- 使用 conservative DPO
- 正则化 log-ratio
六、综合对齐算法演进理解题
10. 请总结对齐算法的发展趋势。
flowchart LR
PPO --> DPO
DPO --> ORPO
DPO --> KTO趋势:
- 去强化学习化
- 去奖励模型化
- 单阶段训练
- 提高稳定性
- 减少工程复杂度
当前工业主流:
SFT + DPO / ORPO
七、高质量总结型回答模板
如果面试官问:
“你如何选择 DPO、KTO 或 PPO?”
可以回答:
- 若追求稳定性和工业可落地 → DPO
- 若需要精细 reward shaping → PPO
- 若关注人类心理偏好非对称性 → KTO
- 若希望简化 pipeline → ORPO
并补充:
目前主流工业界已从 PPO 迁移到 DPO / ORPO。