直接回答:LoRA 冻结预训练权重 W,在其旁路学一对低秩矩阵 A、B,前向变成 Wx + BAx(B 是 d×r、A 是 r×d,秩 r 通常 8~64),可训练参数从全量的几十亿降到百万级。省的不只是显存:优化器状态(Adam 是一阶二阶动量两份)只挂在低秩参数上, checkpoint 也只有 LoRA 权重几十 MB。QLoRA 更进一步:基座模型本身量化到 4bit(NF4)加载,只在反传时临时反量化,65B 模型单卡可微调。

展开解析:低秩假设的依据是微调对权重的改变量本身近似低秩。超参上 r 控制容量,alpha 控制缩放(实际学习率约 alpha/r),target_modules 通常选 attention 的 q/k/v/o 投影层。LoRA 的额外好处:推理时可以把 BA 合并回 W,零额外延迟;多租户场景一份基座挂多个 LoRA 切换。局限:低秩容量学不动与预训练分布差异大的新能力(如新语言),这种场景还是得全量或继续预训练;多任务数据混杂时 LoRA 也更容易互相干扰。

追问方向:LoRA 合并进基座为什么无精度损失?QLoRA 的 NF4 和双重量化是什么?DoRA、PiSSA 这些改进版改了什么?

(约 460 字)