LoRA的出发点是一个关键发现:当一个大模型去适应新任务时,虽然它的权重矩阵$W_0$很大,但权重的变化量(也就是“更新量” $\Delta W$)其实是信息高度浓缩的,用数学语言说就是“本征低秩”的。这意味着,一个满秩的更新矩阵 $\Delta W$ 可以被分解为两个瘦长的小矩阵相乘:$\Delta W=BA$。
为了深入研究LoRA背后的数学原理,我们需要拆解一下。
想象你有一个已经训练好的万能模型,它的权重是 $W_0$(比如,它知道所有关于语言的基础知识)。现在你想让它变成一个“医疗问答”专家。你需要用医疗数据对它进行微调。微调后,模型的权重变成了 $W_{medicine}$。那么,微调这个过程新学到的“医疗知识”,其实就是两个权重的差值:$\Delta W_{medicine} = W_{medicine} - W_0$。这个 $\Delta W$,就是LoRA论文里说的“权重的变化量”或“更新量”。它代表了一个大模型从“通用”到“专用”所需要学习的额外知识。
这个 $\Delta W$ 虽然维度巨大(比如 10000 x 10000 的矩阵),但它里面存储的“医疗知识”量,远没有10000 x 10000个独立单元那么多,因为里面充满了冗余和规律。换句话说,这10000 x 10000的表格里,真正独立的、能决定“这是医疗回答”的核心信息,可能用很少的几条规则就概括了。
我们可以把这个过程想象成写一本《中国菜谱大全》。W_0 (预训练模型) 是一本你已经写好的《人类饮食指南》,里面有关于食材、营养、口味、全世界料理的基础知识。你想让它变成“川菜专家”。ΔW_川菜 (更新量)就是你需要在《人类饮食指南》基础上,专门为川菜写的一本“修订补丁”。这个“修订补丁” ΔW_川菜 虽然是基于原书的庞大体系,但它本质上要说的新内容并不多,高度浓缩,可能只有两条核心信息:
基底风味:必须大量使用豆瓣酱、花椒和辣椒。
核心技法:多用“爆炒”和“红油”的做法。
给原书中几百页的菜谱打上这个“川菜补丁”,西红柿炒鸡蛋就可能变成了麻婆豆腐。这个补丁本身的信息量是极少且浓缩的。
“本征”可以理解为“本质上”,“秩”可以理解为“矩阵中真正独立信息的维度”。一个矩阵的秩越低,说明它内部信息的自由度越少,冗余度越高,信息越浓缩。回到川菜的例子,一个包含了100种食材、100种技法的 ΔW_川菜 矩阵,其“本质”可能就是一个由“辛辣程度”和“烹饪速度”这两个核心维度就能描述的低秩矩阵。
用一个更直观的数学例子,假设我们的 $\Delta W$ 是一个 3x3 的矩阵,看起来有9个数:
[ 2, 4, 6 ]
[ 3, 6, 9 ]
[ 4, 8, 12 ]
你看,虽然它有9个元素,但第2列永远是第1列的2倍,第3列永远是第1列的3倍。这整个矩阵的“信息源头”其实只有第一列 [2, 3, 4] 这一个向量。它的秩是1,信息高度冗余和浓缩。这对LoRA意味着,那个巨大而复杂的更新量矩阵 $\Delta W$,根本不需要用几百万个参数去学习。我们只需要学出两个极其瘦长的矩阵 B 和 A,让它们相乘来“模拟”或“还原”出这个原本巨大、但本质简单的 $\Delta W$ 矩阵就行了。这好比是:与其写一本几百页的“川菜补丁”,不如只用一张小纸条,上面写着:“记住两个词——豆瓣酱,爆炒。” 这张小纸条,就是LoRA学到的那个低秩分解 BA。我们只需要训练和存储这张“小纸条” BA,就抓住了 $\Delta W$ 里的核心信息,从而完美地适配了“川菜”这个新任务。这就是“本征低秩”思想为LoRA提供理论可行性的全部秘密。
上面的3x3的矩阵的例子,大家都能理解,但是对于大模型来说,其权重矩阵十分巨大,而且数值都是随机的,怎么能求出它的秩呢?
那个3x3的矩阵例子太“干净”了,行与列是完美的倍数关系。而真实大模型的权重矩阵,数值是随机的、充满噪声的,看起来完全是一团乱麻。
直接回答大家的问题:我们求不出精确的秩,也不需要求,甚至它的精确秩很可能就是满的。我们求的是一个“有效秩”。
真实的 $\Delta W$,数值上看是“满秩”的
你说得对,一个用浮点数填满的巨大矩阵,因为数值的微小随机性,它的所有行几乎肯定是线性无关的。比如:
[ 2.001, 4.000, 6.000 ]
[ 3.000, 5.999, 9.001 ]
[ 4.000, 8.001, 12.000 ]
在这个矩阵中,你看不到完美的倍数关系了。从纯数学定义看,它的精确秩是3(满秩),而不是1。
所以,大模型的 $\Delta W$ 矩阵,在严格数学意义上,极大概率是满秩的。 如果你用高斯消元法去算,结果就是矩阵的维度d。
但是,LoRA的洞察不在这里。它用的是统计学和信号处理里的概念,叫做“有效秩”。
这背后的核心思想是:数据的主要信息,通常集中在少数几个主要成分上,剩下的绝大部分都是“噪声”或次要细节。
我们借助“奇异值分解”(SVD)来理解。我们可以把任何矩阵(比如 $\Delta W$)分解成一堆“分量矩阵”的加权和。每个分量都像一个独立的“知识片段”,而它的权重就是“奇异值”。
分解后的景象通常是这样的:
前几个奇异值非常大,比如 100, 80, 50... 它们对应的分量,代表了 ΔW 里最重要、最核心的“知识主干”。
后面的奇异值会急剧衰减,比如 0.01, 0.008... 它们对应的分量,权重极低,通常被认为是“噪声”或“非结构化细节”。
一个矩阵的“有效秩”,指的就是那些显著大的奇异值的个数。其余的,在信息层面可以忽略不计。
LoRA的作者做了一个实验,发现对于大模型,$\Delta W$ 这个满秩大矩阵,其绝大部分信息都集中在前几十个甚至几个奇异值上,后面的海量奇异值都极其接近零。
这就好比说,那个看似杂乱的 $\Delta W$ 矩阵,其内部起决定性作用的结构,表现得就像是一个秩为8或16的低秩矩阵。那个满秩的数学结果,只是表面上的随机噪声。
现在,我们需要区分我们讨论的究竟是哪个矩阵,这也是理解的关键。
预训练权重矩阵 W_0(模型本身)
它是什么:存储了模型在预训练阶段学到的所有通用知识(语法、逻辑、世界常识)。
它的“秩”高吗:非常高,近乎满秩。 因为它必须容纳一个复杂世界的绝大部分信息,知识的“主干”本身就极其庞大。
结论:W_0 就像一个超大型的钻石矿,它的信息价值极高,且几乎无法被低秩压缩。
微调权重更新量 $\Delta W$(任务适配)
它是什么:让一个通才模型变成某个领域专才,所需要学习的 “增量”或“修正量”。
它的“秩”高吗:非常低。 LoRA的洞察正是在此。从“通才”到“专才”,不需要重学整个世界,只需要在原有知识的坚实基础上,做少量、核心的“方向性修正”。
结论:ΔW 就是我们比喻中那个可以被轻松挑出的几颗钻石。LoRA的全部工作,就是学这个低秩的 ΔW。
现在我们来回答你的矛盾: 你的矛盾,源于将 ΔW 的低秩特性,错误地安放到了 W_0 身上。
如果是对 W_0(大模型本身)做SVD,发现它能被高度压缩而能力不变,那确实说明原始模型设计糟糕,有大量无价值的参数。
但现实是,W_0 本身很难被低秩压缩,它是一个近乎满秩的、结构精密的矩阵。
LoRA发现的低秩性,是发生在 $\Delta W$ 这个微小的“适应变化量”上的。这个发现非但没有证明大模型能力不行,反而证明了大模型的强大: 正因为预训练模型 W_0 已经学得足够好,拥有了一个稳定、通用的“世界模型”,所以我们只需要一个低复杂度的 $\Delta W$ 就能让它完美适配新任务。
对于矩阵奇异值分解有的读者心存疑惑,世界上原本没有绝对之事,怎么任意给出一个 $10000 \times 10000$ 的随机数矩阵,可以求出它的奇异值分解吗?
对此疑惑,我可以直接回答:可以,完全没问题。任何一个 $10000 \times 10000$ 的随机数矩阵,都一定可以求出它的奇异值分解,在数学上没有任何障碍。
为什么可以呢?因为奇异值分解对矩阵的形状、内容没有任何限制。只要它是一个矩阵,无论方阵还是长方阵、稠密还是稀疏、纯随机还是有规律,SVD 都保证存在。用数学表达就是:对于任意一个 $10000 \times 10000$ 的实矩阵 $M$,都存在分解: $$M = U \Sigma V^\mathsf{T}$$ 其中 $U$ 和 $V$ 是 $10000 \times 10000$ 的正交矩阵,$\Sigma$ 是 $10000 \times 10000$ 的对角矩阵,对角线上就是从大到小排列的奇异值。
它的奇异值会长什么样?这才是关键。一个纯随机的 $10000 \times 10000$ 矩阵(比如每个元素独立服从标准正态分布),它的 SVD 会有这样一个极为显著的特征:所有奇异值的大小都非常接近,没有一个或少数几个奇异值“鹤立鸡群”。
用 Marchenko-Pastur 分布来描述就是:奇异值的分布会形成一个紧凑的“块状”谱,大头小头基本一样大,不会出现急剧衰减。
这就意味着:纯随机矩阵在“有效秩”意义上是满秩的,或者说,“信息”均匀分散在所有维度里,没有任何信息浓缩可言。
这恰恰反证了 LoRA 的核心发现,LoRA 的洞察之所以成立,正是因为在真实微调中,$\Delta W$的奇异值分布不像纯随机矩阵那样均匀。
纯随机矩阵:10000 个奇异值都差不多大 → 无法低秩近似。
真实的 $\Delta W$ 矩阵:前几个(比如 8~16 个)奇异值非常大,之后出现断崖式衰减,剩余的几千个奇异值小到接近零 → 可以用极低秩完美逼近。
所以,不是“能不能求 SVD”的问题,而是“求出来之后,奇异值衰减得快不快”的问题。真实的 $\Delta W$衰减得极快,这给了 LoRA 用两个极瘦矩阵去逼近它的底气。纯随机矩阵不满足这个条件,于是什么也压缩不了。道理类似,大模型预训练好的权重 $W_0$,其奇异值衰减并没有 $\Delta W$ 那么剧烈——因为它需要容纳整个世界知识,信息本身就是高度满秩的。而 $\Delta W$ 只是在这个坚实基础上做一丁点任务偏转,所以它的信息谱就极其窄、极其低秩。