LoRAvsQLoRA
AI领域术语对比 — 快速理解两者的核心差异
概览对比
LoRA
LoRA 在预训练模型的线性层旁边插入两个低秩矩阵(降维 + 升维),只训练这部分新增参数,原始权重完全冻结。一个 7B 模型全量微调需要 60GB+ 显存,LoRA 可以把可训练参数压缩到不足 1%,在单张消费级 GPU 上完成同等质量的微调。
QLoRA
QLoRA 把预训练模型量化为 4-bit NormalFloat 精度存储,同时在冻结的量化权重上附加全精度的 LoRA 适配器进行训练。原本需要多卡并行才能微调的 65B 模型,现在一张 48GB GPU 就能搞定,且任务性能几乎不掉。
核心要点
LoRA
- 可训练参数不足全量的 1%,显存占用降低 3-5 倍
- 训练完成后适配器可合并回原模型,推理零开销
- 2024 年衍生出 DoRA、PiSSA、LoRA-XS 等变体,生态持续扩展
QLoRA
- 引入 NF4 数据类型,比标准 4-bit 量化精度更高
- 双重量化技术进一步压缩量化常数的显存占用
- 在 Guanaco 基准上,QLoRA 微调的 65B 模型达到 ChatGPT 99.3% 的性能
正式定义
LoRA
一种参数高效微调方法,通过在冻结的预训练权重旁注入可训练的低秩矩阵对来实现模型适配。
QLoRA
一种将 4-bit 模型量化与低秩适配器训练相结合的参数高效微调框架,在大幅降低显存需求的同时保持全精度微调的任务性能。
应用场景
LoRA
- 用特定领域数据微调开源 LLM
- 在消费级 GPU 上定制聊天机器人风格
- 为同一基座模型训练多个任务适配器并按需切换
QLoRA
- 在单张消费级 GPU 上微调 70B 级别开源模型
- 资源受限团队快速验证大模型在垂直领域的效果
- 边缘设备上的模型适配与部署前微调
详细解读
LoRA
LoRA 的核心思想来自微软 2021 年的论文:大模型微调时的权重更新矩阵本质上是低秩的,不需要更新全部参数。它将权重更新分解为 W = BA(B 降维、A 升维),秩 r 通常取 8-64。训练时只更新 A 和 B,推理时将 BA 合并回原权重,不增加延迟。这一方法已成为 Hugging Face PEFT 库的默认微调策略,广泛应用于 LLaMA、Mistral、Qwen 等开源模型的领域适配。局限在于对秩 r 的选择敏感,且在需要大幅改变模型行为的场景下效果可能不如全量微调。
QLoRA
QLoRA 由华盛顿大学团队于 2023 年提出,核心创新有三点:一是 4-bit NormalFloat(NF4)量化,针对正态分布的预训练权重做信息论最优量化;二是双重量化(Double Quantization),对量化常数本身再做一次 8-bit 量化,每个参数额外节省约 0.37 bit;三是分页优化器,利用 NVIDIA 统一内存在 GPU 显存不足时自动卸载到 CPU。反向传播时梯度通过冻结的 4-bit 权重计算,但只更新全精度的 LoRA 参数。这使得个人开发者和小团队也能在单卡上微调最大规模的开源模型。
快速对比
| 维度 | LoRA | QLoRA |
|---|---|---|
| 类型 | 专业术语 | 专业术语 |
| 标签 | 模型训练、LLM、PEFT | 模型训练、LLM、PEFT |
| 热度 | 92 | 88 |