低秩适配只学一个矩阵:SingLoRA在LLaMA-7B上以六成参数预算超过LoRA与LoRA+
核心概要
低秩适配(LoRA)把权重更新拆成两个小矩阵相乘,但两者范数在训练中常相差悬殊,造成梯度流不平衡和训练不稳定。SingLoRA把更新改写为单个低秩矩阵乘自身转置,从构造上消除矩阵间尺度冲突,并把可训练参数减少约一半。在MNLI上微调LLaMA-7B时,SingLoRA取得91.3%准确率,高于LoRA的89.1%和LoRA+的90.2%,而只用了它们60%的参数预算。
深度剖析
低秩适配的更新不再由两个矩阵相乘得到,而由一个低秩矩阵乘自身转置给出,两个因子之间的尺度差异因此不再存在。 此前的LoRA及其变体在训练中两个因子的范数常相差很大,需要为两个矩阵分别设定学习率或改用专门的优化器来维持稳定。 在MNLI上微调LLaMA-7B时,SingLoRA达到91.3%准确率,LoRA为89.1%,LoRA+为90.2%,而SingLoRA只使用两者60%的参数预算。
训练稳定性来自参数化本身,标准的一阶优化器即可直接使用,不需要为两个矩阵分别调学习率。 此前的做法要么为两个矩阵设置不同学习率,要么引入黎曼梯度下降等专用优化器,落地时需要额外调参。 在5×10⁻⁵到10⁻⁴的学习率范围内微调LLaMA-7B于MNLI,SingLoRA的精度波动约1%,LoRA的波动最高达4.8%。
对称参数化没有削弱注意力层的表达能力,查询与键的对称更新相乘后仍可产生非对称的注意力变换。 单矩阵乘转置的形式看起来比两个自由矩阵受限,因此需要确认它能否覆盖LoRA可学的注意力模式。 在128×128的合成注意力拟合任务上,以1000组随机初始化取平均,SingLoRA的近似误差约为10⁻⁵,LoRA停留在约10⁻²。
启示与展望
实验覆盖GLUE中的MNLI、QQP、QNLI任务上的RoBERTa-base与GPT-2、MNLI上的LLaMA-7B、GSM8K上的Qwen2.5-1.5B,以及Stable Diffusion V1.5在DreamBooth和40张人脸数据上的微调;全部实验在单块48GB的NVIDIA A40上完成。
在GSM8K上等秩比较时,SingLoRA以少37%的参数取得61.0%,低于LoRA的64.5%;只有在参数预算可比时才以66.5%超过LoRA的64.5%。图像生成的DINO相似度为0.151,DoRA为0.148,LoRA为0.143,差距较小。与DoRA等变体的结合被列为后续方向,尚未给出实验结果。
