方法 | 核心原理 | 优点 | 缺点 | 典型使用场景 |
---|---|---|---|---|
全参数微调 | 调整预训练模型的所有参数,完全适配下游任务。 | 1. 性能最优,充分挖掘模型潜力 2. 适用性广,不受任务复杂度限制 | 1. 显存和计算资源消耗大(如70B模型需数百GB显存) 2. 训练时间长,易过拟合 | 资源充足的高精度任务(如专业领域生成、复杂推理) |
LoRA | 冻结原模型权重,注入可训练的低秩矩阵(A、B)模拟参数增量,仅更新0.01%-1%参数 | 1. 显存需求低(7B模型仅需14GB) 2. 无推理延迟,权重可合并 3. 支持多任务模块化切换 | 1. 低秩近似可能损失性能(复杂任务) 2. 需手动调整秩(r)和缩放系数(α) | 资源受限的多任务适配(如对话生成、分类任务) |
QLoRA | 在LoRA基础上引入4-bit量化,反量化计算梯度,进一步降低显存 | 1. 显存较LoRA再降33%(如21GB→14GB) 2. 保留LoRA灵活性的同时突破显存限制 | 1. 训练时间增加约39% 2. 量化可能引入精度损失(极端低bit时) | 超大规模模型微调(如千亿参数)或消费级GPU(如单卡12GB) |
补充说明
参数选择建议:
- LoRA/QLoRA的秩(r)通常取4-16,生成任务建议r=8-16,分类任务r=4-8。
- 缩放系数α一般设为r的2倍(如r=8时α=16)以平衡权重更新幅度。
- 混合策略:
可先使用QLoRA快速迭代,再结合全参数微调优化性能。 - 性能权衡:
LoRA/QLoRA在多数任务中能达到全参数微调90%以上的性能,但复杂任务(如长文本生成)可能仍需全参数微调。 LoRA是Low-Rank Adaptation(低秩适应)的缩写,核心思想是通过低秩矩阵分解(Low-Rank Decomposition)来近似模型微调时的参数更新,从而减少计算量和内存占用。
- 低秩(Low-Rank):指将高维参数矩阵分解为两个更小的矩阵(秩( r ll )原矩阵维度),显著降低参数量。例如,将1000×2000的矩阵分解为1000×2和2×2000的矩阵,参数量从200万降至6000。
- 适应(Adaptation):指通过微调预训练模型,使其适配下游任务,同时冻结原始权重以减少资源消耗。