LoRA(低秩适配)
**LoRA(Low-Rank Adaptation)**是一种参数高效微调(PEFT)方法:冻结原模型参数, 在每层插入低秩矩阵作为可训练的"旁路"。原始论文 LoRA: Low-Rank Adaptation of Large Language Models (2021)。
核心思想
模型权重更新 ΔW 不需要满秩。低秩分解 ΔW = A·B(A 是 d×r,B 是 r×k,r 远小于 d,k) 就够了。训练时只更新 A 和 B,原权重不动。
为什么有效
- 节省显存:7B 模型全参数微调需 ~60GB 显存,LoRA 只需 ~16GB。
- 可插拔:一个基础模型可以挂多个 LoRA 适配器,按需切换。
- 合并无开销:训练完可以把 LoRA 权重合并回原模型,推理速度 0 损失。
关键超参
- rank (r):低秩矩阵的秩。常用 8/16/32/64,越大越强但也越慢。
- alpha:LoRA 缩放系数,通常设为 2×rank。
- target_modules:挂 LoRA 的层(一般是 q_proj / v_proj,也可以全挂)。
进阶
- QLoRA:4-bit 量化基础模型 + LoRA,单卡 24G 可微调 70B。
- AdaLoRA:自适应分配不同层的 rank。
- DoRA:权重分解版,比 LoRA 更稳定。