简介:微调术语看似繁多,实则分属两个正交维度:全量微调、LoRA、QLoRA 解决“改哪些参数”,SFT、DPO 解决“学什么目标”。本文系统梳理两类方法的原理差异、组合关系、适用场景与选型依据,并给出训练与迁移中的关键注意事项,帮助读者建立清晰的微调选型逻辑。
在面试、方案评审或技术选型讨论中,经常出现这样的场景:被问到“大模型微调有哪些方案”,能答出全量微调、LoRA、QLoRA、SFT、DPO 一串名词,却被追问“它们是什么关系、怎么选”时语塞。问题的根源在于,这些名词并不处在同一个分类轴上:LoRA 和 SFT 不是同一层面的东西;SFT 和 DPO 是同一维度上前后衔接的两种目标;而 LoRA 与 SFT 则可以自由组合。
理解这一点,是建立微调选型逻辑的前提。本文将围绕“参数维度”与“目标维度”两条正交主线,系统对比各类微调方案的相同点、核心差异、组合方式与适用场景。
这一维度决定训练时更新模型权重的范围,代表方案为全量微调、LoRA 与 QLoRA。
三者回答的是同一个问题:“训练时动谁的权重、动多少”,区别只在参数更新范围与资源消耗。
这一维度决定用什么数据、优化什么损失,代表方案为 SFT 与 DPO。
两者回答的是另一个问题:“拿什么信号教模型”,且通常呈先后衔接关系:先 SFT 让模型会回答,再 DPO 让模型答得好。
| 对比项 | 全量微调 | LoRA | QLoRA |
|---|---|---|---|
| 更新参数范围 | 全部参数 | 注入的低秩旁路矩阵 | 旁路矩阵,基座量化冻结 |
| 可训练参数占比 | 100% | 通常 <1% | 通常 <1% |
| 显存需求 | 最高(需存全量梯度与优化器状态) | 中等 | 最低 |
| 训练后产物 | 完整模型权重 | 适配器(可合并或挂载) | 适配器 + 量化基座 |
| 效果上限 | 潜在最高 | 多数任务接近全量 | 通常可接受,存在量化损失 |
| 推理侧影响 | 无额外结构 | 合并后无影响;挂载有轻微开销 | 需匹配量化基座或反量化合并 |
| 多任务复用 | 每任务一份完整模型 | 一个基座可挂多个适配器 | 同 LoRA,基座更省资源 |
差异的技术根源:训练显存的大头并非模型权重本身,而是全量参数对应的梯度与优化器状态。LoRA 通过只训练旁路矩阵,把这部分开销大幅压缩;QLoRA 再把剩余的权重存储压缩到 4 比特,训练门槛进一步下探。代价则分别体现为:全量微调易过拟合与遗忘、LoRA 表达能力受秩限制、QLoRA 叠加了量化误差。
| 对比项 | SFT | DPO |
|---|---|---|
| 数据形态 | 指令—回答对 | 提示 + 优回答 + 劣回答 |
| 训练信号 | 回答部分的下一词元预测损失 | 成对偏好比较损失 |
| 学习内容 | 模仿“正确答案长什么样” | 学习“哪种回答更好” |
| 所处阶段 | 通常为对齐第一阶段 | 通常紧随 SFT 之后 |
| 数据成本 | 需高质量示范数据 | 需成对偏好标注,成本更高 |
| 解决的问题 | 指令跟随、格式、知识注入 | 有用性、安全性、风格对齐 |
关键关系:SFT 与 DPO 不是互斥替代,而是流水线上的两个阶段。DPO 的效果高度依赖 SFT 后模型的基本能力——如果模型连指令都听不懂,偏好信号无从谈起。实践中常见路径是“SFT 打底、DPO 对齐”。
由于两个维度正交,可自由组合出 3×2 的方案矩阵:
| 组合 | 全量微调 | LoRA | QLoRA |
|---|---|---|---|
| SFT | 全参 SFT:领域注入首选 | LoRA-SFT:性价比最高的通用选择 | QLoRA-SFT:低资源训练大模型 |
| DPO | 全参 DPO:对齐上限高 | LoRA-DPO:低成本偏好对齐 | QLoRA-DPO:算力受限下的对齐 |
概念示意(伪代码):
# 两阶段训练流水线:参数维度与目标维度自由组合# 阶段一:SFT,学"怎么回答"base = 加载预训练基座()trainable = 选择参数策略(base) # 全参 / LoRA / QLoRAsft_model = 训练(trainable,数据 = "指令-回答对",损失 = "回答部分交叉熵")# 阶段二:DPO,学"哪种回答更好"policy = 加载SFT模型()ref = 冻结副本(policy) # 参考模型需与策略模型同源final = 训练(policy,数据 = "提示+优回答+劣回答",损失 = "偏好比较损失",参考模型 = ref)
同一流程中,把“选择参数策略”换成全参、LoRA 或 QLoRA,即可得到六种具体方案中的任意一种——这正是“正交”的含义。
大模型微调的诸多名词,本质上分布在两条正交的轴上:全量微调、LoRA、QLoRA 回答“改哪些参数”,属于工程与资源约束下的选择;SFT、DPO 回答“学什么目标”,属于训练信号与阶段的选择。二者可自由组合,构成从“全参 SFT”到“QLoRA-DPO”的完整方案空间。选型时先判断模型缺能力还是缺对齐以确定目标维度,再依据算力预算、数据规模与多任务需求确定参数维度,即可得到合理的方案组合。能讲清这两条主线及其组合逻辑,微调选型就不再是名词的堆砌,而是一套可复用的决策方法。