大家好,今天向大家推荐一篇最新发表在ICML 2024的研究论文。这篇论文提出了一种新的参数高效微调方法DoRA(Weight-Decomposed Low-Rank Adaptation)。
「DoRA通过将预训练权重分解为幅值和方向两个部分进行微调,利用LoRA高效地更新方向部分,在保持LoRA推理效率的同时提高了LoRA的学习能力和训练稳定性」
。实验表明,DoRA在各类下游任务(如常识推理、视觉指令微调以及图像/视频文本理解)和不同的主干网络(如LLaMA、LLaVA和VL-BART)上的表现都优于LoRA。
1. 基本信息
-
论文题目:DoRA: Weight-Decomposed Low-Rank Adaptation
-
作者:Shih-Yang Liu, Chien-Yi Wang, Hongxu Yin, Pavlo Molchanov, Yu-Chiang Frank Wang, Kwang-Ting Cheng, Min-Hung Chen
-
-
论文代码:https://github.com/NVlabs/DoRA
2. 研究背景
随着模型和数据集规模不断扩大,微调整个模型的开销变得非常高昂。为解决这一问题,参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)方法应运而生,旨在以最少的参数量微调预训练模型。其中,LoRA以其简单有效而备受欢迎。但LoRA与全量微调(Full fine-tuning, FT)之间仍存在能力差距,这通常被归因于可训练参数数量有限,而未进一步探索其他潜在原因。
受权重归一化(Weight Normalization)启发,本文提出一种权重分解分析方法。该方法首先将模型权重重参数化为幅值和方向分量,然后检查LoRA和FT引入的幅值和方向变化。分析结果显示,LoRA和FT呈现出明显不同的更新模式,这些差异可能反映了每种方法的学习能力。
3. 方法
基于上述分析,本文提出Weight-Decomposed Low-Rank Adaptation (DoRA)方法。DoRA先将预训练权重分解为幅值和方向分量,再对两者进行微调。鉴于方向分量在参数量方面的巨大规模,本文采用LoRA对方向分量进行自适应,以实现高效微调,如图1所示。此外,通过展示与FT相似的学习行为,说明DoRA的学习能力与FT非常接近。
DoRA的具体公式如下:
其中
是通过两个低秩矩阵
和
相乘学习到的增量方向更新,下划线参数表示可训练参数。矩阵
的初始化与LoRA保持一致,以确保训练前
等于
。此外,DoRA可以在推理前与预训练权重合并,因此不会引入额外的延迟。
为减少DoRA的训练开销,本文建议将
视为常数,从梯度图中分离。这意味着尽管
动态反映
的更新,但在反向传播时不会接收梯度。通过这一修改,
的梯度保持不变,
重定义为: