当前位置: 首页 > backend >正文

LoRA 与传统矩阵分解的比较

LoRA 与传统矩阵分解的比较

flyfish

对比维度LoRA(低秩适应)传统矩阵分解(如 SVD、NMF 等)
核心定位专为大模型参数高效微调设计,在预训练模型基础上适配下游任务聚焦数据压缩、降维、特征提取,用于简化数据或模型结构(如推荐系统、图像去噪)
处理对象预训练大模型的权重矩阵(如 Transformer 层的投影矩阵)各类静态数据矩阵(如用户 - 物品评分矩阵、图像像素矩阵、文本词频矩阵)
参数更新逻辑冻结预训练权重 W 0 W_0 W0,仅训练低秩矩阵 A A A r × d r \times d r×d)和 B B B d × r d \times r d×r),更新量为 Δ W = B A \Delta W = BA ΔW=BA分解原始矩阵为低秩矩阵组合(如 M = U V M = UV M=UV),若用于模型则需重新学习参数(如矩阵分解机训练 U / V U/V U/V
对原始模型的改动不修改预训练权重 W 0 W_0 W0,通过并行旁路注入低秩更新,模型结构基本不变若用于模型(如线性回归 + PCA),需替换/重构模型参数(如用 PCA 降维后的数据重新训练模型)
对原始数据的依赖依赖下游任务的小样本数据,利用预训练模型的通用知识,数据需求极低(甚至小样本场景)依赖大规模原始数据(如 SVD 需完整数据矩阵),用于分解或降维,数据是处理核心
训练特点训练成本极低(可训练参数仅 2 d r 2dr 2dr r ≪ d r \ll d rd),避免“灾难性遗忘”(因 W 0 W_0 W0 冻结)训练成本与矩阵规模相关(如 NMF 迭代优化),若用于模型训练则需从头学习参数,成本高
推理特点推理时可合并 B A BA BA W 0 W_0 W0无额外延迟,与原模型推理效率一致推理时需依赖分解后的低秩矩阵(如用 U V UV UV 重构数据),若用于模型则直接推理新参数,效率取决于分解后结构
典型应用场景大模型适配下游任务(如 BERT 做特定领域分类、Stable Diffusion 学特定风格)数据压缩(如图像存储)、推荐系统(用户 - 物品矩阵分解)、去噪(如含噪声图像恢复)
低秩假设的作用假设模型权重更新量 Δ W \Delta W ΔW 是低秩的,用 B A BA BA 近似,减少可训练参数假设原始数据矩阵是低秩或可近似为低秩(如用户行为矩阵的潜在低维结构),用分解简化数据
参数初始化 A A A 随机高斯初始化, B B B 初始化为 0(保证初始时不影响 W 0 W_0 W0 输出)依分解算法而定(如 SVD 无显式参数训练,NMF 随机初始化非负矩阵)
多任务支持支持多任务适配器,不同任务的 A / B A/B A/B 可灵活切换/组合,不干扰原模型多任务需重新分解数据矩阵,或为每个任务训练新模型,灵活性低
与原模型兼容性完全兼容预训练模型结构,可随时移除 A / B A/B A/B 回归原模型若用于模型修改(如 PCA 降维),会改变模型输入/参数结构,与原模型兼容性差
技术演进关联衍生变体(如 AdaLoRA、DoRA)优化低秩分配、结合权重分解,仍聚焦大模型微调衍生方法(如稀疏矩阵分解、张量分解)扩展数据处理场景,但核心仍为数据/模型的静态分解

LoRA 是动态适配大模型的“轻量插件”,冻结原模型、只训低秩旁路,主打参数高效微调;
传统矩阵分解是静态处理数据/模型的“压缩工具”,重构数据或模型结构,主打降维与特征提取。

LoRA与传统矩阵分解的比较

一、引言

在机器学习与深度学习的广袤领域中,矩阵分解技术一直扮演着关键角色。传统矩阵分解在数据压缩、降维等方面有着深远应用,而LoRA(Low - Rank Adaptation)作为新兴的针对大模型参数高效微调的技术,在处理原始数据与模型时展现出独特的思路。深入剖析二者对原始数据/模型的处理方式,有助于理解不同技术在各自应用场景中的优势与局限,为相关领域的研究与实践提供清晰的技术路径参考。

二、传统矩阵分解对原始数据/模型的处理方式

(一)传统矩阵分解的基本概念回顾

传统矩阵分解,如奇异值分解(Singular Value Decomposition,SVD)、非负矩阵分解(Non - negative Matrix Factorization,NMF)、主成分分析(Principal Component Analysis,PCA,本质是一种特殊的矩阵分解用于降维)等,其核心思想是将一个高维矩阵分解为若干个低秩矩阵的组合,以达到数据压缩、特征提取、噪声去除等目的。

以SVD为例,对于任意一个 m × n m\times n m×n的矩阵 A A A,可以分解为 A = U Σ V T A = U\Sigma V^T A=UΣVT,其中 U U U m × m m\times m m×m的正交矩阵, Σ \Sigma Σ m × n m\times n m×n的对角矩阵,对角线上的元素为奇异值, V V V n × n n\times n n×n的正交矩阵。通过选取最大的 k k k个奇异值( k ≪ min ⁡ ( m , n ) k\ll\min(m,n) kmin(m,n)),可以得到 A A A的低秩近似 A k = U k Σ k V k T A_k = U_k\Sigma_k V_k^T Ak=UkΣkVkT,其中 U k U_k Uk Σ k \Sigma_k Σk V k V_k Vk分别是 U U U Σ \Sigma Σ V V V对应前 k k k个奇异值的子矩阵。

(二)对原始数据矩阵的处理流程

  1. 数据预处理与矩阵构建
    • 在传统矩阵分解应用中,首先需要将原始数据转化为矩阵形式。例如在推荐系统中,将用户对物品的评分数据构建为用户 - 物品评分矩阵,矩阵的行代表用户,列代表物品,矩阵元素为用户对物品的评分(若未评分则可能用特殊值如0或通过插值填充)。在图像数据处理中,将图像的像素值按照一定顺序(如行优先)排列成矩阵,对于彩色图像可能会构建多个通道的矩阵(如RGB三个通道分别构建矩阵)。
    • 这一过程需要对原始数据进行清洗,包括去除噪声数据(如推荐系统中用户的误评分、图像中的椒盐噪声等)、处理缺失值(采用均值填充、插值填充或基于模型的填充方法)等操作,以保证构建的矩阵能够准确反映原始数据的特征。
  2. 矩阵分解操作
    • 一旦构建好数据矩阵,便进行矩阵分解。以PCA为例,首先计算数据矩阵的协方差矩阵,然后对协方差矩阵进行特征值分解(或通过SVD间接计算),得到主成分(即特征向量)和对应的方差(特征值)。根据方差的大小选取前 k k k个主成分,将原始数据矩阵投影到这 k k k个主成分构成的子空间中,实现数据的降维。
    • 对于NMF,由于其要求分解后的矩阵元素非负,在处理如文档 - 词频矩阵(元素为词频,自然非负)时具有优势。NMF通过迭代优化算法(如乘法更新规则),将原始矩阵分解为两个非负矩阵 W W W H H H,使得 A ≈ W H A\approx WH AWH,其中 W W W可以看作是基矩阵, H H H是系数矩阵,通过这种分解可以发现数据中的潜在特征模式,如在文档 - 词频矩阵分解中, W W W的列可能对应不同的主题, H H H的行对应文档在各个主题上的分布。
  3. 分解后矩阵的应用
    • 数据压缩与存储:通过低秩近似,传统矩阵分解可以大幅减少数据存储所需的空间。例如对于一个大规模的用户 - 物品评分矩阵,经过SVD分解并选取前 k k k个奇异值后,存储 U k U_k Uk Σ k \Sigma_k Σk V k V_k Vk所需的空间远小于原始矩阵。在图像存储中,利用PCA降维后存储低维表示,再在需要时重建图像(虽然重建图像可能会有一定损失,但在一些对图像质量要求不是极高的场景如图像检索中非常实用)。
    • 特征提取与分析:分解得到的低秩矩阵能够提取原始数据的关键特征。在人脸识别中,通过PCA提取的主成分对应着人脸的关键特征(如轮廓、五官的大致分布等),可以用于人脸的分类与识别。在文本挖掘中,NMF分解得到的主题矩阵(基矩阵 W W W)能够发现文档集合中的潜在主题,帮助理解文本的语义结构。
    • 噪声去除:由于低秩矩阵主要反映数据的主要特征,而噪声往往对应着较小的奇异值(在SVD中)或在分解过程中被过滤掉。因此,通过矩阵分解后的低秩近似可以实现对原始数据的噪声去除。例如在处理含噪声的图像时,原始图像矩阵包含噪声,经过SVD分解并选取主要奇异值进行重建,得到的图像能够有效去除噪声,使图像更加清晰。

(三)对传统模型(以线性模型为例)的处理关联

  1. 模型参数与矩阵分解的结合
    • 在一些线性模型中,如线性回归模型 y = X β + ϵ y = X\beta+\epsilon y=+ϵ(其中 X X X是数据矩阵, β \beta β是参数向量, ϵ \epsilon ϵ是误差项),当数据矩阵 X X X存在多重共线性时,传统的最小二乘法估计可能会出现不稳定的情况。此时,可以利用矩阵分解技术对 X X X进行处理。例如通过PCA对 X X X进行降维,得到新的数据矩阵 X k X_k Xk X k X_k Xk X X X在主成分子空间上的投影),然后用 X k X_k Xk进行线性回归,即 y = X k β k + ϵ y = X_k\beta_k+\epsilon y=Xkβk+ϵ,这样可以减少多重共线性的影响,提高模型的稳定性和泛化能力。
    • 对于矩阵形式的模型参数,如在一些矩阵分解机模型中,模型参数本身可以看作是通过矩阵分解得到的低秩矩阵。以因子分解机(Factorization Machine,FM)为例,二阶FM的模型可以表示为 y = w 0 + ∑ i = 1 n w i x i + ∑ i < j ⟨ v i , v j ⟩ x i x j y = w_0+\sum_{i = 1}^n w_i x_i+\sum_{i < j} \langle v_i, v_j\rangle x_i x_j y=w0+i=1nwixi+i<jvi,vjxixj,其中 ⟨ v i , v j ⟩ \langle v_i, v_j\rangle vi,vj是向量 v i v_i vi v j v_j vj的内积,而参数矩阵 V = [ v 1 , v 2 , ⋯ , v n ] V = [v_1, v_2, \cdots, v_n] V=[v1,v2,,vn]可以看作是一个低秩矩阵(在实际应用中,通过限制 V V V的秩来控制模型复杂度),这里的矩阵分解思想体现在对参数矩阵的低秩约束上,与传统矩阵分解在目标上有一定的契合,即通过低秩结构来简化模型和提高泛化能力。
  2. 模型训练过程中的矩阵分解辅助
    • 在训练一些复杂模型时,矩阵分解可以用于加速训练过程。例如在深度神经网络中,当处理大规模的输入数据矩阵时,对输入数据进行PCA降维,可以减少输入数据的维度,从而减少神经网络的计算量和训练时间。虽然这不是对模型参数矩阵的直接分解,但也是利用矩阵分解对原始数据的处理来间接影响模型训练。
    • 对于基于矩阵运算的模型训练优化,如在交替最小二乘法(Alternating Least Squares,ALS)用于训练矩阵分解模型(如协同过滤中的矩阵分解模型)时,ALS算法通过交替固定一个矩阵的参数,对另一个矩阵进行最小二乘估计,这一过程本质上是在对矩阵分解后的子矩阵进行优化,体现了矩阵分解在模型训练算法中的深度融合。

三、LoRA对原始数据/模型的处理方式

(一)LoRA的背景与基本原理概述

随着大模型(如GPT系列、BERT等)的发展,模型参数规模达到数十亿甚至上百亿,对这些模型进行全参数微调面临着巨大的计算和存储成本。LoRA技术应运而生,其核心思想是在预训练大模型的基础上,通过引入低秩矩阵来对模型进行高效微调,即在不显著改变预训练模型权重的前提下,让模型适配新的任务。

对于预训练模型中的权重矩阵 W ∈ R d × d W \in \mathbb{R}^{d\times d} WRd×d d d d为权重矩阵的维度),LoRA引入两个低秩矩阵 A ∈ R r × d A \in \mathbb{R}^{r\times d} ARr×d B ∈ R d × r B \in \mathbb{R}^{d\times r} BRd×r r ≪ d r\ll d rd为低秩矩阵的秩),使得权重矩阵的更新量 Δ W = A B \Delta W = AB ΔW=AB。在微调过程中,预训练的权重矩阵 W W W保持不变,仅优化低秩矩阵 A A A B B B,从而大幅减少可训练参数的数量。

(二)对原始预训练模型的处理流程

  1. 模型选择与准备
    • 首先需要选定预训练好的大模型,这些模型经过了大规模数据的预训练,已经学习到了丰富的通用知识。例如选择预训练的BERT模型用于特定领域的文本分类任务,或者选择预训练的Stable Diffusion模型用于特定风格的图像生成任务。
    • 对预训练模型的结构进行分析,确定需要引入LoRA的层。通常在大模型的Transformer结构中,注意力层和前馈网络层的权重矩阵是LoRA技术应用的主要对象,因为这些层的权重矩阵对模型的输出影响较大,且通过低秩调整能够有效适配新任务。
  2. LoRA模块的插入与初始化
    • 模块插入:在选定的模型层中插入LoRA模块。对于权重矩阵 W W W,在其计算路径中添加一个并行的路径,用于计算低秩矩阵的贡献。具体来说,在模型的前向传播过程中,除了原始的权重矩阵 W W W对输入的计算(即 h = W x h = Wx h=Wx,其中 h h h是输出, x x x是输入),还添加 h l o r a = A B x h_{lora}=ABx hlora=ABx的计算,最终的输出为 h t o t a l = h + h l o r a h_{total}=h + h_{lora} htotal=h+hlora(在一些实现中可能会有缩放因子等调整)。
    • 初始化策略:对低秩矩阵 A A A B B B进行初始化。通常 A A A采用随机初始化(如正态分布初始化),而 B B B初始化为零矩阵。这样做的原因是,在微调开始时,LoRA模块的贡献为零(因为 B B B初始化为零, h l o r a = 0 h_{lora}=0 hlora=0),模型的输出完全由预训练的权重矩阵 W W W决定,从而保证了在微调初期模型的行为与预训练模型一致,避免了因参数突变导致的模型性能下降,也有助于保护预训练模型学到的通用知识不被破坏。
  3. 微调过程中的参数更新
    • 训练数据准备:针对具体的下游任务(如文本情感分类、图像风格转换等),准备相应的训练数据。这些数据通常需要进行与预训练模型输入格式相匹配的预处理,如文本数据的分词、编码,图像数据的归一化、分辨率调整等。
    • 参数优化:在微调过程中,固定预训练模型的权重矩阵 W W W,仅对LoRA模块的低秩矩阵 A A A B B B进行优化。优化目标通常是最小化下游任务的损失函数(如分类任务中的交叉熵损失、生成任务中的负对数似然损失等)。由于可训练的参数仅为 A A A B B B的元素,其数量相较于预训练模型的全参数数量( d 2 d^2 d2)大幅减少(仅为 2 d r 2dr 2dr r ≪ d r\ll d rd),因此微调过程的计算成本和存储成本显著降低。例如,当 d = 1024 d = 1024 d=1024 r = 8 r = 8 r=8时,全参数数量为 1024 × 1024 = 1048576 1024\times1024 = 1048576 1024×1024=1048576,而LoRA可训练参数数量为 2 × 1024 × 8 = 16384 2\times1024\times8 = 16384 2×1024×8=16384,仅为全参数数量的约1.56%。
    • 训练策略:在LoRA的微调训练中,通常采用较小的学习率,以避免对低秩矩阵的过度更新导致模型过拟合下游任务。同时,由于预训练模型的权重固定,模型的泛化能力在一定程度上得到保障,因为预训练模型学到的通用知识作为基础,LoRA模块只需学习任务特定的知识。此外,还可以结合一些正则化技术(如L2正则化)来进一步提高模型的泛化能力,防止低秩矩阵 A A A B B B的过拟合。
  4. 微调后模型的应用与整合
    • 推理阶段应用:在推理阶段,有两种常见的处理方式。一种是将LoRA模块的低秩矩阵 A A A B B B与原始的权重矩阵 W W W进行合并,得到新的权重矩阵 W ′ = W + A B W'=W + AB W=W+AB,这样在推理时可以直接使用合并后的权重矩阵,无需额外的计算开销,模型的推理结构与原始预训练模型结构一致,方便部署。另一种方式是在推理时仍然保留LoRA的并行计算结构,即同时计算 W x Wx Wx A B x ABx ABx并相加,这种方式在一些对模型部署灵活性要求较高的场景中可能会被采用,但会增加一定的推理计算量(不过相较于全参数微调后的模型推理,增加的量非常小)。
    • 模型整合与迁移:微调后的模型可以应用于特定的下游任务,并且由于LoRA的低秩调整是基于预训练模型的,模型在不同任务之间的迁移也更加高效。例如,当需要将模型从一个文本分类任务迁移到另一个文本分类任务时,只需在新任务上对LoRA模块进行再次微调(或者在原有LoRA参数基础上进行少量更新),而无需重新训练整个预训练模型,大大缩短了模型适配新任务的时间和成本。

(三)对原始数据的处理特点

  1. 数据适配与预处理
    • LoRA技术主要关注模型的微调,因此对原始数据的预处理与传统大模型应用类似,但更强调数据与下游任务的适配性。例如在文本任务中,需要将文本数据转换为预训练模型能够接受的token格式,包括分词、添加特殊token(如[CLS]、[SEP]等)、进行数值编码等。对于图像任务,需要将图像转换为预训练模型要求的分辨率、通道数,并进行归一化等操作。
    • 由于LoRA是在预训练模型基础上进行微调,原始数据的分布与预训练数据分布的关系也较为重要。如果下游任务数据与预训练数据分布差异较大,可能需要更多的训练数据或者更精细的微调策略来保证LoRA的效果,但总体而言,LoRA对数据分布差异的适应能力相较于全参数微调更强,因为预训练模型的通用知识可以在一定程度上弥补数据分布的差异。
  2. 数据利用效率
    • LoRA能够在较少的下游任务数据下实现有效的微调。这是因为预训练模型已经学习了大量的通用知识,LoRA模块只需学习任务特定的“偏差”知识,因此不需要像从头训练模型那样需要大规模的下游任务数据。例如,在一些小样本学习场景中,LoRA可以仅用几十个样本就实现模型对新任务的适配,而传统的模型训练方法可能需要数百甚至数千个样本才能达到类似的效果。这种高效的数据利用能力使得LoRA在数据稀缺的领域(如一些专业领域的任务,医学、法律等,获取大规模标注数据成本高昂)具有显著优势。

四、传统矩阵分解与LoRA处理方式的对比总结

(一)处理对象的本质差异

  • 传统矩阵分解:主要处理静态的数据矩阵,这些矩阵可以是原始数据的直接表示(如图像像素矩阵、用户 - 物品评分矩阵),也可以是模型参数矩阵(在一些模型训练优化场景中)。其目的是对这些矩阵进行变换、压缩、特征提取等操作,以服务于数据处理或模型训练的需求。
  • LoRA:核心处理对象是预训练大模型的权重矩阵,通过在权重矩阵的基础上引入低秩矩阵调整,实现模型对下游任务的适配。其聚焦于模型本身的参数高效调整,而不是对原始数据矩阵的直接处理(虽然在应用中也需要对下游任务数据进行预处理,但这不是LoRA技术的核心处理对象差异点)。

(二)处理目的与应用场景差异

  • 传统矩阵分解:目的广泛,包括数据压缩存储、特征提取分析、噪声去除、模型训练优化(如解决多重共线性、加速训练等)等,应用场景涵盖推荐系统、图像处理、文本挖掘、传统机器学习模型训练等多个领域。
  • LoRA:目的单一且明确,即实现大模型的参数高效微调,主要应用于大模型适配下游任务的场景,如大语言模型的文本生成任务定制、多模态模型的风格转换与特定内容生成等,是专为大模型时代模型高效适配而设计的技术。

(三)参数更新与模型影响差异

  • 传统矩阵分解:在应用于模型时,若涉及模型参数(如在矩阵分解机、基于矩阵分解优化的线性模型等),通常是对模型参数矩阵进行重新分解和学习,可能会改变模型参数的整体结构,并且在一些情况下(如从头训练基于矩阵分解的模型),需要大量的训练数据和计算资源来学习参数矩阵。
  • LoRA:在模型处理中,严格固定预训练模型的权重矩阵,仅更新引入的低秩矩阵参数,对模型原始参数的影响极小(仅通过低秩矩阵的加法调整间接影响模型输出)。这种方式极大地减少了参数更新量,降低了计算和存储成本,同时保护了预训练模型的通用知识,使得模型在下游任务微调后仍然保留预训练阶段获得的泛化能力,避免因全参数微调导致的 “灾难性遗忘”,且能以极少的参数实现对新任务的高效适配。

LoRA(低秩适应)核心目的是在不改变原始权重矩阵的前提下,通过引入可训练的低秩矩阵实现高效微调。

1. 对每层权重 W 0 ∈ R d × d W_0 \in \mathbb{R}^{d \times d} W0Rd×d,插入低秩旁路

在预训练模型(如Transformer结构的BERT、GPT系列)中,通常选择对计算量较大、对模型输出影响显著的层(如注意力层的投影矩阵、前馈神经网络层)进行LoRA改造。假设某一层的权重矩阵为 W 0 W_0 W0,其维度为 d × d d \times d d×d(例如在一个典型的Transformer层中, d d d 可能为768或1024)。

LoRA的核心设计是在原权重矩阵 W 0 W_0 W0 的计算路径旁,并行添加一个低秩旁路。这个旁路通过两个低秩矩阵 A A A B B B 实现,使得最终的权重更新量 Δ W \Delta W ΔW A A A B B B 的乘积近似表示,即 Δ W ≈ A B \Delta W \approx AB ΔWAB。改造后的权重计算方式变为:
W = W 0 + α r A B W = W_0 + \frac{\alpha}{r}AB W=W0+rαAB
其中, α \alpha α 是缩放因子, r r r 是低秩矩阵的秩( r ≪ d r \ll d rd ,例如 r = 4 , 8 , 16 r = 4, 8, 16 r=4,8,16 )。

2. 初始化降维矩阵 A ∈ R r × d A \in \mathbb{R}^{r \times d} ARr×d(高斯分布 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2)

  • 矩阵 A A A 的作用:矩阵 A A A 的核心功能是将原始输入(维度为 d d d )映射到一个低维空间(维度为 r r r ),因此被称为降维矩阵。它在旁路中扮演“特征压缩”的角色,通过矩阵乘法 A x Ax Ax 将高维输入压缩到 r r r 维,使得后续计算更为高效。
  • 初始化策略:矩阵 A A A 通常采用高斯分布 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2) 随机初始化。这种初始化方式的好处在于:
    • 打破对称性:随机值确保不同神经元的初始权重不同,避免训练过程中神经元学习到相同的特征。
    • 合理的数值范围:以0为均值的高斯分布使得权重初始值在0附近波动,结合后续的梯度更新,有助于模型稳定收敛。
    • 保留多样性:随机初始化赋予 A A A 丰富的初始表达能力,使其能够在训练过程中探索更广泛的特征空间。

3. 初始化升维矩阵 B ∈ R d × r B \in \mathbb{R}^{d \times r} BRd×r(全零矩阵,避免初始干扰)

  • 矩阵 B B B 的作用:矩阵 B B B A A A 配合,将 A A A 压缩后的低维特征( r r r 维)重新映射回原始维度 d d d,因此被称为升维矩阵。通过 B ( A x ) B(Ax) B(Ax) 的计算,旁路能够生成与原始权重矩阵 W 0 x W_0x W0x 维度一致的输出,从而实现两者结果的相加。
  • 全零初始化的意义:矩阵 B B B 初始化为全零矩阵,这是LoRA的关键设计之一,具有以下重要作用:
    • 确保训练初期无影响:在训练开始时,由于 B = 0 B = 0 B=0,旁路的输出 B ( A x ) = 0 B(Ax) = 0 B(Ax)=0,此时模型的输出完全由原始权重矩阵 W 0 W_0 W0 决定。这保证了模型在微调初期的行为与预训练阶段一致,避免因参数突变导致性能下降,有效防止“灾难性遗忘”(即模型忘记预训练学到的知识)。
    • 渐进式学习:随着训练的进行, B B B 的参数逐渐更新,旁路对模型输出的贡献从0开始逐步增加,使得模型能够在保留预训练知识的基础上,渐进式地学习任务特定的特征。

4. 设置缩放因子 α \alpha α(通常 α = r \alpha = r α=r,平衡梯度量级)

  • 缩放因子的作用:缩放因子 α \alpha α 用于调整低秩矩阵 A B AB AB 对最终权重更新的贡献程度。在公式 W = W 0 + α r A B W = W_0 + \frac{\alpha}{r}AB W=W0+rαAB 中, α r \frac{\alpha}{r} rα A B AB AB 的结果进行缩放,其核心目的是平衡梯度量级,确保训练过程的稳定性。
  • 为什么 α = r \alpha = r α=r 是常用设置
    • 梯度尺度匹配:在训练初期,随机初始化的 A A A 和逐渐更新的 B B B 可能导致梯度的量级不稳定。当 α = r \alpha = r α=r 时, α r = 1 \frac{\alpha}{r} = 1 rα=1,使得 A B AB AB 的更新幅度与原始权重 W 0 W_0 W0 的量级在训练初期保持相对一致,避免梯度消失或爆炸问题。
    • 经验验证有效:大量实验表明, α = r \alpha = r α=r 在多数场景下能够取得良好的训练效果,既能保证模型快速学习任务特征,又不会过度偏离预训练模型的行为。
    • 超参数简化:将 α \alpha α r r r 绑定,减少了需要手动调整的超参数数量,降低了调参难度,使得LoRA在不同任务和模型中的应用更为便捷。
http://www.xdnf.cn/news/14492.html

相关文章:

  • Ubuntu24.04一键安装ROS2
  • PoE供电异常如何排查?
  • React-router 基础使用
  • Markdown 使用 mermaid 绘制图
  • 基于Webserver的数据采集
  • Redis Cluster集群机制原理
  • 安卓9.0系统修改定制化____支持安卓9.0系统修改的一些解包 打包工具解析 基础篇 三
  • TC3xx学习笔记-启动过程详解(二)
  • 最新文章 支持一下!!
  • Datawhale---AI办公实践与应用---Cpt2-用讯飞智文做一个小案例
  • 一个高质量的社交电商APP客户端UI解决方案
  • Nginx 配置中·IP地址变量
  • 深度学习的优化⽅法
  • 李沐--动手学深度学习 LSTM
  • 父亲节:传承孝道,守护亲情
  • MySQL 数据库自动备份批处理工具介绍
  • Vue 项目路由模式全解析:从 hash 到 history 再到 abstract
  • Podman 安装与运行 Nginx 容器完整指南(含访问验证)
  • 北斗导航 | 基于matlab的提升卫星导航单点定位精度的算法总结
  • 2022年以来大模型技术及生态发展汇总文档
  • MongoDB文档查询:从基础到进阶的探索之旅
  • 【Dify系列】【一】【安装与部署】【ubuntu22.04安装docker部署dify1.4.2】
  • 先理解软件工程,再谈AI辅助研发
  • 如何在软件公司推行狼性文化?可能存在哪些困难?
  • VSCODE + EIDE 下 STM32 编程使用部分外设无法通过编译:undefined reference to ‘xxx‘
  • 智芯协同:AI与智能硬件产业深度前瞻
  • 综述|探究深度学习在园艺研究中的应用
  • 基础知识-军品软件六性
  • MCP案例 - 数据可视化客户端
  • Python基础教学:航天工程领域的精确计算和金融领域的精确计算,分别采用的小数保留位数的方法有哪些?有什么区别?-由Deepseek产生