一、论文信息

论文题目:INITIALIZATION USING UPDATE APPROXIMATION IS A Silver Bullet FOR EXTREMELY EFFICIENT LOW-RANK FINE-TUNING
论文作者:Kaustubh Ponkshe,Raghav Singhal,Eduard Gorbunov,Alexey Tumanov,Samuel Horvath,Praneeth Vepakomma
发表会议:ICLR 2025
代码链接::https://anonymous.4open.science/r/lora-sb-anonymous-5BEE.
发表机构:MBZUAI,Georgia Tech,MIT

二、论文主要贡献

微调预训练模型已经成为机器学习中的常规做法,但这通常会消耗大量计算资源。LoRA(低秩适配)方法通过减少可训练参数的数量,使得微调更加高效。本文介绍的LoRA-SB方法,通过结合低秩更新与最优初始化策略,提供了一种新的解决方案。该方法旨在在大幅减少参数的同时,紧密地逼近完整微调(FT)的性能。

三、论文创新点

1.低秩更新近似: 与完全微调不同,LoRA-SB只更新低秩矩阵。这节省了计算资源,同时保持了性能。

2.最优初始化策略: 通过逼近完整微调的第一步,LoRA-SB确保权重更新与完全微调过程对齐,从而实现更少参数下的更好性能。

3.无缩放因子依赖: 与传统的LoRA方法需要精细调节缩放因子不同,LoRA-SB自动调整梯度,消除了手动调节的需求。

四、方法

在这里插入图片描述
lora-sb的计算公式:W=W0+sBRAW=W_{0}+sBRAW=W0+sBRA
其中,s为缩放因子,A、B为冻结的投影矩阵,R为可训练的低秩矩阵。

在LoRA-SB中,虽然仍然使用了缩放因子 s,但是通过最优初始化策略和梯度近似的优化,LoRA-SB消除了对缩放因子 s 的训练依赖。其核心思想是在初始化阶段设定一个最合适的 s 值,而不需要像传统LoRA和LoRA-XS那样在训练过程中反复调整。具体实现的过程如下:

  1. 让低秩组件的初始组合近似全微调的第一步更新,公式表示为:
    sBinitRinitAinit≈ΔWfirst-stepsB_{\mathrm{init}}R_{\mathrm{init}}A_{\mathrm{init}}\approx\Delta W_{\text{first-step}}sBinitRinitAinitΔWfirst-step
    其中,BinitB_{\mathrm{init}}BinitRinitR_{\mathrm{init}}RinitAinitA_{\mathrm{init}}Ainit为低秩组件的初始矩阵,ΔWfirst-step\Delta W_{\text{first-step}}ΔWfirst-step全微调的第一步权重更新量
    2.单个样本对应xix_ixi的全微调第一步更新为:
    ΔWfirst-step=−η×sign(∇WL(W0,xi))\Delta W_{\text{first-step}}=-\eta\times\mathrm{sign}\left(\nabla_W\mathcal{L}(W_0,x_i)\right)ΔWfirst-step=η×sign(WL(W0,xi))
    其中,η\etaη为学习率,(∇WL(W0,xi)\left(\nabla_W\mathcal{L}(W_0,x_i\right)(WL(W0,xi)是损失函数 L 对预训练权重 W0W_{\mathrm{0}}W0的梯度,表示根据当前权重对模型损失的变化率,sign(⋅):通常是一个符号函数,表示将梯度的方向保留下来(正负符号),而不考虑具体的数值大小。这有助于简化初始化过程,减少梯度噪声的影响。
    3.SVD初始化
    在LoRA-SB中,为了确保低秩矩阵的初始化与完整微调的更新方向一致,我们对第一个更新步骤进行奇异值分解(SVD)。公式如下:
    U,S,VT←SVD(ΔWavg)U,S,V^T\leftarrow\mathrm{SVD}(\Delta W_{\mathrm{avg}})U,S,VTSVD(ΔWavg)
    在这里插入图片描述
    4.根据SVD分解的结果,我们初始化低秩矩阵 B、A 和 R。具体的初始化公式如下:
    Binit=U[1:r],Ainit=V[1:r],Rinit=1sS[1:r,1:r]B_{\mathrm{init}}=U[1:r],\quad A_{\mathrm{init}}=V[1:r],\quad R_{\mathrm{init}}=\frac{1}{s}S[1:r,1:r]Binit=U[1:r],Ainit=V[1:r],Rinit=s1S[1:r,1:r]
    在这里插入图片描述
    5.LoRA-SB的梯度计算公式
    LoRA-SB通过低秩矩阵的梯度更新来模拟完整微调的效果。其计算公式为:
    gR=1s2(BTB)−1gRLoRA−XS(AAT)−1g_R=\frac{1}{s^2}(B^TB)^{-1}g_R^\mathrm{LoRA-XS}(AA^T)^{-1}gR=s21(BTB)1gRLoRAXS(AAT)1
    gRLoRA−XS=∂L∂Rg_R^{\mathrm{LoRA-XS}}=\frac{\partial L}{\partial R}gRLoRAXS=RL
    其中,gRg_RgR表示LoRA-SB方法中更新矩阵 R 的梯度,gRLoRA−XSg_R^{\mathrm{LoRA-XS}}gRLoRAXS是LoRA-XS方法中更新矩阵 R 的梯度,BTBB^TBBTBAATAA^TAAT分别是低秩矩阵B 和 A 的内积,L是损失函数。
    6.梯度更新的稳定性公式
    LoRA-SB通过确保梯度更新的稳定性,进一步优化了训练过程。该公式描述了梯度更新对损失函数的影响:
    ΔW=ηgR\Delta W=\eta g_RΔW=ηgR
    在这里插入图片描述
    LoRA-SB是唯一在 “高阶更新可行”“梯度近似全微调”“FT 对齐初始化最优” 三个维度都达标的方法

五、实验分析

实验评估了 3 个广泛使用的基准测试上的 16 个不同数据集,使用了从 3.55 亿 RoBERTa 大模型到 9B 级 Gemma-2 模型的模型。实验设置涵盖了掩蔽架构和自回归架构,使得能够全面评估 LoRA-SB 的有效性。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
1.参数效率实现量级突破:LoRA-XS、LoRA-SB 的微调参数量,远小于全微调(Full FT)和传统 LoRA 类方法(比如 LoRA-XS 仅用几十 K / 几百 K 参数,而 Full FT 需要几 B 参数),参数成本降低了数十倍甚至上百倍。
2.低参数下性能几乎不衰减
虽然 LoRA-XS/SB 参数极少,但在数学推理、多语言理解、GLUE 基准这三类任务中,性能衰减幅度很小 —— 甚至在部分任务 / 模型上,接近(或超过)全微调、传统 LoRA 的表现(比如 LoRA-SB 在多语言理解的平均准确率接近 Full FT,GLUE 任务的平均得分几乎与 Full FT 持平)。
在这里插入图片描述
LoRA-SB(蓝色曲线)的训练损失始终低于 LoRA-XS(红色曲线),说明在相同秩(r=96)的条件下,LoRA-SB 对训练数据的拟合效果更好,训练过程更稳定。

六、个人声明

本文为作者对原论文的学习笔记与心得分享,受个人学识与理解所限,文中对论文内容的解读或有不够周全之处,一切以原论文正式表述为准。本文仅用于学术交流与传播,内容均由作者独立整理完成,不代表本公众号立场。如文中所涉文字、图片等内容存在版权争议,请及时与作者联系,作者将在第一时间核实并妥善处理。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐