ResidualPrompts: Residual Prompt Tuning Improving Prompt Tuning with Residual Reparameterization

论文汇总

方法很简单,提示微调加上了残差

MLP如下图(图2)所示

残余提示调优中使用的重新参数化网络 Φ \Phi Φ的说明。每个虚拟标记 P i P_i Pi通过下投影层,然后是非线性,然后是上投影层,然后是归一层,然后通过跳过连接与未投影嵌入求和。

我们建议使用更灵活的软提示参数化方法,使用带跳过的浅网络(图1)。具体来说,我们投影由 n n n个虚拟令牌组成的提示嵌入序列 [ P 1 , … , P n ] [P_1,\ldots,P_n] [P1,,Pn]转化为重参数化序列 P ′ P' P,如下所示:

式中 Φ ( ⋅ ) \Phi(\cdot) Φ()是由带有残余连接的浅网络 ϕ ( ⋅ ) \phi(\cdot) ϕ()组成的重参数化函数。 Φ ( ⋅ ) \Phi(\cdot) Φ()独立应用于每个提示令牌:

我们的 ϕ ( ⋅ ) \phi(\cdot) ϕ()网络是一个遵循“瓶颈”设计的多层感知器(MLP),就像常用的ResNet构建块(He等人,2016)和适配器模块(Houlsby等人,2019)一样。它由向下投影的 W d o w n ∈ R d × m \bm{W}_{down}\in \mathbb{R}^{d\times m} WdownRd×m和向上投影的 W u p ∈ R m × d \bm{W}_{up}\in \mathbb{R}^{m\times d} WupRm×d两层组成(如图2所示),这两层的结合在文献中已经得到了深入的探讨(He et al ., 2016;holsby et al, 2019)。这里, d d d是模型嵌入的维数, m m m是MLP(我们方法的超参数)的瓶颈大小。我们在下游任务中只训练提示嵌入 θ p \theta_p θp和再预化参数 θ ϕ \theta_\phi θϕ,同时保持所有其他参数冻结。训练目标是在给定输入文本 x x x与重新参数化的软提示符 P ′ P' P连接的情况下,最大化正确输出 y y y的对数似然:

摘要

提示调优是预训练语言模型参数高效调优的成功方法之一。尽管可以说是参数效率最高的方法(调优软提示占总参数的比例< 0:1%),但它的性能通常比其他有效的调优方法差,而且对超参数相当敏感。在这项工作中,我们介绍了残余提示调谐-一种简单有效的方法,显着提高了提示调谐的性能和稳定性。我们建议使用带有残余连接的浅网络重新参数化软提示嵌入。我们的实验表明,残余提示调优在T5-Large、T5Base和BERT-Base模型上显著优于SuperGLUE基准的提示调优。值得注意的是,我们的方法比使用T5-Base的提示调优提高了7分,并允许在不影响性能的情况下通过×10减少提示长度。此外,我们证明了我们的方法对学习率和提示初始化的选择具有鲁棒性,并且在少样本设置中是有效的。

介绍

预训练的语言模型在各种自然语言理解任务上取得了显着的表现(Devlin等人,2018;Liu et al ., 2019;拉斐尔等人,2020)。最近的研究表明,不断扩大模型大小会导致性能提升(Kaplan等人,2020;拉斐尔等人,2020;Zhang et al ., 2022),更大尺度的模型也变得越来越普遍,例如GPT-3, 175B参数(Brown et al ., 2020), MT-NLG, 530B参数(Smith et al ., 2022)。尽管大规模模型取得了显著的性能改进,但由于它们的尺寸,它们的适用性受到限制。标准的微调实践变得非常昂贵,因为它需要存储所有模型参数的梯度和优化器状态。此外,对于十亿参数模型来说,为每个任务存储一个单独的微调模型副本是不可行的。

为了解决与全模型调优相关的挑战,一系列研究集中在提示设计上,其中使用自然语言提示来查询冻结模型(Brown et al, 2020)。在这种设置中,所有任务都被转换为语言建模任务(例如,0/1类可以被编码为“True”/“False”),并手动选择提示条件冻结模型以生成所需的输出。尽管提示设计可以实现强大的少样本性能,但手动寻找最佳提示仍然具有挑战性和耗时(Zhao et al ., 2021)。此外,不同的提示选择往往会导致最终绩效的较大差异(Zhao et al ., 2021;Vu et al ., 2021)。

最近,Lester等人(2021)提出了提示调整——一种通过梯度下降来学习软提示的方法,而不是手动设计提示。软提示是附加在输入之前的一系列连续嵌入,在整个训练过程中不断更新,通常占总参数的< 0:1%。值得注意的是,当模型大小增加时,提示调优已被证明执行接近完整的模型调优,缩小了模型包含超过11B个参数时的性能差距(Lester et al, 2021)。

然而,对于较小的模型,提示调整仍然表现不佳,其性能可能会因超参数的选择而有很大差异,例如提示初始化和学习率(Vu et al, 2021)。此外,提示调优通常需要长时间的训练和大量的提示令牌(超过100个)(CoOp似乎没有这样的问题,看来这可能是面向大模型的prompt)才能达到稳定的性能(Lester et al, 2021)。当提示在持续学习设置中按顺序学习时(Razdaibiedina等人,2023)或上下文长度有限时,这将成为一个主要瓶颈。

图1:残余提示调优的说明以及与Lester等人的提示调优的比较(2021)。a. RESIDUAL PROMPT TUNING达到比PROMPT TUNING更强的性能(如图5- large模型在WSC任务上的性能)。b.Prompt Tuning调整提示嵌入P,它与输入嵌入X连接并馈送到冻结的语言模型中。c.残差提示调谐将原始提示嵌入P通过带有残差连接的浅网络(例如MLP)传递,然后将其前置到输入。对嵌入P和MLP参数进行了联合调谐。

在这项工作中,我们提出了残差提示调优(RESIDUAL PROMPT TUNING),这种方法可以通过提示嵌入的残差重参数化来显著提高和稳定提示调优性能(图1)。残差提示调优通过带有残差连接的浅网络传递软提示嵌入,随后将重参数化的提示添加到输入并提供给语言模型。这种重新参数化为模型提供了更大的灵活性,可以决定是为每个提示令牌使用单独的嵌入,还是从共享的重新参数化网络获得表示。训练完成后,可以丢弃重参数化网络,将原始提示嵌入替换为它们的投影。

我们使用T5-Large、T5-Base和BERTBase模型对SuperGLUE任务进行了广泛的实验(rafael等,2020;Devlin等人,2018),并证明残余提示调优比以前基于提示调优的方法要好得多,比使用T5-Base的SuperGLUE的提示调优提高了7分。我们还表明,残差提示优化减少了在不同学习率或提示初始化下的性能差异,并以更少的训练迭代获得更强的性能。最后,我们表明残余提示调谐显著改善提示调谐在少样本设置。

方法

残差式提升微调

图2:残余提示调优中使用的重新参数化网络 Φ \Phi Φ的说明。每个虚拟标记 P i P_i Pi通过下投影层,然后是非线性,然后是上投影层,然后是归一层,然后通过跳过连接与未投影嵌入求和。

我们建议使用更灵活的软提示参数化方法,使用带跳过的浅网络(图1)。具体来说,我们投影由 n n n个虚拟令牌组成的提示嵌入序列 [ P 1 , … , P n ] [P_1,\ldots,P_n] [P1,,Pn]转化为重参数化序列 P ′ P' P,如下所示:

式中 Φ ( ⋅ ) \Phi(\cdot) Φ()是由带有残余连接的浅网络 ϕ ( ⋅ ) \phi(\cdot) ϕ()组成的重参数化函数。 Φ ( ⋅ ) \Phi(\cdot) Φ()独立应用于每个提示令牌:

我们的 ϕ ( ⋅ ) \phi(\cdot) ϕ()网络是一个遵循“瓶颈”设计的多层感知器(MLP),就像常用的ResNet构建块(He等人,2016)和适配器模块(Houlsby等人,2019)一样。它由向下投影的 W d o w n ∈ R d × m \bm{W}_{down}\in \mathbb{R}^{d\times m} WdownRd×m和向上投影的 W u p ∈ R m × d \bm{W}_{up}\in \mathbb{R}^{m\times d} WupRm×d两层组成(如图2所示),这两层的结合在文献中已经得到了深入的探讨(He et al ., 2016;holsby et al, 2019)。这里, d d d是模型嵌入的维数, m m m是MLP(我们方法的超参数)的瓶颈大小。我们在下游任务中只训练提示嵌入 θ p \theta_p θp和再预化参数 θ ϕ \theta_\phi θϕ,同时保持所有其他参数冻结。训练目标是在给定输入文本 x x x与重新参数化的软提示符 P ′ P' P连接的情况下,最大化正确输出 y y y的对数似然:

设计选择

本文讨论了重参数化网络Φ的几个重要设计选择。

残差连接。我们发现残差连接在残差提示调谐(附录B.2,第5.1节)中对提高性能和加速收敛起着关键作用。

与ResNets类似(He et al, 2016),我们假设残差学习使模型更灵活地决定是为每个提示令牌使用单独的嵌入,还是从共享网络获得的表示。我们将在附录B.2中进一步讨论剩余连接的好处。

MLP的深度和宽度。我们使用两层MLP,其上下投影矩阵 W u p W_{up} Wup W d o w n W_{down} Wdown构成了额外的可训练参数。增加的维数 m m m隐藏层导致更高的性能(参见第5.6节),这表明提示令牌的过度参数化(Allen-Zhu et al ., 2019)对性能提高很重要。关于参数效率的更多细节见附录A.6。

非线性和归一化。我们选择LayerNorm (Ba et al, 2016)作为我们的归一化层,并选择ReLU作为我们的非线性层。我们发现LayerNorm有助于稳定性能,而具体选择非线性层的影响不太重要。

参数共享。在我们的设置中,我们对每个虚拟令牌嵌入应用共享的重新参数化网络 Φ \Phi Φ。另一种设计选择是对每个提示嵌入应用单独的网络。我们将在5.6节中比较这两种变体。总体而言,共享的MLP具有更高的参数效率,并在有限的数据设置中提供知识共享的好处。

训练与推理

在训练过程中,我们共同优化提示嵌入 P P P和重参数化网络 Φ ( ⋅ ) \Phi(\cdot) Φ()的参数,同时保持骨干模型的冻结。重新参数化的提示符被插入到输入文本嵌入之前,并馈入语言模型(详见4.2节)。重要的是,我们使用特定于任务的提示符,这意味着重新参数化的提示符嵌入不依赖于输入。

训练完成后,我们通过学习到的重参数化网络 Φ ( ⋅ ) \Phi(\cdot) Φ()投影提示嵌入,替换原有的提示编码通过对应投影 P ′ = Φ ( P ) P'=\Phi(P) P=Φ(P)在推理过程中,我们抛弃了重参数化网络,只使用投影提示嵌入 P ′ P' P。具体来说,我们在输入文本嵌入前插入 P ′ P' P,并将它们一起馈送到冷冻的预训练模型。

实验

表1:带有10个标记提示符的SuperGLUE显影集的结果。所有分数的平均值为3分。†表示rafael et al(2020)报告的结果。对于具有两个指标的任务,将报告平均分数。

结论

我们提出了残差提示调整,这是一种在冻结语言模型下使用提示嵌入残差重参数化学习软提示的新方法。我们的方法能够有效地学习软提示,而不需要大量的超参数搜索、长时间的训练或对源任务的预训练。

我们的实验表明,残余提示调谐(RESIDUAL PROMPT TUNING)在SuperGLUE基准上显著优于Lester等人(2021)的提示调谐及其在三种模型架构(T5-Large, T5-Base和BERT-Base)上的两种变体。此外,我们的方法对超参数选择(学习率和提示初始化)具有鲁棒性,加快了收敛速度,并且在少样本设置下非常有效。

参考资料

论文下载(ACL,CCF A 2023)

https://arxiv.org/abs/2305.03937

代码地址

https://github.com/arazd/ResidualPrompts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十有久诚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值