(ICML-2024)DoRA:权重分解低秩自适应

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

图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} W0Rd×k,LoRA 利用低秩分解模型化权重更新 Δ W ∈ R d × k \Delta W \in \mathbb{R}^{d \times k} ΔWRd×k,表示为 B A B A BA,其中 B ∈ R d × r B \in \mathbb{R}^{d \times r} BRd×r A ∈ R r × k A \in \mathbb{R}^{r \times k} ARr×k 分别为两个低秩矩阵,且 r ≪ min ⁡ ( d , k ) r \ll \min (d, k) rmin(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} WRd×k 的分解可以表示为:

W = m V ∥ V ∥ c = ∥ W ∥ c W ∥ W ∥ c W = m \frac{V}{\|V\|_c} = \|W\|_c \frac{W}{\|W\|_c} W=mVcV=WcWcW

其中, m ∈ R 1 × k m \in \mathbb{R}^{1 \times k} mR1×k 是幅值向量, V ∈ R d × k V \in \mathbb{R}^{d \times k} VRd×k 是方向矩阵, ∥ ⋅ ∥ c \|\cdot\|_c c 是矩阵按列计算的向量范数。此分解确保 V / ∥ V ∥ c V / \|V\|_c V/∥Vc 的每一列均为单位向量,对应的标量 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=kn=1kmFTn,tm0nΔDFTt=kn=1k(1cos(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

图 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=W0c 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=mV+ΔVcV+ΔV=mW0+BAcW0+BA

其中, Δ V \Delta V ΔV 是通过两个低秩矩阵 B B B A A A 的乘积学习的方向增量更新,下划线参数表示可训练的参数。矩阵 B ∈ R d × r B \in \mathbb{R}^{d \times r} BRd×r A ∈ R r × k A \in \mathbb{R}^{r \times k} ARr×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} VLmL=Vcm(IVc2VVT)WL=VcWLV

公式 (6) 显示,权重梯度 ∇ W ′ L \nabla_{W^{\prime}} \mathcal{L} WL 被缩放因子 m / ∥ V ′ ∥ c m /\left\|V^{\prime}\right\|_c m/Vc 调整,并从当前权重矩阵中投影出去。这两个效应共同作用,使得梯度的协方差矩阵更接近单位矩阵,这对于优化过程是有利的(Salimans & Kingma, 2016)。此外,鉴于 V ′ = V + Δ V V^{\prime}=V+\Delta V V=V+ΔV,梯度 ∇ V ′ L \nabla_{V^{\prime}} L VL 等价于 ∇ Δ 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} ΔwwL。在两个假设的更新场景 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} ΔwwL,因此可以推导出 ∣ 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(wS1L,w) > cos(wS2L,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(wL,w)=cos(wL,v)=cos(wL,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(wL,v)=cos(wL,v)=wLvwLv

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) mL=vwLv=wLcos(wL,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\| wS1L = wS2L ,因此:

∥ ∇ 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| wS1L cos(wS1L,v) > wS2L cos(wS2L,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| mS1L > mS2L ,这表明 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+ΔVc 视为常数,从而将其从梯度图中分离。这意味着虽然 ∥ V + Δ V ∥ c \|V+\Delta V\|_c V+ΔVc 会动态反映 Δ V \Delta V ΔV 的更新,但在反向传播时不会接收梯度。经过这一修改后,相对于 m m m 的梯度保持不变,而 ∇ V ′ L \nabla_{V^{\prime}} \mathcal{L} VL 被重新定义为:

∇ 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 VL=CmWL, 其中 C=Vc

此方法显著减少了梯度图的内存消耗,而对准确率的影响可以忽略不计。我们对 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 实验均采用了这一调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/487015.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序从后端获取的图片,展示的时候上下没有完全拼接,有缝隙【已解决】

文章目录 1、index.wxml2、index.js3、detail.detail为什么 .rich-text-style 样式可以生效&#xff1f;1. <rich-text> 组件的特殊性2. 类选择器的作用范围3. 样式优先级4. line-height: 0 的作用5. 为什么直接使用 rich-text 选择器无效&#xff1f; 总结 上下两张图片…

基于单片机的空调温度控制器设计

摘 要 随着国民经济的发展和人民生活水平的提高&#xff0c;空调已被广泛应用于社会的各种场合。空调因具有节能、低噪、恒温控制、全天候运转、启动低频补偿、快速达到设定温度等性能&#xff0c;大大提高了其舒适性&#xff0c;得到越来越多的人们的喜爱。单片机和数字温度传…

ElasticSearch常见的索引_集群的备份与恢复方案

方案一&#xff1a;使用Elasticsearch的快照和恢复功能进行备份和恢复。该方案适用于集群整体备份与迁移&#xff0c;包括全量、增量备份和恢复。 方案二&#xff1a;通过reindex操作在集群内或跨集群同步数据。该方案适用于相同集群但不同索引层面的迁移&#xff0c;或者跨集…

【计算机网络】实验12:网际控制报文协议ICMP的应用

实验12 网际控制报文协议ICMP的应用 一、实验目的 验证ping命令和tracert命令的工作原理。 二、实验环境 Cisco Packet Tracer模拟器 三、实验过程 1.构建网络拓扑并进行信息标注&#xff0c;将所需要配置的IP地址写在对应的主机或者路由器旁边&#xff0c;如图1所示。 图…

Redis安装和Python练习(Windows11 + Python3.X + Pycharm社区版)

环境 Windows11 Python3.X Pycharm社区版 思路 1 github下载redis压缩包 &#xff0c;安装并启动redis服务&#xff0c;在客户端连接redis服务。 2 在pycharm中运行python程序&#xff0c;连接redis服务&#xff0c;熟悉redis的使用和巩固python语言。 3 python开发环境…

8.解决跨域问题的三种方案

开启域名&#xff0c;单点登录后&#xff0c;就使用最上面的接口了

【机器学习】基础知识:拟合度(Goodness of Fit)

拟合度概念及意义 拟合度&#xff08;Goodness of Fit&#xff09;是衡量统计模型对数据解释能力的指标&#xff0c;用于评价模型对观测数据的拟合效果。在回归分析、分类模型或其他预测模型中&#xff0c;拟合度是模型性能的重要衡量标准。 1. 拟合度的作用 拟合度的主要作用…

【Elasticsearch】实现用户行为分析

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

初识Linux · 线程同步

目录 前言&#xff1a; 认识条件变量 认识接口 快速使用接口 生产消费模型 前言&#xff1a; 前文我们介绍了线程互斥&#xff0c;线程互斥是为了防止多个线程对临界资源访问的时候出现了对一个变量同时操作的情况&#xff0c;对于线程互斥来说&#xff0c;我们使用到了锁…

使用 LlamaFactory 结合开源大语言模型实现文本分类:从数据集构建到 LoRA 微调与推理评估

文章目录 背景介绍文本分类数据集Lora 微调模型部署与推理期待模型的输出结果 文本分类评估代码 背景介绍 本文将一步一步地&#xff0c;介绍如何使用llamafactory框架利用开源大语言模型完成文本分类的实验&#xff0c;以 LoRA微调 qwen/Qwen2.5-7B-Instruct 为例。 文本分类…

【已解决】MacOS上VMware Fusion虚拟机打不开的解决方法

在使用VMware Fusion时&#xff0c;不少用户可能会遇到虚拟机无法打开的问题。本文将为大家提供一个简单有效的解决方法&#xff0c;只需删除一个文件&#xff0c;即可轻松解决这一问题。 一、问题现象 在MacOS系统上&#xff0c;使用VMware Fusion运行虚拟机时&#xff0c;有…

【教程】创建NVIDIA Docker共享使用主机的GPU

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 这套是我跑完整理的。直接上干货&#xff0c;复制粘贴即可&#xff01; # 先安装toolkit sudo apt-get update sudo apt-get install -y ca-certifica…

设备CTA进网许可认证有哪些值得注意的测试内容?

设备进网许可认证的测试项目与测试内容有哪些?在CTA进网认证过程中是否存在需要注意的地方?本篇是英利检测针对这两点给大家进行的资料整理&#xff0c;帮助大家更进一步了解项目难点所在。 一、电磁兼容测试(EMC测试) 电磁兼容测试旨在评估设备在电磁环境中的表现&#xff0…

flex布局容易忽略的角色作用

目录 清除浮动 作用于行内元素 flex-basis宽度 案例一&#xff1a; 案例二&#xff1a; 案例三&#xff1a; flex-grow设置权重 案例一&#xff1a; 案例二&#xff1a; 简写flex-grow:1 0 auto; 目录 清除浮动 作用于行内元素 flex-basis宽度 案例一&#xff1a…

vue自定义弹窗点击除了自己区域外关闭弹窗

这里使用到vue的自定义指令 <div class"item" v-clickoutside"clickoutside1"><div click"opencity" class"text":style"{ color: popup.iscitypop || okcitylist.length ! 0 ? #FF9500 : #000000 }">选择地区…

旧衣物回收小程序搭建,便捷回收,绿色生活!

随着人们生活水平的提高&#xff0c;各种衣物的更新速度逐渐加快&#xff0c;为了减少衣物的浪费&#xff0c;旧衣物回收市场受到了人们的关注。 如今&#xff0c;旧衣物回收行业的技术正在不断创新&#xff0c;利用科技的发展&#xff0c;结合了互联网的模式&#xff0c;提高…

自动驾驶数据集的应用与思考

数据作为新型生产要素&#xff0c;是数字化、网络化、智能化的基础&#xff0c;是互联网时代的“石油”“煤炭”&#xff0c;掌握数据对于企业而言是能够持续生存和发展的不竭动力&#xff0c;对于需要大量数据训练自动驾驶系统的企业而言更是如此。 而随着激光雷达、毫米波雷…

LLM - 01_了解LangChain和LangChain4J

文章目录 官网概述LangChainLangChain的核心功能LangChain的应用场景 LangChain4JLangChain4J的特点LangChain4J的应用场景 LangChain vs LangChain4J小结 官网 https://www.langchain.com/langchain https://docs.langchain4j.dev/ 概述 随着人工智能和自然语言处理&#…

文献补充材料怎么查找下载

最近很多同学求助问补充文献怎么查找下载&#xff0c;补充文献一般会在文献的详情页&#xff0c;参考文献的上面。需要注意以下这些词汇&#xff1a;Supplementary data、Supplementary material、Appendix、Supplementary Information、Appendix A. Supplementary data、suppl…

Redis(二)

Redis 事务 什么是 Redis 事务&#xff1f; 你可以将 Redis 中的事务理解为&#xff1a;Redis 事务提供了一种将多个命令请求打包的功能。然后&#xff0c;再按顺序执行打包的所有命令&#xff0c;并且不会被中途打断。 Redis 事务实际开发中使用的非常少&#xff0c;功能比…