Skip to content

Full Fine-Tuning vs LoRA vs QLoRA

三种主流 LLM 微调方法的系统对比 — 从全参微调到极致压缩的量化低秩适配

对比概览

维度Full Fine-TuningLoRAQLoRA
提出时间2021 (Hu et al.)2023 (Dettmers et al.)
可训练参数100%0.1-1%0.01-0.1%
显存需求4-8× 模型大小1.2-1.5× 模型大小1.05-1.2× 模型大小
训练时间基准2-4× 更快3-5× 更快
最终质量基准(最高)接近全参接近全参
基础模型精度FP16/BF16FP16/BF16NF4 (4-bit)
加载后推理FP16/BF16FP16/BF16 + adapter支持合并回原始精度

内存需求示例(70B 模型,单 GPU 场景)

方法需要显存推荐硬件
Full FT (FP16)~560 GB (4× A100 80G)4-8× A100 80GB
Full FT (BF16, ZeRO-3)~280 GB (4× A100)4× A100 80GB
LoRA (FP16)~140 GB2× A100 80GB
LoRA (FP16, 单卡)~140 GB1× A100 80GB + CPU offload
QLoRA (NF4)~48 GB1× A100 40GB 或 3090/4090
QLoRA (NF4, 7B 模型)~8 GB1× RTX 3080

详细分析

Full Fine-Tuning

原理:更新模型中所有参数。

适用场景:

  • 从头预训练或全模型域适应(如通用模型 → 代码模型)
  • 目标领域与训练领域差异很大(如医学、法律)
  • 需要最大程度提升下游任务性能
  • 有充足的计算资源

风险:

  • 灾难性遗忘(Catastrophic Forgetting):预训练学到的知识可能丢失
  • 计算成本极高
  • 需要分布式训练策略(ZeRO、FSDP、TP)

LoRA (Low-Rank Adaptation)

原理:冻结原始权重,在注意力层注入低秩分解矩阵($r imes (d_{model} + d_{ff})$)作为可训练参数。

关键参数:

  • Rank (r): 低秩维度。高 r 恢复更多全参能力,低 r 更省显存
    • 常见值: r=8, 16, 32, 64, 128
    • 经验: r=16 通常就足够
  • Alpha (α): 缩放因子,通常设为 r 的 2 倍
  • Target Modules: 通常只适配 Q 和 V 投影层,也可以扩展到全部

优点:

  • 显存大幅降低(不需要存储原始权重的优化器状态)
  • 一次训练、多场景切换(只需存储小 adapter 文件)
  • 几乎不增加推理延迟(adapter 可以合并到原始权重)

QLoRA

原理:在 LoRA 基础上,将基础模型用 NF4(4-bit NormalFloat)量化加载。

额外组件:

  • NF4 量化: NormalFloat 4-bit,专为正态分布参数优化的数据格式
  • 双重量化: 对量化常数再做一次量化,进一步节省显存
  • 分页优化器: 利用 CPU 内存存储优化器状态,按需换页到 GPU

优点:

  • 消费级 GPU 即可微调大模型(3090 → 70B 模型)
  • 质量非常接近 LoRA(NF4 vs FP16 损失通常 <1%)
  • 大幅降低了 LLM 微调的门槛

推荐选择矩阵

场景推荐方法原因
有 8×A100,需要最大性能Full FT无质量损失,完全控制
有 2-4×A100,通用领域LoRA (r=32-64)逼近全参质量的 95-99%
单 A100/4090LoRA70B 以下模型可行
单消费级显卡 (3090/4090)QLoRA能从 70B 模型微调推理
需要在多任务快速切换LoRA只需保存小 adapter
资源有限但追求最好质量QLoRA + r=64最佳性价比

微调方法 vs 其他技术对比

维度Full FTLoRAQLoRA适配器微调 (Adapter)Prefix Tuning
新增参数0%0.1-1%0.01-0.1%1-5%0.01-0.1%
推理开销可合并/极小可合并/极小5-10%1-3%
模型质量★★★★★★★★★☆★★★★☆★★★☆☆★★★☆☆
流行程度★★★☆☆★★★★★★★★★☆★★☆☆☆★★☆☆☆

工程实践

LoRA 最佳实践

1. 目标层选择: Q, V, K, O, up, down, gate 全部适配更好
2. Rank 选择: r=16(起步),r=64(追求质量),r=8(极致省显存)
3. 学习率: 1e-4 到 5e-4(通常高于全参微调的 1e-5)
4. 优化器: AdamW (8-bit 版节省显存)
5. 调度器: cosine decay + warmup

QLoRA 注意事项

  • NF4 vs FP4: NF4 在 LLM 微调中通常优于 FP4
  • 合并权重: 训练后可将 adapter 合并回 FP16 权重,消除量化损失
  • 批次大小: QLoRA 的量化前向传播稍慢,token/s 减半(相比 LoRA)

相关概念

参考来源

  • Hu et al. (2021). "LoRA: Low-Rank Adaptation of Large Language Models." ICLR 2022.
  • Dettmers et al. (2023). "QLoRA: Efficient Finetuning of Quantized Language Models." NeurIPS 2024.
  • Houlsby et al. (2019). "Parameter-Efficient Transfer Learning for NLP." (Adapter 方法)
  • Lester et al. (2021). "The Power of Scale for Parameter-Efficient Prompt Tuning."

AI Knowledge Base — 持续积累