图解 · 运行过程 · 工程取舍

LoRA:冻结大表,学习小增量

动态图解约 1 千字1 组分步图解

减少的是整个模型,还是需要更新的参数?

动态图解 · O03

LoRA:冻结大表,学习小增量

减少的是整个模型,还是需要更新的参数?

把基础权重看成已有配方。LoRA不把配方丢掉,而是用两张小表描述修改量。训练时主要改小表,减少可训练参数及相关优化器状态;但运行仍要用基础模型,增量容量也受秩限制。

冻结本次训练不更新该参数,不表示不读取或不参与前向。
秩r增量能表达的独立方向数的上限。
合并在适用条件下把增量加回基础权重供推理。

输入与适用条件:独立小例:W为4×4单位矩阵,r=1,A=[[.1],[.2],[.3],[.4]],B=[[1,−1,.5,0]],x=[1,0,0,0],缩放1。

1 / 4 · 原权重并没有被删除

第1步,共4步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

LoRA:冻结大表,学习小增量:原权重并没有被删除冻结 W:16个数1000010000100001A:4个数0.10.20.30.4B:4个数1-10.50

基准W是4×4单位矩阵,共16个参数。LoRA冻结这16个数,另外准备4×1的A和1×4的B,共8个可训练数。

本步状态由图形与说明共同给出。

默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。

逐步说明与计算记录

以下解释全部展开,与播放器使用同一份数据;不是另换输入的第二个算例。

1.原权重并没有被删除

基准W是4×4单位矩阵,共16个参数。LoRA冻结这16个数,另外准备4×1的A和1×4的B,共8个可训练数。

2.两张小表表示一个增量

增量ΔW=A×B,最多只有秩1。它只表达允许的变化方向,不承诺任意完整4×4更新都能这样表示。

3.输出是原路径加增量路径

固定x=[1,0,0,0],缩放系数1。xW=[1,0,0,0];xAB=[0.1,−0.1,0.05,0];相加得到[1.1,−0.1,0.05,0]。

4.训练少了,不等于推理自动更快

适当合并增量可避免额外推理分支,但合并、精度和多适配器切换都要考虑。LoRA主要优化微调资源,不保证所有端到端任务更快。

为什么需要

全量微调所需梯度和优化器状态可能太大。

怎样实现

冻结基础权重,训练低秩增量,保留正确缩放和模块匹配。

可能的代价与误解

小秩可能限制能力;基础模型与适配器版本不匹配;低精度合并有数值差异。

如何判断是否做对

验证x(W+AB)=xW+xAB,再做独立任务质量与资源对照。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。