备注好友: 方向-学校/公司-姓名/昵称
【AIGC 先锋科技】交流群
微调预训练模型对于将大型模型适配到下游任务中至关重要,通常可以实现最先进的表现。然而,微调所有模型参数资源消耗大且耗时,因此出现了参数高效的微调(PEFT)方法。一种广泛采用的PEFT技术,低秩自适应(LoRA),将预训练模型权重冻结并引入两个低秩矩阵,其秩显著小于原始权重矩阵的维度。这使得可以通过调整少量参数实现高效微调。
尽管其效率高,但LoRA使用低秩分解近似权重更新,难以捕捉复杂的非线性组件和有效的优化轨迹。因此,LoRA基础的方法通常表现出与全微调显著的性能差距。要填补这一差距,需要更高的秩,这将增加参数数量。
为了解决这些限制,作者提出了一种非线性参数高效的适应方法(Neat)。Neat引入了一个轻量级的神经网络,将预训练权重作为输入并学习一个非线性变换来近似累积权重更新。
这些更新可以被视为对应预训练权重的函数。非线性近似直接建模了累积更新,有效地捕获了权重更新的复杂和非线性结构。作者的理论分析表明,Neat可以比LoRA更高效,同时具有相等或更高的表达能力。
在四个基准测试和二十多个数据集上的广泛评估表明,Neat在视觉和文本任务上显著优于 Baseline 。
1 Introduction
预训练模型,在广泛和多样的一般领域语料库上进行训练,具有卓越的泛化能力,受益于一系列基本任务,如自然语言理解[Devlin,2018,Liu,2019],自然语言生成,以及图像分类[Dosovitskiy等人,2020a]。为了将预训练模型适应到特定的下游任务,通常采用微调。然而,由于预训练模型中参数数量庞大,完全微调需要大量的计算资源和产生大量的内存开销[Qin等人,2024]。
为了应对这个挑战,各种参数高效的微调(PEFT)技术已经出现,使得预训练模型能够在资源受限的环境中进行微调 [Ding等人,2023,Han等人,2024]。PEFT方法通过引入少量可学习的参数,只更新这些轻量级组件,从而减少了微调的内存开销。这些方法使预训练模型能够有效地适应新任务,同时最小化资源消耗。在PEFT技术中,低秩适应(LoRA)家族 [Hu等人,2021a,Liu等人,2024,Song等人,2024,Buyuakyuz,2024,Zhao等人,2024]被广泛认为是其中最有效和最受欢迎的方法之一,因为其微小的架构修改,高效率和强大的性能。LoRA的核心概念是引入每个预训练模型权重低秩矩阵,并通过它们的乘积来近似权重更新。由于这些低秩矩阵比原始预训练权重小得多,微调期间的内存开销显著降低。
尽管LoRA在广泛成功,但在捕捉权重更新中的复杂关系方面存在局限性。通过将权重更新分解为低秩矩阵,LoRA有效地降低了微调参数空间,但这也意味着它无法捕捉到许多下游任务中至关重要的非线性相互作用[Pan等,2024]。这种近似往往难以模拟需要高性能的复杂优化轨迹,尤其是在低秩矩阵的秩较小时。因此,基于LoRA的方法通常需要更高的秩来缩小其性能与全量微调之间的差距,这增加了参数数量,破坏了它们设计时旨在实现的高效性。
为了克服这些限制,作者提出了一种新颖的非线性参数高效的适应方法Neat,该方法将轻量级神经网络集成到适应过程中。与LoRA相比,Neat将权重更新建模为预训练模型原始权重的函数,而不是通过低秩分解线性逼近权重更新。这使得Neat能够捕捉权重空间中的复杂、非线性模式,提高适应性能,同时不增加参数数量。Neat的关键创新在于引入了一种神经网络,将预训练权重进行变换,用最小的额外计算近似权重更新。这种非线性变换在提高参数更新表达能力的同时保持了效率。重要的是,这种架构有助于更高效地探索优化景观,从而在特定情况下实现更好的任务适应性,特别是当线性方法如LoRA需要更大的秩才能获得竞争性结果时。作者从理论上证明了,Neat可以在更少的参数下实现与LoRA相同或更大的表达能力。
以下是摘要:
本研究的主要贡献如下:
作者提出了Neat,一种新颖的参数高效的微调方法,该方法利用非线性变换,有效地捕获更复杂的权重更新。据作者所知,这是首次引入非线性适应性于基于LoRA的PEFT方法的工作。
提出的Neat算法在保持高效的同时提升了模型性能。从理论上,作者证明了Neat可以在较少的参数下实现与LoRA相同或更高的表达能力。
作者在涵盖二十多个数据集的四个基准测试上进行了广泛的实验。实验结果表明,所提出的Neat在视觉和文本任务上都能超越 Baseline 。
2 Related Works
在本节中,作者将对参数高效的微调(PEFT)方法的相关工作进行简洁概述。PEFT方法旨在减少微调预训练模型的内存开销,从而实现在资源受限的环境中进行微调。在这些方法中,基于低秩自适应(LoRA)的方法,代表了重参化PEFT方法,由于其最小的架构更改,没有额外的推理成本,以及高效率,因此受到了广泛关注。LoRA(Hu等人,2021)为每个预训练模型权重引入了两个可训练的低秩矩阵,以近似原始模型的所需更新。LoRA的扩展包括DyLoRA(Valipour等人,2022),它动态调整低秩矩阵的秩数,在训练过程中优化特定任务; AdaLoRA(Zhang等人,2023),它根据权重矩阵的重要性分数,自适应地分配参数预算;
以及DoRA(Liu等人,2024),它将预训练权重分解为幅度和方向,仅对方向更新使用LoRA。其他变体包括VeRA(Kopiczko等人,2023),它引入了层间共享冻结随机矩阵,以进一步提高效率,以及RoseLoRA(Wang等人,2024),它采用行和列稀疏的低秩自适应机制,有选择地更新权重矩阵中最显著的参数。FourierFT(Gao等人)用傅里叶变换替换LoRA中的矩阵乘法,而PiSSA(Meng等人,2024)和MiLoRA(Wang等人,2024)分别更新权重矩阵的主奇异成分和次奇异成分。
然而,现有的PEFT方法依赖于线性变换来近似预训练权重更新,这很难捕捉到权重更新中固有的复杂关系,导致与全量微调相比,性能存在显著差距。
3 Preliminary
在本节中,作者简要介绍了LoRA的初步知识。LoRA假设在微调过程中模型权重矩阵的修改表现出低秩性质。对于一个预训练的权重矩阵 ,LoRA通过两个可学习的低秩矩阵的乘积来模拟预训练语言模型的有效逐步更新。
作为专业的AI学术论文翻译助手,我的任务是将您提供的英文AI学术论文翻译成准确、流畅的简体中文。请将以下英文内容提供给我,我将为您提供翻译后的结果。
where and with .
在微调过程中,仅将两个低秩矩阵 和 更新,预训练权重 被冻结,可以表示为:
训练集 被用于微调,损失函数 被用于衡量模型性能。由于 和 是两个低秩矩阵,且比 更轻量级,LoRA 在内存空间上的消耗远小于全量微调。
4 Methodology
Framework Overview
如图1所示,所提出的Neat通过引入非线性权重适应方法,扩展了LoRA的增量更新机制,以实现更丰富的模型更新。在LoRA中,权重更新通过将调整分解为低秩矩阵和来实现,这些矩阵被集成到预训练模型权重中。相比之下,Neat通过用动态方法替换静态低秩更新来实现这一点。具体而言,Neat利用了一个神经网络,该网络将预训练权重作为输入,并生成非线性更新。这种设计使得Neat能够捕获更复杂的交互并适应各种任务,同时保持参数效率。
Motivation
在完全微调预训练模型时,权值更新过程通常通过迭代梯度下降进行:
初始权重 ,学习率 ,以及 次迭代后的权重 。权重随时间的变化累积表示为:
这权重变化 可以被解释为原始预训练权重 的函数,捕捉模型在微调特定任务时的适应性。受到这一观察的启发,作者提出了一种使用轻量级神经网络来近似 的方法,该神经网络将预训练模型权重 作为输入,并直接输出权重更新。这种方法利用非线性网络直接建模权重更新,可以有效地捕捉权重更复杂和丰富的变化。
Nonlinear Parameter-efficient Adaptation
类似于LoRA [14],提出的Neat也提供了预训练语言模型的增量更新。然而,Neat通过引入动态非线性权重变换改变了模型的前向传播。具体而言,模型的前向传播可以表示为:
和 分别表示当前层的输入和输出, 是一个由 参数化的非线性神经网络。神经网络 生成权重更新的函数为 。在这种表示中,神经网络 允许进行动态、非线性权重更新,可以捕获比标准 LoRA 使用的静态低秩近似更复杂的交互。为了确保所提出的 Neat 的高效性,神经网络 应具有较少的参数,即 的参数数量远小于原始预训练权重 的参数数量。因此,作者设计 作为具有 Bottleneck 层的神经网络。例如,一个简单的情况是 ,其中 ,且 ,其中 类似于 ReLU [16]。作者还可以增加 的层数或添加激活函数来增强模型的表达能力。
在微调过程中,优化目标是最小化任务特定的损失函数,可以表示为:
其中,原始预训练权重
被冻结,只有神经网络
的参数
进行更新。
5 Theoretical Analysis
在本节中,作者对ReLU激活下的Neat进行了理论分析。作者证明了在某些条件下,Neat可以用更少的参数实现与LoRA相同或更大的表达性。考虑如第4.3节所示的浅层神经网络设计:
命题5.1中的不变性假设认为,模型的性能仅取决于将权重矩阵投影到向量的左奇异空间。当作者微调一个预训练模型时,预期上层能够捕获与任务相关的特征空间,该特征空间有效地由向量的左奇异空间描述。
由于上层主要依赖这个预训练特征空间,因此这种假设在实际中是合理的。
预训练权重矩阵的主要方向,由其奇异向量表示,编码了下游任务中大部分有用的特征,使得损失对除这个子空间之外的变化 largely 免疫。证明见第A.1节。
如果作者考虑一个正弦激活函数σ_p(x)=sin(2πx),作者可以得出一个不需要不变性假设且Neat的表达力(几乎)大于等于一个LoRA(更多参数)的更强的结果。作者将结果推迟到附录A.2中。
6 Experiment
在实验中,作者评估了所提出的神经网络,并回答以下问题:
neat 与最先进的 PEFT 方法在 NLP 任务上的表现如何?
如何比较Neat与最先进的PEFT方法在视觉任务上的表现?
不同微调模块、轻量神经网络的深度或非线性激活函数如何影响Neat的性能?
Datasets and Experiment Settings
6.1.1 Datasets
作者在四个不同的基准测试上进行了实验:
常识推理,包括BoolQ 、WinoGrande 、ARC-e,ARC-c(Clark等人,2018年)和OpenBookQA(Mihaylov等人,2018年)数据集,都被表述为多项选择问题。遵循Wang等人的研究(2024年),作者在这些任务的综合训练数据集Commonsense170K(Hu等人,2023年)上 finetune LLaMA2-7B(Touvron等人,2023年)和LLaMA3-8B(AI@Meta,2024年),并在每个测试集上评估准确率。
算术理解 包含两个数学推理数据集:GSM8K (Cobbe等人,2021年) 和 MATH (Hendrycks等人,2021年)。作者根据Wang等人(2024年)的方法,在MetaMath (Yu等人,2023年)数据集上微调LLaMA2-7B (Touvron等人,2023年)。模型需要生成正确答案,并使用准确性作为评估指标。
自然语言理解 包括GLUE基准测试中的八个数据集[Wang等人,2018]。作者遵循Gao等人[2024]和Wu等人[2024a]的评估指标和设置。
图像分类包括八个数据集:OxfordPets [Parkhi et al., 2012],CIFAR10 [Krizhevsky, 2009],DTD [Cimpoi et al., 2014],EuroSAT [Helber et al., 2019],RESISC45 [Cheng et al., 2017],StanfordCars [Krause et al., 2013],FGVC [Maji et al., 2013] 和 CIFAR100 [Krizhevsky, 2009],遵循 Gao et al. [2024] 的方法。前五个数据集标签空间较小,而最后三个数据集标签空间较大。
有关数据集和超参数的更多详细信息,分别见附录D和附录C。
6.1.2 Baselines
作者的 Baseline 是基于任务构建的。具体来说,对于每个任务,作者将提出的Neat与相应领域的代表性 Baseline 进行比较,如下所示。
对于常识推理和算术理解,参考Wang等人[2024c]、LoRA[Hu等人,2021a]、PiSSA[Meng等人,2024]和MiLoRA[Wang等人,2024c]的方法作为 Baseline 。Neat应用于 Query 、键、值、MLP上和MLP下层。
对于自然语言理解,作者遵循 prior works [Gao et al., 2024, Wu et al., 2024a] 的设置,该设置评估了各种具有代表性的 PEFT 方法,包括 LoRA [Hu et al., 2021a],Adapter Houlsby et al. [2019],BitFit [Zaken et al., 2021],RED [Wu et al., 2024b],DoRA [Liu et al., 2024],ReFT Wu et al. [2024a],以及 FourierFT [Gao et al., 2024]。
对于图像分类,作者遵循Gao等人[2024]的设置,采用线性检测(LP)、LoRA [Hu等人,2021a]和傅里叶变换(傅里叶等人,2024]作为 Baseline 。在 Query 和值层上应用了正则化。
Performance Comparison
6.2.1 Commonsense Reasoning
在本节中,作者在表1中的八个常识推理数据集上进行实验,以解决RQ1。作者将三个最先进的 Baseline 与提出的Neat进行比较,在八个不同的数据集上进行比较。Neat始终优于所有 Baseline ,在所有任务上实现最高准确性。具体而言,当使用LaMA2-7B作为基础模型时,Neat在平均准确性方面分别比LoRA、PiSSA和MiLoRA高出4.6%、10%和2.5%。此外,当使用LaMA3-8B作为基础模型时,Neat分别比LoRA、PiSSA和MiLoRA实现平均提升4.9%、11.8%和2.9%。这些结果突显了Neat作为PEFT方法的有效性和优越性。
6.2.2 Arithmetic Reasoning
在本节中,作者针对RQ1在两个算术推理任务上开展实验,结果如表2所示。根据表格,全量微调(FFT)在两个数据集上均取得了最高的准确率。然而,与FFT相比,所提出的Neat在训练参数明显更少的情况下,性能差距相当小。此外,与最先进的PEFT Baseline 相比,提出的Neat在性能上取得了显著提升。在平均准确率方面,Neat相较于LoRA、PiSSA和MiLoRA分别取得了7.5%、12.4%和2.4%的改进。这些在算术推理任务上的结果表明,Neat是一种高度有效且高效的分层微调方法,适用于复杂的推理任务。
6.2.3 Natural Language Understanding
作者在GLUE上进行实验来回答RQ1。模型性能如表3所示。根据表3,提出的Neat显著优于最先进的PEFT方法。具体来说,Neat-S,它使用的可训练参数数量与FourierFT [14]、DiReFT [23]和LoReFT [23]相似,超越了所有PEFT Baseline ,仅与FFT相比出现了轻微性能下降(0.2%)。此外,Neat-L在相同数量的可训练参数下超越了所有 Baseline ,包括FFT,与LoRA一样表现出色。这些结果表明,提出的Neat在保持高效的同时,表现出优秀的泛化能力。
6.2.4 Image Classification
在本节中,作者将在图像分类数据集上进行实验,以解决表4中的RQ2问题。从表中可以看出,Neat在相同数量的训练参数下,显著优于LoRA和FourierFT。具体而言,Neat与LoRA、FourierFT和LP相比,分别实现了11.05%、7.30%和26.02%的性能提升。此外,与FFT(86.49%)相比,仅使用Neat(86.15%)几乎无性能下降,而仅需要FFT的0.3%可训练参数。这表明Neat不仅在大语言处理任务上表现出出色的适应能力,在视觉任务上也是如此。这还验证了Neat中使用的非线性适应的有效性。
Sensitivity w.r.t. Fine-tuned Module
在本节中,作者提出了将Neat应用于ViT的各个模块(针对图像分类)的结果,以回答RQ3。实验结果如图3所示。作者将隐藏层维度调整到保持训练参数数量相同,以确保公平比较。根据图3,将Neat应用于QV层的结果类似于将Neat应用于QV和MLP层的结果。这表明,Neat在不同微调模块选择下具有鲁棒性,在应用Neat到特定任务时可能减少广泛的超参数调优的需要。
Sensitivity w.r.t. Depth
随着神经网络深度的增加,模型具有更多的非线性,这可能使Neat在权重更新时捕捉更复杂的非线性模式方面更有效。在本节中,作者在StanfordCars数据集上进行了一系列实验,以解决RQ3,如图2所示。Neat中使用的堆叠层结构的图示如图4所示,详细描述见附录E。为了确保公平比较,作者在所有配置中保持一致的超参数。
根据图2,增加网络深度可以提高性能。具体来说,当深度为6层时,分类准确率达到81.04%,相较于仅使用2层深度提高了1.7%。当深度增加到8层和10层时,相对于6层模型,准确率略有降低,但仍然高于2层配置。可能的原因是,随着深度增加,尤其是达到10层时,训练过程变得更加困难,可能需要更仔细的超参数调优。值得注意的是,由于中间层的大小(,其中是隐藏层维度)比预训练模型的权重维度小得多,堆叠更多隐藏层所带来的额外参数开销可以忽略不计,且不影响Neat的参数效率。这些结果进一步证明了引入非线性适应性的有效性。
Sensitivity w.r.t. Different non-linear activations
相比于LoRA和其他PEFT方法,Neat的一个关键创新在于,它引入了非线性激活符號在自適應神經網絡中,而這些激活符號不僅僅依靠線性轉換來建模權重更新。具體來說,非線性激活符號的選擇直接影響學習過程和權重更新的動態。因此,作者研究了不同的非線性激活符號對整體適應性能的影響,以解決問題RQ3。具體來說,作者將Neat使用作為非線性激活函數與Neat使用ReLU,進行比較。結果如表5所示。為了確保公平的比較,訓練參數保持相同,而學習率等超參數進行優化以最大化性能。對於正弦函數非線性激活設定的具體超參數,請參見附錄C.1。
根据表格,使用正弦非线性激活通常比使用ReLU更好地实现视觉适应。具体来说,具有正弦激活的Neat在8个任务中胜过基于ReLU的Neat的6个任务,特别是在DTD和FGVC中表现尤为突出。这一观察与作者在第五部分的理论分析一致,该分析表明具有正弦激活的Neat与使用ReLU具有相等或更高的表达能力。
7 Conclusion
在本工作中,作者提出了一种新颖的参数高效的微调(PEFT)方法Neat,该方法引入非线性变换以增强模型适应性,同时保持高效性。通过将一个轻量级的神经网络集成到模型中,该网络将累积权重更新建模为预训练权重函数,从而有效捕获权重空间中的复杂、非线性结构,允许进行更富有表达力和精确度地适应下游任务。
作者的理论分析支持Neat的有效性,表明它可以实现与现有LoRA(一种受欢迎和最先进的PEFT方法)相比更大的或相等的表达力,但参数数量更少。
通过在四个基准测试(涵盖二十多个数据集和各种预训练 Backbone )上的广泛实验,Neat在NLP和视觉任务上均优于现有最先进方法,证明了其在资源受限环境下的有效性。因此,Neat是一种有效的解决方案,可以更适应和高效地微调预训练模型。