LoRA 与 QLoRA:普通显卡怎样微调模型?

冻结基础权重,用低秩增量学习任务变化

目录

  全参数微调要为每个参数保存梯度和优化器状态,显存代价高。LoRA 冻结基础模型,只在部分线性层旁加入两块小矩阵。

LoRA 不直接改写大权重矩阵,而是学习一个低秩增量 ΔW。

LoRA 与 QLoRA:普通显卡怎样微调模型?

第 22 课核心流程,点击查看原始 SVG

1、低秩增量

对原权重 W,LoRA 使用 W+ΔW,其中 ΔW=B·A。若隐藏维很大而秩 r 很小,A、B 的参数量远少于完整 W。

初始化通常让训练开始时 ΔW 接近 0,从基础模型行为平稳出发。

2、Rank 与 Alpha

Rank r 决定低秩通道宽度,越大容量与训练参数越多。Alpha 用于缩放 LoRA 更新,常见形式为 alpha/r。二者需要结合任务与目标层调节。

3、加在哪些层

常见目标包括 Attention 的 q_proj、k_proj、v_proj、o_proj,以及 FFN 投影。只训练少数层更省,但可能限制适应能力;覆盖更多层需要更多显存。

4、QLoRA 多做了什么

QLoRA 把冻结的基础模型权重量化为 4-bit,Forward 时按需反量化计算,同时让 LoRA 参数保持较高精度训练。它进一步降低基础权重占用。

经典 QLoRA 还使用 NF4、Double Quantization 与 Paged Optimizers 等设计。

5、训练后怎样使用

LoRA Adapter 可以单独保存并在加载基础模型时挂载,也可以合并进浮点基础权重。多个 Adapter 便于针对不同任务切换,但必须与正确的基础模型版本匹配。

6、省显存不等于没有代价

QLoRA 需要量化与反量化内核,训练速度未必总快于 BF16 LoRA。可训练参数少也不代表数据和评估可以放松;错误数据同样会导致过拟合与能力退化。

容易混淆的三件事

  1. LoRA 不是只训练 Bias。
  2. 4-bit 基础权重通常会反量化参与计算。
  3. Adapter 必须匹配基础模型与目标层。

记住这 5 件事

  1. 基础权重保持冻结
  2. ΔW 由低秩矩阵相乘
  3. Rank 控制容量
  4. QLoRA 使用量化基础权重
  5. Adapter 可单独保存或合并

参考资料

第二十二课复习总图

大模型第二十二课复习总图

第二十二课复习总图,点击查看原始 SVG

  下一课进入偏好对齐:RLHF 与 DPO 怎样让模型更符合人类选择?