花了个周末把LoRA原理啃明白,记一下理解

LoRA能省成那样,就一句话:它压根不去动原模型那一大堆冻住的权重。

绕开的办法挺巧——微调说到底是给权重加一个变化量,LoRA假设这个变化量本身是低秩的,于是把它拆成两个又瘦又长的小矩阵,训练时只更新这两个。原来那堆权重一动不动,真正要算的参数量直接小了好几个数量级,显存和时间跟着都下来了;存出来的文件也就几十兆,随插随用。

想通这一层,再回头看训练脚本里那些rank、alpha的设置,就不是照着别人的数字抄了,心里清楚自己在调的是什么。我写代码出身,理解这个反而比调参快,说穿了就是拿低秩近似换算力。

周末就搭进去了,不亏。

本质就是ΔW≈BA,两个瘦矩阵,写代码的秒懂。

1 个赞

难怪文件那么小,我硬盘里塞了几百个也才十来个G。

感谢佬,看完终于不虚了。