DoRA:权重分解低秩自适应
Paper是英伟达发表在ICML 2024的工作
Paper Title:DoRA: Weight-Decomposed Low-Rank Adaptation
Code: 地址
Abstract
在广泛使用的参数高效微调 (PEFT) 方法中,LoRA 及其变体因避免了额外的推理成本而获得了相当大的普及。然而,这些方法与完全微调 (FT) 之间仍然存在准确性差距。在这项工作中,我们首先引入了一种新颖的权重分解分析来研究 FT 和 LoRA 之间的内在差异。为了从研究结果中模仿 FT 的学习能力,我们提出了权重分解低秩自适应 (DoRA)。DoRA 将预训练的权重分解为两个部分,即幅度和方向,以进行微调,特别是使用 LoRA 进行方向更新,以有效地最小化可训练参数的数量。通过使用 DoRA,我们提高了 LoRA 的学习能力和训练稳定性,同时避免了任何额外的推理开销。在各种下游任务(例如常识推理、视觉指令调整和图像/视频文本理解)上,DoRA 在微调 LLaMA、LLaVA 和 VL-BART 方面始终优于 LoRA。
1. Introduction
使用大量通用领域数据集进行预训练的模型已展示出卓越的泛化能力,极大地惠及了从自然语言处理 (NLP) 任务(Qin et al, 2023;Taori et al, 2023)到多模态任务(Li et al, 2022;Liu et al, 2023a)等各种应用。为了使这些通用模型适合特定的下游任务,通常采用完全微调 (FT),即重新训练所有模型参数。然而,随着模型和数据集规模的扩大,微调整个模型的成本变得非常高。
为了解决这个问题,引入了参数高效微调 (PEFT) 方法 (Houlsby 等人,2019),仅使用最少的参数对预训练模型进行微调。其中,LoRA (Hu 等人,2022) 不改变模型架构,因其简单性和有效性而广受欢迎。尽管如此,LoRA 和 FT 之间仍然存在容量差距,这通常归因于可训练参数数量有限,而没有进一步探究其他潜在原因 (Hu 等人,2022;Kopiczko 等人,2024)。
借鉴权重归一化 (Salimans & Kingma, 2016),它通过使用权重重参数化来改善梯度的条件,从而实现更快的收敛,我们引入了一种新颖的权重分解分析,该分析首先将模型权重重参数化为幅度和方向分量,然后检查 LoRA 和 FT 引入的幅度和方向变化。 我们的分析表明,LoRA 和 FT 表现出明显不同的更新模式,这让我们推测这些变化反映了每种方法的学习能力。 受我们的研究结果启发,我们提出了权重分解低秩自适应 (DoRA),它首先将预训练的权重分解为其幅度和方向分量,然后对两者进行微调。鉴于方向分量在参数方面具有相当大的规模,我们利用 LoRA 进行方向自适应以实现有效的微调,如图 1 所示。此外,通过在经验和数学上表现出与 FT 相似的学习行为,表明其学习能力与 FT 非常相似,我们已经在从 NLP 到视觉语言的各种任务以及包括 LLM 和 LVLM 在内的各种主干上验证了 DoRA。实验结果表明,DoRA 的表现始终优于 LoRA,且不牺牲推理效率,例如常识推理(LLaMA-7B/13B 上为 +3.7/+1.0,LLaMA2-7B 上为 +2.9,LLaMA3-8B 上为 +4.4)、视觉指令调整(LLaVA-7B 上为 +0.6)和图像/视频文本理解(VL-BART 上为 +0.9/+1.9)。
图1. 我们提出的 DoRA 方法的概览,其将预训练权重分解为幅值和方向两个部分进行微调,特别是通过 LoRA 高效地更新方向部分。注意, ∥ ⋅ ∥ c \|\cdot\|_c ∥⋅∥c 表示矩阵中每列向量的向量范数。
我们的贡献总结如下:
- 我们引入了 DoRA,这是一种结合权重分解的新型 PEFT 方法,实现了与 FT 非常相似的学习能力,而没有比 LoRA 更多的推理延迟。
- 我们引入了一种新颖的权重分解分析,以揭示 FT 和不同 PEFT 方法的学习模式的根本差异。
- DoRA 在从 NLP 到视觉语言基准以及包括 LLM 和 LVLM 在内的各种主干上,在各种任务上都始终超越 LoRA。
2. Related Works
参数高效微调 (PEFT) 方法旨在降低微调大规模模型的高昂成本。它们通过训练相对于总参数数量相对较小的参数子集来适应下游任务来实现这一点。现有的 PEFT 方法可分为三类。第一类称为基于适配器的方法,其涉及将额外的可训练模块引入原始冻结的主干,例如 (Houlsby et al, 2019; He et al, 2021; Karimi Mahabadi et al, 2021; mahabadi et al, 2021)。例如,(Houlsby et al, 2019) 提出按顺序将线性模块添加到现有层,而 (He et al, 2021) 主张将这些模块与原始层并行集成以提高性能。第二类是基于提示的方法。这些方法在初始输入中添加了额外的软标记(提示),并专注于微调这些可训练向量,如 (Lester 等人,2021;Razdaibiedina 等人,2023;Wang 等人,2023) 等作品所示。然而,这些方法通常面临挑战,因为它们对初始化很敏感,影响了它们的整体效果。前两类,无论是改变模型的输入还是架构,都会导致与基线模型相比推理延迟增加。
LoRA (Hu et al, 2022) 及其变体属于 PEFT 的第三类,其显著特点是不增加任何额外的推理负担。这些方法在微调过程中应用低秩矩阵来近似权重变化,并可以在推理之前与预训练的权重合并。例如,(Zhang et al, 2023) 采用 SVD 分解并修剪不太重要的奇异值以实现更有效的更新。(Hyeon-Woo et al, 2022) 专注于联邦学习的低秩 Hadamard 积。(Qiu et al, 2023; Liu et al, 2023b) 利用正交分解来微调扩散模型。(Renduchintala et al, 2023) 使用权重绑定进一步减少可训练参数。(Yeh et al, 2023) 为稳定扩散引入了统一的 LoRA 系列框架。 (Ponti 等人,2022) 从具有路由功能的库存中选择不同的 LoRA 组合,用于不同的任务。 (Kopiczko 等人,2024) 实现可学习的缩放向量来调整跨层的共享冻结随机矩阵对。我们的研究也属于第三类,我们通过全面的实验验证了我们提出的方法以及 LoRA 及其变体的有效性。
3. Pattern Analysis of LoRA and FT
3.1. Low-Rank Adaptation (LoRA)
基于微调过程中更新具有低“内在秩”的假设,LoRA(Hu et al., 2022)提出使用两个低秩矩阵的乘积来增量更新预训练权重。对于一个预训练权重矩阵 W 0 ∈ R d × k W_0 \in \mathbb{R}^{d \times k} W0∈Rd×k,LoRA 利用低秩分解模型化权重更新 Δ W ∈ R d × k \Delta W \in \mathbb{R}^{d \times k} ΔW∈Rd×k,表示为 B A B A BA,其中 B ∈ R d × r B \in \mathbb{R}^{d \times r} B∈Rd×r 和 A ∈ R r × k A \in \mathbb{R}^{r \times k} A∈Rr×k 分别为两个低秩矩阵,且 r ≪ min ( d , k ) r \ll \min (d, k) r≪min(d,k)。因此,微调后的权重 W ′ W^{\prime} W′ 可以表示为:
W ′ = W 0 + Δ W = W 0 + B A ‾ W^{\prime}=W_0+\Delta W=W_0+\underline{B A} W′=W0+ΔW=W0+BA
其中, W 0 W_0 W0 在微调过程中保持静态,而下划线部分的参数是需要训练的。矩阵 A A A 使用均匀 Kaiming 分布(He et al., 2015)进行初始化,而 B B B 初始值为零,这使得 Δ W = B A \Delta W=B A ΔW=BA 在训练开始时为零。值得注意的是,这种 Δ W \Delta W ΔW 的分解可以用其他 LoRA 变体替代,例如 VeRA(Kopiczko et al., 2024)。此外,根据公式 (1),在部署之前,我们可以将学习到的 Δ W \Delta W ΔW 与预训练权重 W 0 W_0 W0 合并,从而获得 W ′ W^{\prime} W′。由于 W ′ W^{\prime} W′ 和 W 0 W_0 W0 都在 R d × k \mathbb{R}^{d \times k} Rd×k 的维度内,LoRA 及其相关变体在推理时不会引入额外的延迟,与原始模型相比保持一致。
3.2. Weight Decomposition Analysis
LoRA(Hu 等人,2022 年)中提出的研究表明,LoRA 可以被视为完全微调的一般近似值。通过逐渐增加 LoRA 的等级 r 以与预训练权重的等级保持一致,LoRA 可以达到与 FT 类似的表现力水平。因此,许多先前的研究将 LoRA 和 FT 之间的准确性差异主要归因于可训练参数数量有限,通常无需进一步分析(Hu 等人,2022 年;Kopiczko 等人,2024 年)。从权重归一化(Salimans & Kingma,2016 年)中汲取灵感,将权重矩阵重参数化为幅度和方向以加速优化,我们引入了一种创新的权重分解分析。我们的分析将权重矩阵重构为两个独立的组成部分,即幅度和方向,以揭示 LoRA 和 FT 学习模式的内在差异。
分析方法:本分析通过考察 LoRA 和 FT(全微调)权重相对于预训练权重的幅值和方向变化,揭示两者学习行为的根本差异。权重矩阵 W ∈ R d × k W \in \mathbb{R}^{d \times k} W∈Rd×k 的分解可以表示为:
W = m V ∥ V ∥ c = ∥ W ∥ c W ∥ W ∥ c W = m \frac{V}{\|V\|_c} = \|W\|_c \frac{W}{\|W\|_c} W=m∥V∥cV=∥W∥c∥W∥cW
其中, m ∈ R 1 × k m \in \mathbb{R}^{1 \times k} m∈R1×k 是幅值向量, V ∈ R d × k V \in \mathbb{R}^{d \times k} V∈Rd×k 是方向矩阵, ∥ ⋅ ∥ c \|\cdot\|_c ∥⋅∥c 是矩阵按列计算的向量范数。此分解确保 V / ∥ V ∥ c V / \|V\|_c V/∥V∥c 的每一列均为单位向量,对应的标量 m m m 定义了每个向量的幅值。
在我们的权重分解分析中,我们选取了在四个图像-文本任务上微调的 VLBART 模型(参见 Sung et al., 2022)作为案例研究。依据 (Sung et al., 2022) 的方法,仅对自注意力模块中的 query/value 权重矩阵应用 LoRA。我们使用公式 (2) 分解了预训练权重 W 0 W_0 W0、全微调权重 W F T W_{\mathrm{FT}} WFT 和 LoRA 合并权重 W LoRA W_{\text{LoRA}} WLoRA 的 query/value 权重矩阵。预训练权重 W 0 W_0 W0 与全微调权重 W F T W_{\mathrm{FT}} WFT 的幅值和方向变化定义如下:
Δ M F T t = ∑ n = 1 k ∣ m F T n , t − m 0 n ∣ k Δ D F T t = ∑ n = 1 k ( 1 − cos ( V F T n , t , W 0 n ) ) k \begin{array}{r} \Delta M_{\mathrm{FT}}^t=\frac{\sum_{n=1}^k\left|m_{\mathrm{FT}}^{n, t}-m_0^n\right|}{k} \\ \Delta D_{\mathrm{FT}}^t=\frac{\sum_{n=1}^k\left(1-\cos \left(V_{\mathrm{FT}}^{n, t}, W_0^n\right)\right)}{k} \end{array} ΔMFTt=k∑n=1k∣mFTn,t−m0n∣ΔDFTt=k∑n=1k(1−cos(VFTn,t,W0n))
其中, Δ M F T t \Delta M_{\mathrm{FT}}^t ΔMFTt 和 Δ D F T t \Delta D_{\mathrm{FT}}^t ΔDFTt 分别表示在训练步骤 t t t 中 W 0 W_0 W0 和 W F T W_{\mathrm{FT}} WFT 之间的幅值差异和方向差异, cos ( ⋅ , ⋅ ) \cos (\cdot, \cdot) cos(⋅,⋅) 为余弦相似度函数。 M F T n , t M_{\mathrm{FT}}^{n, t} MFTn,t 和 M 0 n M_0^n M0n 分别为幅值向量中第 n n n 个标量, V F T n , t V_{\mathrm{FT}}^{n, t} VFTn,t 和 W 0 n W_0^n W0n 分别为 V F T t V_{\mathrm{FT}}^t VFTt 和 W 0 W_0 W0 中的第 n n n 列。
类似地, W LoRA W_{\text{LoRA}} WLoRA 和 W 0 W_0 W0 的幅值和方向差异通过公式 (3) 和公式 (4) 计算。我们从四个不同的训练步骤中选取检查点,包括三个中间步骤和最终检查点(FT 和 LoRA 均包含),并对这些检查点的权重进行分解分析,以确定不同层中的 Δ M \Delta M ΔM 和 Δ D \Delta D ΔD。
分析结果:图2 (a) 和 (b) 展示了 FT 和 LoRA 的 query 权重矩阵的变化,每个点表示来自不同层和训练步骤的 query 权重矩阵的 ( Δ D t , Δ M t ) \left(\Delta D^t, \Delta M^t\right) (ΔDt,ΔMt) 对。同样,附录中的图7显示了 value 权重矩阵的变化。可以观察到,LoRA 在所有中间步骤中表现出一致的正斜率趋势,这表明方向和幅值变化之间存在正比例关系。相比之下,FT 的学习模式更为多样,呈现出相对负斜率的趋势。这种 FT 和 LoRA 的差异可能反映了它们各自的学习能力。LoRA 倾向于成比例地增加或减少幅值和方向的更新,但缺乏进行更细致调整的能力。具体而言,LoRA 在执行较大的幅值变化同时伴随轻微的方向变化,或反之时表现不足,而这种能力更符合 FT 的特性。我们推测,LoRA 的这一局限可能源于同时学习幅值和方向调整的复杂性,这对于 LoRA 来说可能过于困难。因此,在本工作中,我们旨在提出一种 LoRA 的变体,其学习模式更接近 FT,同时提升 LoRA 的学习能力。
图 2. 查询矩阵在不同层和中间步骤中的 (a) FT、(b) LoRA 和 © DoRA 的幅度和方向更新。不同的标记代表不同训练步骤的矩阵,不同的颜色代表每层的矩阵。
4. Method
4.1. Weight-Decomposed Low-Rank Adaptation
根据权重分解分析的结果,我们引入了权重分解低秩自适应 (DoRA)。DoRA 首先将预训练权重分解为幅度和方向分量,并对它们进行微调。由于方向分量的参数数量较大,我们进一步使用 LoRA 对其进行分解,以实现高效微调。
我们的直觉有两个方面。首先,我们认为,与原始方法相比,将 LoRA 限制为专注于方向适应,同时允许幅度分量可调,可以简化任务,而原始方法要求 LoRA 学习幅度和方向的调整。其次,通过权重分解,优化方向更新的过程变得更加稳定,我们将在第 4.2 节中更深入地探讨这一点。需要强调的是,DoRA 和权重归一化(Salimans & Kingma,2016)之间的主要区别在于它们的训练方法。权重归一化从头开始训练这两个组件,使该方法对不同的初始化敏感。相反,DoRA 避免了初始化问题,因为其两个组成部分都从预训练权重开始。我们按照公式 (2) 使用预训练权重 W 0 W_0 W0 初始化 DoRA,其中 m = ∥ W 0 ∥ c m=\left\|W_0\right\|_c m=∥W0∥c, V = W 0 V=W_0 V=W0。初始化后,我们冻结 V V V 并将 m m m 设置为可训练向量。方向分量通过 LoRA 进行更新。DoRA 的公式可以类似于公式 (1) 表示为:
W ′ = m ‾ V + Δ V ∥ V + Δ V ∥ c = m ‾ W 0 + B A ‾ ∥ W 0 + B A ‾ ∥ c W^{\prime}=\underline{m} \frac{V+\Delta V}{\|V+\Delta V\|_c}=\underline{m} \frac{W_0+\underline{B A}}{\left\|W_0+\underline{B A}\right\|_c} W′=m∥V+ΔV∥cV+ΔV=m∥W0+BA∥cW0+BA
其中, Δ V \Delta V ΔV 是通过两个低秩矩阵 B B B 和 A A A 的乘积学习的方向增量更新,下划线参数表示可训练的参数。矩阵 B ∈ R d × r B \in \mathbb{R}^{d \times r} B∈Rd×r 和 A ∈ R r × k A \in \mathbb{R}^{r \times k} A∈Rr×k 按照 LoRA 的策略初始化,以确保在微调前 W ′ W^{\prime} W′ 等于 W 0 W_0 W0。此外,DoRA 可以在推理之前与预训练权重合并,从而不引入任何额外的延迟。
4.2. Gradient Analysis of DoRA
在本节中,我们首先推导了 DoRA 的梯度,并说明我们提出的分解如何优化 Δ V \Delta V ΔV 的学习。随后,我们从梯度的角度分析了 DoRA 的学习模式,并解释其为何倾向于负斜率。
根据公式 (5),我们可以得到损失 L \mathcal{L} L 对 m m m 和 V ′ = V + Δ V V^{\prime}=V+\Delta V V′=V+ΔV 的梯度为:
∇ V ′ L = m ∥ V ′ ∥ c ( I − V ′ V ′ T ∥ V ′ ∥ c 2 ) ∇ W ′ L ∇ m L = ∇ W ′ L ⋅ V ′ ∥ V ′ ∥ c \begin{aligned} \nabla_{V^{\prime}} \mathcal{L} & =\frac{m}{\left\|V^{\prime}\right\|_c}\left(I-\frac{V^{\prime} V^{\prime \mathbf{T}}}{\left\|V^{\prime}\right\|_c^2}\right) \nabla_{W^{\prime}} \mathcal{L} \\ \nabla_m \mathcal{L} & =\frac{\nabla_{W^{\prime}} \mathcal{L} \cdot V^{\prime}}{\left\|V^{\prime}\right\|_c} \end{aligned} ∇V′L∇mL=∥V′∥cm(I−∥V′∥c2V′V′T)∇W′L=∥V′∥c∇W′L⋅V′
公式 (6) 显示,权重梯度 ∇ W ′ L \nabla_{W^{\prime}} \mathcal{L} ∇W′L 被缩放因子 m / ∥ V ′ ∥ c m /\left\|V^{\prime}\right\|_c m/∥V′∥c 调整,并从当前权重矩阵中投影出去。这两个效应共同作用,使得梯度的协方差矩阵更接近单位矩阵,这对于优化过程是有利的(Salimans & Kingma, 2016)。此外,鉴于 V ′ = V + Δ V V^{\prime}=V+\Delta V V′=V+ΔV,梯度 ∇ V ′ L \nabla_{V^{\prime}} L ∇V′L 等价于 ∇ Δ V L \nabla_{\Delta V} L ∇ΔVL。因此,由该分解带来的优化优势完全传递到 Δ V \Delta V ΔV 上,从而增强了 LoRA 的学习稳定性。
我们可以通过参考公式 (7) 更深入地理解 DoRA 的学习模式。在接下来的讨论中,我们使用小写字母表示向量形式的符号。考虑 w ′ ′ = w ′ + Δ w w^{\prime \prime}=w^{\prime}+\Delta w w′′=w′+Δw 作为权重向量的更新,其中 Δ w ∝ ∇ w ′ L \Delta w \propto \nabla_{w^{\prime}} \mathcal{L} Δw∝∇w′L。在两个假设的更新场景 S 1 S 1 S1 和 S 2 S 2 S2 中, S 1 S 1 S1 涉及较小的方向更新( Δ D S 1 \Delta D_{S 1} ΔDS1),而 S 2 S 2 S2 涉及较大的方向更新( Δ D S 2 \Delta D_{S 2} ΔDS2)。假设 ∥ Δ w S 1 ∥ = ∥ Δ w S 2 ∥ \left\|\Delta w_{S 1}\right\|=\left\|\Delta w_{S 2}\right\| ∥ΔwS1∥=∥ΔwS2∥,并且在时间 0,我们有 Δ v = 0 \Delta v=0 Δv=0 且 v ′ = v v^{\prime}=v v′=v。由 Δ D S 1 < Δ D S 2 \Delta D_{S 1}<\Delta D_{S 2} ΔDS1<ΔDS2,可以得出 ∣ cos ( Δ w S 1 , w ′ ) ∣ > ∣ cos ( Δ w S 2 , w ′ ) ∣ \left|\cos \left(\Delta w_{S 1}, w^{\prime}\right)\right|>\left|\cos \left(\Delta w_{S 2}, w^{\prime}\right)\right| ∣cos(ΔwS1,w′)∣>∣cos(ΔwS2,w′)∣。
由于 Δ w ∝ ∇ w ′ L \Delta w \propto \nabla_{w^{\prime}} \mathcal{L} Δw∝∇w′L,因此可以推导出 ∣ cos ( ∇ w ′ S 1 L , w ′ ) ∣ > ∣ cos ( ∇ w ′ S 2 L , w ′ ) ∣ \left|\cos \left(\nabla_{w^{\prime}}^{S 1} \mathcal{L}, w^{\prime}\right)\right|>\left|\cos \left(\nabla_{w^{\prime}}^{S 2} \mathcal{L}, w^{\prime}\right)\right| cos(∇w′S1L,w′) > cos(∇w′S2L,w′) 。根据第 4.1 节,当 v v v 初始化为 v 0 v_0 v0 且 w ′ = w 0 w^{\prime}=w_0 w′=w0 时,有 ∣ cos ( ∇ w ′ L , w ′ ) ∣ = ∣ cos ( ∇ w ′ L , v ′ ) ∣ = ∣ cos ( ∇ w ′ L , v ) ∣ \left|\cos \left(\nabla_{w^{\prime}} \mathcal{L}, w^{\prime}\right)\right|=\left|\cos \left(\nabla_{w^{\prime}} \mathcal{L}, v^{\prime}\right)\right|=\left|\cos \left(\nabla_{w^{\prime}} \mathcal{L}, v\right)\right| ∣cos(∇w′L,w′)∣=∣cos(∇w′L,v′)∣=∣cos(∇w′L,v)∣。
在 Δ v = 0 \Delta v=0 Δv=0 的情况下,使用余弦相似度公式可得:
cos ( ∇ w ′ L , v ′ ) = cos ( ∇ w ′ L , v ) = ∇ w ′ L ⋅ v ∥ ∇ w ′ L ∥ ∥ v ∥ \cos \left(\nabla_{w^{\prime}} \mathcal{L}, v^{\prime}\right)=\cos \left(\nabla_{w^{\prime}} \mathcal{L}, v\right)=\frac{\nabla_{w^{\prime}} \mathcal{L} \cdot v}{\left\|\nabla_{w^{\prime}} \mathcal{L}\right\|\|v\|} cos(∇w′L,v′)=cos(∇w′L,v)=∥∇w′L∥∥v∥∇w′L⋅v
记 m ∗ m_* m∗ 为向量 w ′ w^{\prime} w′ 的幅值标量,则公式 (7) 关于 m ∗ m_* m∗ 可以重写为:
∇ m ∗ L = ∇ w ′ L ⋅ v ′ ∥ v ′ ∥ = ∥ ∇ w ′ L ∥ ⋅ cos ( ∇ w ′ L , v ) \nabla_{m_*} \mathcal{L}=\frac{\nabla_{w^{\prime}} \mathcal{L} \cdot v^{\prime}}{\left\|v^{\prime}\right\|}=\left\|\nabla_{w^{\prime}} \mathcal{L}\right\| \cdot \cos \left(\nabla_{w^{\prime}} \mathcal{L}, v\right) ∇m∗L=∥v′∥∇w′L⋅v′=∥∇w′L∥⋅cos(∇w′L,v)
由于在 S 1 S 1 S1 和 S 2 S 2 S2 中, ∥ Δ w S 1 ∥ = ∥ Δ w S 2 ∥ \left\|\Delta w_{S 1}\right\|=\left\|\Delta w_{S 2}\right\| ∥ΔwS1∥=∥ΔwS2∥,并且 ∥ ∇ w ′ S 1 L ∥ = ∥ ∇ w ′ S 2 L ∥ \left\|\nabla_{w^{\prime}}^{S 1} \mathcal{L}\right\|=\left\|\nabla_{w^{\prime}}^{S 2} \mathcal{L}\right\| ∇w′S1L = ∇w′S2L ,因此:
∥ ∇ w ′ S 1 L ∥ ⋅ ∣ cos ( ∇ w ′ S 1 L , v ) ∣ > ∥ ∇ w ′ S 2 L ∥ ⋅ ∣ cos ( ∇ w ′ S 2 L , v ) ∣ \left\|\nabla_{w^{\prime}}^{S 1} \mathcal{L}\right\| \cdot\left|\cos \left(\nabla_{w^{\prime}}^{S 1} \mathcal{L}, v\right)\right|>\left\|\nabla_{w^{\prime}}^{S 2} \mathcal{L}\right\| \cdot\left|\cos \left(\nabla_{w^{\prime}}^{S 2} \mathcal{L}, v\right)\right| ∇w′S1L ⋅ cos(∇w′S1L,v) > ∇w′S2L ⋅ cos(∇w′S2L,v)
可以推导出 ∣ ∇ m ∗ S 1 L ∣ > ∣ ∇ m ∗ S 2 L ∣ \left|\nabla_{m_*}^{S 1} \mathcal{L}\right|>\left|\nabla_{m_*}^{S 2} \mathcal{L}\right| ∇m∗S1L > ∇m∗S2L ,这表明 S 1 S 1 S1 在幅值更新上大于 S 2 S 2 S2,而方向变化则小于 S 2 S 2 S2。我们通过图 2 © 的证据验证了这一结论。
因此,我们有效地证明了 DoRA 如何调整其学习模式,从而偏离 LoRA 的模式并更接近于 FT 的模式。
4.3. Reduction of Training Overhead
在公式 (1) 中, W ′ W^{\prime} W′ 和 Δ W \Delta W ΔW 的梯度是相同的。然而,对于将低秩更新重定向至方向分量的 DoRA,其低秩更新的梯度与 W ′ W^{\prime} W′ 的梯度不同,如公式 (6) 所示。这种差异在反向传播过程中需要额外的内存。为了解决这一问题,我们建议将公式 (5) 中的 ∥ V + Δ V ∥ c \|V+\Delta V\|_c ∥V+ΔV∥c 视为常数,从而将其从梯度图中分离。这意味着虽然 ∥ V + Δ V ∥ c \|V+\Delta V\|_c ∥V+ΔV∥c 会动态反映 Δ V \Delta V ΔV 的更新,但在反向传播时不会接收梯度。经过这一修改后,相对于 m m m 的梯度保持不变,而 ∇ V ′ L \nabla_{V^{\prime}} \mathcal{L} ∇V′L 被重新定义为:
∇ V ′ L = m C ∇ W ′ L , 其中 C = ∥ V ′ ∥ c \nabla_{V^{\prime}} \mathcal{L}=\frac{m}{C} \nabla_{W^{\prime}} \mathcal{L}, \text{ 其中 } C=\left\|V^{\prime}\right\|_c ∇V′L=Cm∇W′L, 其中 C=∥V′∥c
此方法显著减少了梯度图的内存消耗,而对准确率的影响可以忽略不计。我们对 LLaMA-7B 和 VLBART 的微调进行了消融实验,以评估所提修改的影响。结果表明,此修改在微调 LLaMA 时可减少约 24.4 % 24.4\% 24.4% 的训练内存,在 VLBART 上减少约 12.4 % 12.4\% 12.4% 的训练内存。此外,带有此修改的 DoRA 在 VLBART 上的准确率保持不变,而在 LLaMA 上的准确率仅比未修改的 DoRA 略低 0.2 0.2 0.2。有关训练内存使用和准确率差异的全面比较,请参见附录中的表 7。因此,所有后续的 DoRA 实验均采用了这一调整。