LoRA (Low-Rank Adaptation)QLoRA (Quantized Low-Rank Adaptation) 都是参数高效微调(PEFT)技术,用于高效地微调大型语言模型(LLM)。

它们的基本思想都是在不训练所有模型参数的情况下,通过引入较小的可训练矩阵(称为适配器)来适应新任务,从而显著减少计算资源和内存需求。

核心区别:量化(Quantization)

它们之间的最主要区别在于 QLoRA 引入了量化技术,而 LoRA 没有。

  • LoRA:只引入了低秩适配器来减少训练参数。基座模型(pre-trained model)的权重通常保持在更高的精度(如 16-bit BFloat16 或 Float16)。

  • QLoRA:在 LoRA 的基础上,进一步将基座模型的权重量化到低精度(通常是 4-bit NormalFloat, NF4)进行存储和计算。这意味着模型在加载和推理时占用的 GPU 显存会大幅减少

LoRA 与 QLoRA 的主要比较

特性

LoRA (Low-Rank Adaptation)

QLoRA (Quantized LoRA)

基座模型权重精度

通常为 16-bit (e.g., FP16, BF16)

量化为 4-bit (e.g., NF4)

GPU 显存占用

较高(相对于 QLoRA)

极低(比 LoRA 少 75% 左右)

训练速度

更快(比 QLoRA 快 66% 左右)

稍慢(因为引入了量化和反量化步骤)

成本效益

相对 QLoRA 更低(最高可便宜 40%)

略高(但内存效益更高)

支持的最大序列长度

较低(因为内存限制)

较高(内存占用少,可以支持更高的序列长度)

准确性

与完全微调相近

与 LoRA 相似,通常能保持较高准确性

适用场景

硬件资源相对充足,追求更快的训练速度

GPU 显存受限(例如只有一块消费级显卡),需要微调更大的模型或使用更大的批次大小

总结与选择建议

  • 如果你有足够的 GPU 显存(例如多块或大容量的 A100/H100/A6000 等),并且追求最快的训练速度,那么选择 LoRA

  • 如果你受到 GPU 显存的严重限制(例如只有一块 L4 或消费级 GPU),但又想微调大型 LLM(比如 7B, 13B, 甚至 70B 模型),或者想要使用更大的批次大小来提高训练稳定性,那么 QLoRA 是更优的选择,因为它极大地减少了内存需求。

简而言之:QLoRA = LoRA + 量化,它用略微降低的训练速度换取了对 GPU 显存的极大节省。

Logo

更多推荐