Scaling Laws当道,但随着大模型应用的发展,基础模型不断扩大的参数也成了令开发者们头疼的问题。
为了减轻训练负担,Adapter、Prompt-Tuning以及LoRA等高效微调(Parameter Efficient Fine-Tuning, PEFT)算法越来越受到大家伙的青睐。
那么,问题来了——
尽管近年来高效微调领域发展迅速,涌现了多种方法,但不同PEFT方法背后的数学基础几乎没有得到深入研究。
此外,不同PEFT方法之间的性能差异及其原因尚未系统地探讨。这种理论深度的缺乏限制了研究者对这些方法潜在优势和局限性的理解,阻碍了它们在实际应用中的优化和创新。
为了解决这一问题,来自上海交通大学的研究者们在对各种PEFT方法进行全面数学分析后,提出了一种新的框架——子空间微调,旨在将所有已知的PEFT方法统一在一个理论下,
具体来说,子空间微调方法主要集中于调整原始参数的子空间,涉及子空间的重构和扩展。研究者深入探讨了不同方法如何操作子空间,并从分解理论的角度阐明了每种方法的数学原理。此外,研究者分析了为什么这些方法会导致性能差异,提供了理解不同PEFT策略内在动态的全面理论基础。
他们基于此提出了两种新的PEFT方法,
新方法在仅微调0.02%参数的情况下,性能接近于全面微调
。
研究者还介绍了一个有效的框架,在不引入额外训练参数的情况下,提升了LoRA等方法的性能。通过在三种不同模型上测试超过十种方法,广泛的实验验证了其理论的稳健性,同时展示了提出的方法和框架的有效性。
来看论文细节。
子空间微调理论
考虑任何给定主干网络层的冻结权重矩阵
, 其中
, 并用权重矩阵
的性能
来量化模型的性能, 值越高表示性能越好。
假设存在最优权重矩阵
, 且
对所有
成立。PEFT的目标公式化为:
其中
衡量两个矩阵之间的差异。函数
被视为增量调优, 表示对矩阵
的每个元素的修改, 但这种表征过于笼统。
从分解理论的角度看, 调整矩阵涉及修改其对应的子空间, 因此, 所有PEFT方法可视为子空间微调。
如此, 优化的目标是找到
在
基所生成的子空间内的最大投影, 然后将
与其对齐。
有两种方法实现这一目标:通过调整
来逼近
, 或操作
的子空间以接近或包含
。
研究者将函数
分配给两个主要角色:直接重构对应
的子空间, 以更好地对齐
, 或引入一个新子空间并与原始子空间结合。这些过程数学表示为:
其中,
概括了
的子空间重构过程,
描述了子空间的联合。研究者将这些操作分别称为 “子空间重构”和“子空间扩展”, 并将现有方法分类为三类:
-
基于子空间重构的方法
,将复杂空间分解为易理解的子空间,并调整这些派生子空间的基
-
基于子空间扩展的方法
, 引入一个新子空间, 在新子空间和原始权重矩阵
对应的子空间基所生成的空间内找到最优权重
的最大投影;
-
子空间重构
基于先前概述的框架,子空间重构方法首先将
的空间分割为可解释的子空间,然后细化这些子空间以提高模型效率。许多PEFT策略集中于直接重构与原始权重矩阵相关的子空间,著名例子包括SAM-PARSER、Diff Pruning、(IA)3、BitFit、Prefix-tuning和Prompt-tuning等。
研究者从奇异值分解 (SVD) 开始探索, 原始权重矩阵
被分解为正交子空间,涵盖了原始矩阵空间的全部。分解表示为
, 这种分解将
分成左奇异向量
列空间的正交基)、奇异值
(调整维度和缩放)和右奇异向量
(
行空间的正交基)。通过调整分解获得的子空间, 可以重构原始空间, 分为三种模式:
-
奇异值调整
:调整
中的奇异值,修改每个主成分的权重,而不影响子空间方向。
-
简单奇异向量调整
:通过缩放生成的子空间来调整
和
中的奇异向量,保留方向特性,同时调整幅度。
-
复杂奇异向量调整
:对奇异向量进行更复杂的变换,重新定向或重塑子空间,全面调整矩阵结构。
基于这一理论,研究者提出了两种新的微调方法:SSL(Scaling the Subspace of the Left singular vectors)和SSB(Scaling the Subspace of Both left and right singular vectors)。
从下图中可以看出,
SSL最少只需要微调0.02%的参数,SSB最少只需要微调0.06%的参数,就能实现全量微调99%的性能
。
关于每种模式的具体操作、每种方法的具体内容、其背后的数学原理,以及研究者如何基于这一理论提出两种新方法的详细信息,请参阅原论文。
子空间扩展
基于扩展的方法引入新子空间,结合该新子空间和原始权重矩阵
的基生成扩展空间。
这些方法旨在找到最优权重
在新空间内的最接近投影, 通过引入额外的权重矩阵来扩大原始子空间的基以覆盖更大维度区域。通常, 这些方法的转换函数定义为
, 其中 s 代表缩放因子,
对应于新子空间,也称为附加项。
考虑权重矩阵
, 假设
。理想情况下, 有
, 即
和
占据相同的行和列空间, 使它们定位在同一超平面内。
如果
的秩为 n , 其列空间的维度等于 n , 生成
子空间。若
的秩小于 n , 它只能在
内生成一个子空间。假设
和
的列空间基可以生成整个
空间, 在最优情况下,