©作者 | 何浩楠
单位 | 中国科学技术大学
研究方向 | AI4Science
文章题目:
FLORA: Low-Rank Adapters Are Secretly Gradient Compressors
文章地址:
https://arxiv.org/pdf/2402.03293
这篇论文不仅带来了一种全新的高秩高效微调的算法,而且深入解读了 LoRA 的本质:LoRA 是一种对全量梯度的低秩投影。其实这种观点并不让人吃惊,我们在过去的许多论文中都可以看到这种观点的影子。 比如,LoRA-FA 提出不微调 LoRA中的 A 矩阵仅微调 LoRA 中的 B 矩阵;LoRA+ 提出使用更大的学习率微调 LoRA 中的 B 矩阵;ReLoRA/PLoRA/CoLA 等提出定期合并 LoRA 权重重新初始化。其实他们的本质都是本文的标题。
本文提出的方法实际上并没有比 LoRA 更加优秀,因为 LoRA 省显存的本质是,在使用 Adam 优化器时可以避免计算全量权重的一阶动量和二阶动量(这两个都必须用 fp32 表示,非常占显存),而本文提出的方法实际上是对梯度累积的优化,能够避免在梯度累积过程中累积梯度带来的额外显存开销。在使用 Adam 训练时,FLoRA 实际上是不可以节省显存的。但是本文对 LoRA 的分析非常精彩。
LoRA中的B矩阵主导了权重的更新
1.1 LoRA的梯度
首先我们定义以下符号:权重 和 矩阵 以及 矩阵。
那么我们有 LoRA 的公式为:
对损失 求导有:
1.2 权重的更新量
得到梯度后,对于反向传播第 t+1 步有:
其中 为学习率,矩阵 B 的更新同理。由于矩阵 B 的初始化方式为全 0 初始化,矩阵 A 的初始化为正态分布初始化(peft 库中为 kaiming 初始化,与 LoRA 原文不同)。所以对训练过程中的任意一步 T 有:
其中 ,。具体定义会在附录提出,这里的意思是在训练中的任意一步 T 有,A 和 B 的值基于对正态分布初始化的 矩阵的投影得到的。有了 A 和 B 的值之后,可得,对于训练过程中的任意一步 T:
由于 是全 0 矩阵,所以:
带入 和 的值:
该式中,第三项为小项,可以忽略,所以我们有:
第三项可以忽略说明使用 LoRA 训练时将矩阵 A 冻结不训练,可以获得近似的效果(这就是 LoRA-FA 的思想,也是 LoRA + 的思想,因为矩阵 B 主导了参数的更新所以需要更大的学习率),当我们将 A 矩阵冻结时有:
也就是说,LoRA-FA 实质是通过对权重 W 梯度的一次随机降维投影来更新权重 W 的。而 LoRA 与 LoRA-FA 近似,我们可以认为这个观点在很大程度上仍然成立。
▲ LoRA-FA 与 LoRA 效果对比,可以看到性能非常近似
FLoRA算法
基于以上insight,作者团队提出了一种新的训练算法:
▲ 该算法实际上是一种梯度累积的变体。给定梯度累积步数 T,在 T 步中计算参数 W 的梯度,并且每一步都随机初始化一个降维矩阵将梯度降维,通过累计降维梯度的值来实现参数的低秩更新。
对于使用动量机制的优化器如 Adam 有:
▲ 通过以上算法能够实现动量的低秩累积
附录
这里作者使用数学归纳法证明了:
并且在证明过程中得到了 和 的形式:
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·