Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

750次阅读
没有评论

作者 | 赵晏浠

编辑 | 赵晏浠

论文题目:

Parameter-efficient fine-tuning of large-scale pre-trained language models

今天给大家介绍的是发表在nature machine intelligence上的工作《Parameter-efficient fine-tuning of
large-scale pre-trained language models
》。随着预训练语言模型(PLMs)和预训练微调范式的流行,不断有研究表明,更大的模型往往会产生更好的性能。然而,随着PLM规模的扩大,微调和存储所有参数的成本过高。这就需要一个新的研究分支,专注于PLM的参数高效适应,优化一小部分模型参数,同时保持其余参数不变,从而大大降低计算和存储成本。本文在这里讨论和分析一个更一致和更容易理解的术语“delta-tuning”下的方法,其中“delta”是一个经常用于表示变化的数学符号,指在训练期间“改变”的参数部分。作者正式描述了这个问题,并对现有的delta微调方法提出了一个统一的分类标准,以探索它们之间的相关性和差异性。作者还讨论了delta-tuning有效性的理论原理,并从优化和最优控制的角度对其进行了解释。作者通过全面的研究和分析,证明了delta-tuning在PLM适配中的理论和实践特性。


Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

一、研究背景

随着计算硬件的进步,NLP由传统统计方法转向深度学习,采用深度神经网络来模拟语言和处理任务。预训练语言模型(PLM)如GPT-3规模庞大,性能优越,标志着NLP领域的革命。PLM 通常使用大量过度参数化的Transformers作为基础架构,并在大规模上以双向、自回归或序列到序列的方式对自然语言进行建模。然后,对于下游任务,引入特定于任务的目标来微调 PLM 以进行模型适应。

随着模型规模的扩大,如何高效、有效地使大型模型适应特定的下游任务成为一个有趣的研究问题。然而,全参数微调,用预先训练的权重初始化模型,更新所有参数并为不同的任务生成单独的实例,在处理大规模模型时变得不切实际。除了部署和计算的成本之外,为不同的任务存储不同的实例也是非常消耗内存的。

事实上,具有数十亿参数的大型 PLM 可以通过几个参数的优化来有效驱动。参数高效的方法仅更新少量参数(模型固有的或额外引入的),同时冻结占绝大多数的剩余参数,通常可以达到标准微调相当的性能,而成本却远低于传统微调。作者认为这些方法本质上都是在一个增量Delta Paremters)上进行调整,因此将它命名为delta TuningDelta Tuning为对大型PLM进行高效调整提供了一种可行的途径,这为了解预训练模型的工作原理和探索新理论问题提供了有趣的机会。

二、方法

delta-tuning是在PLMs的成功基础上发展起来的。给定一个预训练模型和训练数据的关系,PLM适配的目标是产生适配于特定任务的新模型。适配模型与原始模型之间的值和元素数量发生变化。在传统微调中,所有参数都进行了更新。而在delta-tuning中,仅有少量参数发生了改变。


为了将它们组织在一个统一的框架下,作者根据对delta-tuning的操作(如图1所示)将delta-tuning方法分为三组: 增量式(Addition-based)方法、指定式(Specification-based)方法和重参数化(Reparameterization-based)方法。增量式方法引入了原始模型或过程中不存在的额外可训练的神经模块或参数。指定式方法指定原始模型或过程中的某些参数成为可训练的,而其他参数则被冻结。重参数化的方法通过变换将现有参数重新参数化为参数有效的形式。

Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

图1 delta-tuning的分类准则

2.1 增量式(Addition-based)方法

具有代表性的增量式方法:Adapter-TuningPrompt
Tuning。


作为delta-tuning的一项开创性工作,Adapter-Tuning将小规模神经模块(适配器)注入到Transformers层,并且仅调整这些适配器以进行模型适应,能够达到出色的性能,已成为最近研究中最广泛使用的基准。具体来说,一个适配器模块包含一个向下投影和一个向上投影。在每个块中,适配器模块分别插入在多头自注意力和前馈网络子层之后,在这种策略下,整个模型的大约 0.5-8% 的参数参与调整过程。


基于提示的方法是用附加上下文包装原始输入。作为一种通过模仿下游任务中的预训练目标来刺激 PLM 的策略,基于提示的学习在各种 NLP 任务中取得了良好的性能,特别是在低数据环境中。prompt tuning的一项重要的开创性工作是前缀微调,它将可训练的连续标记(前缀)添加到每个Transformers层的输入和隐藏状态。与前缀微调相比,prompt tuning提出了一种更简化的策略,仅向输入层添加软提示。与前缀微调类似,新引入的提示不是由预训练模型参数化的,而是一个额外的参数矩阵。


2.2 指定式(Specification-based)方法

指定式方法微调一些固有参数,同时在模型适应中微调一些固有参数,而保持大多数参数不变。这种方法并不寻求改变模型的内部结构,而是优化少量的内部参数来解决特定的任务。

指定式方法不向模型引入任何新的参数,而是直接指定需要优化的部分参数。BitFit经验证明,仅优化模型内部的偏项,冻结其他参数,在几个基准测试中仍然可以再现95%以上的性能。BitFit中的经验结果还表明,即使使用一个小的随机参数集进行增量调优(这显然会降低性能),该模型仍然可以在GLUE基准测试上产生合格的结果。然而这项工作只将这个技巧应用于小规模模型。

与其手动或启发式地指定要更新的参数,不如“学习”这样的指定。Diff Pruning 就是其中的一个代表性工作,它将微调后的模型参数重参数化为预训练参数和一个差异向量的总和。这时关键的问题就是鼓励差异向量尽可能稀疏,这项工作通过可微近似来正则化向量,以实现稀疏的目标。屏蔽方法学习PLM的选择性掩码,仅更新特定任务的关键权重。为了学习这样一组掩码,引入了与模型权重相关的二进制矩阵,其中每个值由阈值函数生成。在反向传播过程中,矩阵由噪声估计器更新。

2.3 重参数化(Reparameterization-based)方法

先前的工作经验表明,预训练模型的全参数微调过程可以被重参数化为低维子空间内的微调,可以仅仅通过微调子空间内的参数就达到令人满意的性能。相对低维的重参数化可以实现85%以上的fine-tuning性能。从这个意义上说,PLM可以作为通用的压缩框架,将优化复杂度从高维压缩到低维。基于重参数化的delta-tuning方法,使用低维代理参数对(部分)原始模型参数进行重参数化,仅优化代理参数,从而降低计算和内存成本。


LoRA假设在模型微调过程中权重的变化具有较低的固有秩。在此假设的基础上,提出对自注意力模块中原始权矩阵的变化进行低秩分解优化。在部署中,将优化后的低秩分解矩阵相乘,得到自注意力权重矩阵的增量。通过这种方式,LoRA可以匹配GLUE基准上的微调性能。


此外,内在的提示微调假设对于多个任务存在着同一个低维内在子空间,而仅仅调整子空间的参数就可以同时在 100 多个 NLP 任务上达到令人满意的效果。这种方法不使用随机子空间,而是试图找到各种NLP任务共享的公共子空间。

2.4 delta-tuning的理论观点

作者对delta-tuning背后的理论原理进行了分析。与预训练相比,PLM通常可以以更小的成本有效地适应各种下游任务。作者采用两个框架从优化和最优控制的角度介绍delta-tuning的理论见解。

2.4.1 优化视角

在大型PLM的微调过程中,研究发现存在固有维数偏低的问题。一种很有前途的方案是子空间优化,它在低维子空间中寻求可接受的解,仅需要操作少量变量。实际上,delta-tuning可以看作是一种子空间优化方法。应用子空间优化有两种方法,因此delta-tuning大致可以分为两类:一是在解子空间中调整模型参数。另一种方法是在小的函数子空间中寻找原始目标函数的代理,并使用代理函数的最小值作为近似的最终解。


2.4.2 最优控制视角

除了参数效率之外,delta-tuning的本质还在于沿着前向传播正则化分层隐藏状态转换过程。从最优控制的角度出发,指导了delta-tuning的新设计。例如,robust prefix-tuning在推理期间调整额外的分层前缀参数。隐藏状态的分层传播因此被引导到正确的输出。


三、实验

delta-tuning为各种大模型的实际应用提供了巨大的潜力。作者评估了fine-tuning(FT)和四种代表性的delta-tuning方法,包括prompt tuning(PT),prefix-tuning (PF), LoRA (LR)和适配器(AP)。100多个NLP任务被用来进行实验,以更深入地了解不同主流delta-tuning方法的属性。


3.1 性能、收敛和效率

首先对四种具有代表性的delta-tuning方法和fine-tuning方法进行了全面的比较,包括性能、收敛性和效率分析。作者使用了100多个具有代表性的任务,包括文本分类、问题回答、条件生成等。


在性能实验方面,可以从结果中得到以下几点结论:1)通常情况下,不同的delta-tuning方法在性能上几乎与fine-tuning相当。2)虽然各种方法的设计不同,但它们在性能上彼此相当。此外,更多的可调参数并不一定会带来更好的性能。3)当模型尺寸急剧增加时,结构设计对于delta-tuning可能变得不那么重要。


收敛性实验方面,可以从结果中得到以下几点结论:1)在相当宽的范围内,每种delta-tuning的性能和收敛性对可调参数的数量不敏感,但对方法的结构更敏感。2) 随着 PLM 规模的扩大,delta-tuning 的收敛速度也加快。


效率实验方面,可以从结果中得到以下几点结论:1)delta-tuning的结构可能对单个前向或反向过程的时间产生相当大的影响。delta-tuning的反向时间比fine-tuning更短。2) 随着 PLM 规模的扩大,delta-tuning 的收敛速度也加快。


Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

图2 不同训练步骤下使用不同的delta-tuning方法(LR, AP和PF)和fine-tuning (FT)的性能


Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

图3 每种delta-tuning方法和fine-tuning所消耗的GPU内存

3.2 delta-tuning方法的组合

考虑到不同的delta-tuning方法是相互兼容的,这意味着它们可以一起应用于同一个PLM,作者探索了两种组合方式:同时组合和顺序组合。

作者首先探讨同时直接应用所有三种增量调整方法的效果。并得出如下结论:1)无论是在全数据还是在少样本设置下,在组合中引入适配器几乎总是有助于 GLUE 任务的平均性能。2)在组合中引入Prompt Tuning通常会损害平均性能,这表明Prompt
Tuning可能与其他两种增量调整方法不兼容。3)将 BitFit 引入组合通常会提高平均性能。4)手工模板可以通过缩小下游微调和预训练之间的差距来显着提高零样本性能。


除了同时组合之外,作者进一步研究了依次引入上述三种delta-tuning方法时的兼容性。具体来说,作者将整个微调过程分为三个阶段。在每个阶段训练一个单独的delta-tuning方法,然后冻结前面阶段中调整的参数并仅优化新引入的增量参数。从中得出结论:1)在某些情况下,可以通过后续的delta-tuning方法来提高性能。2)在不同的设置下,不存在一个最优的顺序组合策略,可以支配其他组合策略。

3.3 delta-tuning规模的力量

随着主干PLM规模的不断扩大,prompt tuning在性能上的竞争力越来越强,并且收敛速度受益于规模大小。作者在此探讨其他delta-tuning方法是否也表现出规模的力量。作者选择了3种尺寸不断增大的PLM,并评估了5种具有代表性的delta-tuning方法的性能。从实验结果中观察到,随着PLM规模的增长,所有delta-tuning方法的性能和收敛性都有了很大的提高。所有delta-tuning方法都倾向于显示出与fine-tuning相当的性能,即使对于小型PLM也是如此。

总的来说,规模的力量可能是delta-tuning的常见现象。作者假设这种现象的存在是因为较大的PLM通常具有较小的内在维度。因此,只需微调最小的参数,就可以获得足够强的表示能力,从而在下游任务中获得出色的性能。此外,过参数化和大规模预训练可以使PLM在下游优化过程中更不易陷入局部最优,从而加快收敛速度。


Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

图4 delta-tuning的规模力量

3.4 任务级可迁移性评估

最近的研究表明,prompt-tuning具有出色的跨任务可迁移性。作者探讨了四种delta调优方法在5种不同类型的12个任务中的跨任务可迁移性。作者将训练好的delta参数迁移到未知的目标任务中。实验结果表明,对于同一类别的任务,在它们之间迁移微调参数的效果一般较好;对于不同类型的任务,在它们之间迁移delta参数通常效果不佳。这表明,通过知识迁移将训练好的delta参数用于类似的任务是有希望的。

Nat. Mach. Intell. | 大规模预训练语言模型的参数高效微调

图5 四种delta-tuning方法的零样本迁移性能

四、总结

本研究重点关注 PLM 的参数高效方法,即delta-tuning。作者提出了两个框架,从优化和最优控制的角度理论上讨论delta-tuning,为delta-tuning方法的新设计提供了理论参考,并有望激发对PLM模型适应的更深入理解。作者在 100 多个 NLP 任务中进行了广泛的实验,以公平地评估和探索 delta-tuning的组合属性、规模影响和可迁移性。总之,delta-tuning显示出了刺激大型 PLM 的巨大潜力。




参考文献

https://www.nature.com/articles/s42256-023-00626-4

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy