ICLR 2025 | 探索LoRA-SB:高效低秩微调与最优初始化
一、论文信息
论文题目: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那样在训练过程中反复调整。具体实现的过程如下:
- 让低秩组件的初始组合近似全微调的第一步更新,公式表示为:
sBinitRinitAinit≈ΔWfirst-stepsB_{\mathrm{init}}R_{\mathrm{init}}A_{\mathrm{init}}\approx\Delta W_{\text{first-step}}sBinitRinitAinit≈ΔWfirst-step
其中,BinitB_{\mathrm{init}}Binit,RinitR_{\mathrm{init}}Rinit,AinitA_{\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,VT←SVD(Δ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)−1gRLoRA−XS(AAT)−1
gRLoRA−XS=∂L∂Rg_R^{\mathrm{LoRA-XS}}=\frac{\partial L}{\partial R}gRLoRA−XS=∂R∂L
其中,gRg_RgR表示LoRA-SB方法中更新矩阵 R 的梯度,gRLoRA−XSg_R^{\mathrm{LoRA-XS}}gRLoRA−XS是LoRA-XS方法中更新矩阵 R 的梯度,BTBB^TBBTB和AATAA^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 对训练数据的拟合效果更好,训练过程更稳定。
六、个人声明
本文为作者对原论文的学习笔记与心得分享,受个人学识与理解所限,文中对论文内容的解读或有不够周全之处,一切以原论文正式表述为准。本文仅用于学术交流与传播,内容均由作者独立整理完成,不代表本公众号立场。如文中所涉文字、图片等内容存在版权争议,请及时与作者联系,作者将在第一时间核实并妥善处理。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)