目 录CONTENT

文章目录

【LoRA】LoRA vs QLoRA 的区别

EulerBlind
2025-11-12 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

核心区别

LoRA (Low-Rank Adaptation)

  • 参数高效微调方法
  • 冻结原始模型权重,只训练低秩适配器(adapter)
  • 模型以全精度(FP16/BF16)加载到显存
  • 显存占用较高,适合显存充足的情况

QLoRA (Quantized LoRA)

  • LoRA + 量化(Quantization)
  • 将模型量化为 4-bit(或 8-bit),再应用 LoRA
  • 显存占用显著降低,可在消费级 GPU 上训练大模型

技术细节对比

特性LoRAQLoRA
量化❌ 无量化✅ 4-bit/8-bit 量化
显存占用较高(全精度模型)低(量化模型)
训练速度较快稍慢(量化开销)
精度损失无量化损失有量化损失(通常可接受)
适用场景显存充足显存受限

代码示例

quantization_config=BitsAndBytesConfig(
    load_in_4bit=True,                        # 4-bit 量化
    bnb_4bit_compute_dtype=torch.float16,     # 计算时使用 FP16
    bnb_4bit_use_double_quant=True,           # 双重量化提高精度
    bnb_4bit_quant_type="nf4"                 # NF4 量化类型
)

如果使用标准 LoRA,只需注释掉 BitsAndBytesConfig 配置即可。

选择建议

  • 使用 QLoRA:显存受限(如 Colab T4)、需要训练大模型(7B+)
  • 使用 LoRA:显存充足、追求更快训练速度、需要更高精度

QLoRA 是 LoRA 的量化版本,核心思想相同,但通过量化进一步降低显存需求。

0
博主关闭了所有页面的评论