1. 性能,收敛性和效率分析
研究者首先选取全参数Fine-tuning和四种具有代表性的Delta Tuning方法(包括Prompt Tuning(PT)、Prefix-Tuning(PF)、LoRA(LR)和Adapter(AP))对性能、收敛性和效率分析进行了彻底的比较。
为了测试更加多样的语言建模能力,研究者选取了超过 100 个NLP典型任务,包括文本分类(如情感分类,自然语言推断)、问题回答(如抽取式阅读理解)、语言生成(如文本摘要、对话)等任务,并且将所有任务的输入和输出都建模成sequence-to-sequence的格式,从而方便使用同一个模型(T5)统一建模所有任务。除了PT是在T5-base和T5-large上测试,其它方法均在T5-base上进行实验。
性能分析:实验结果如上表所示,从中可以发现,(1) 总的来说,由于不同的 Delta Tuning 方法仅仅微调很少的参数,增加了优化的难度,因此在大多数情况下它们在性能上无法与 FT 匹敌,但两者之间的差距并非不可逾越,这证明了参数高效自适应的大规模应用的潜力;(2) PF、LR、AP 这三种方法虽然设计元素不尽相同,但在性能上是不相上下的。它们中的任何一个方法都有可能在某些任务上表现出优于其它方法的性能(甚至超越 FT )。根据平均结果,所有方法的性能排名为 FT > LR > AP > PF > PT。同时,研究者也发现,Delta Tuning 方法的性能与其可调参数的数量并不一致,即更多可调参数不一定会带来更好的性能,相比之下,Delta Tuning 的具体结构设计可能会发挥作用更大的作用。(3) PT 作为这些方法中最容易实现的方法(即不修改模型的内部结构),在大多数情况下,它的性能是远远落后于其他 Delta Tuning 方法的。
收敛性分析:研究者节选了部分数据集上的不同微调方法在不同训练步数下性能的变化,其中由于 PT 相比其它方法而言收敛速度过慢,没有列入上图。可以发现,总的来说,这些微调方法的收敛速度排序为:FT > AP ≈ LR > PF。尽管 PF 在所有 Delta Tuning 方法中可调参数数量最多,但仍然面临一些收敛困难,因此收敛速度与可微调的参数量也没有直接的联系。
在实验中还发现,对于每种 Delta Tuning 方法,性能和收敛性都对可调参数的数量不敏感,相比之下,对具体的结构更敏感。总而言之,研究者的实验在收敛性和整体性能方面得出了非常相似的结论,并且这些结论得到了大量数据集上结果的充分支持。
效率分析:Delta Tuning 可以减少参数的梯度计算,从而节省 GPU 显存,体现了计算资源上的高效。为了具体验证 Delta Tuning 对 GPU 显存的效率提升,研究者进行了实验以比较不同 Delta Tuning 方法在不同规模的 PLM 上微调所消耗的 GPU 显存。
具体而言,他们选择了三个尺度的 T5 模型,即 T5-base、T5-large、T5-xl,并测试了在不同 batch size 下达到的峰值 GPU 内存。研究者使用 NVIDIA A100(最大 GPU 内存 = 39.58GB)进行实验。从上图可以看出,在 batch size 较小(如1、8)时,Delta Tuning 最多可以节省 3/4 的 GPU 显存,而在 batch size 较大时,Delta Tuning 至少可以节省 1/3 的 GPU 显存。上述结果体现了 Delta Tuning 计算资源上的高效。
2. 可组合性分析
考虑到不同的 Delta Tuning 方法是相互兼容的,这意味着它们可以同时应用在同一个 PLM 上。因此,研究者研究了 Delta Tuning 的组合是否会带来性能上的提升。具体来说,他们探索了两种组合方式:同时组合和顺序组合,并且选择了三种具有代表性的 Delta Tuning 方法,包括 Prompt Tuning、BitFit 和 Adapter。
同时组合:研究者首先探索同时应用三种 Delta Tuning 方法的效果,并使用 RoBERTa-large 在 8 个 GLUE 子任务进行实验。他们在全量数据和低资源场景下均进行实验,并且探索了人工输入模版对于性能的影响,人工模板旨在弥合预训练和下游任务适应之间的差距。
从上表可以看出,(1) 无论在全量数据还是低资源场景下,无论是否存在手动模板,在 Delta Tuning 的组合中引入 Adapter 几乎总是有助于平均 GLUE 性能;(2) 在组合中引入 Prompt Tuning 通常会损害平均性能,表明 Prompt Tuning 可能与其他两种 Delta Tuning 方法不兼容;(3) 在组合中引入 BitFit 一般会提高平均性能;(4) 手动模板可以通过缩小下游任务适应和预训练之间的差距显著提高 zero-shot 性能(从 23.7 到 43.4)。
在 few-shot 设置下,人工模板也可以明显提高平均性能。然而,当训练监督信号相对比较丰富时(全量数据场景下),引入人工模板仅表现出微弱的性能提升,甚至有可能损害性能。
顺序组合:除了同时组合之外,研究者还进一步研究了上述三种 Delta Tuning 方法按照一定顺序引入时的兼容性。具体来说,他们将整个微调分为 了3 个阶段。在每个阶段,研究者训练一个单独的 Delta Tuning 方法;在接下来的阶段中,他们固定前面阶段训练得到的 Delta Tuning 参数不动 ,只优化新引入的 Delta Tuning 参数。
研究者在 SST-2 情感分类数据集上,在使用 / 不使用人工模板的情况下对 RoBERTa-large 进行实验。结果在下图所示(节选),从中可以得出,在某些情况下,可以通过不断引入新的 Delta Tuning 方法,整体性能能够得到不断提高,从而验证了顺序组合的优势;同时也发现,在不同的设置下,不存在固定最优的组合顺序。最优的组合方式可能会因为不同的下游任务、使用的模型架构等等因素而变化。
泛化差距分析:各种微调方法对训练数据的记忆能力(Memorization)和泛化能力(Generalization)不尽相同。为此,研究者报告了 RoBERTa-large 在全量数据设置下的泛化差距(训练集效果 - 开发集效果),结果如下表所示,从中可以看出,(1)单个 Delta Tuning 方法的泛化差距总是小于 Fine-tuning,这意味着过度参数化可能有助于更好地记忆(过度拟合)训练样本。在所有 Delta Tuning 方法中,Prompt Tuning 往往具有最小的泛化差距。考虑到每种 Delta Tuning 方法均可以很好地泛化并在开发集上表现出非平凡的性能,因此过度拟合训练集可能不是良好泛化的必要条件;(2) 一般来说,组合几个 Delta Tuning 方法会增大泛化差距,甚至达到与 全 Fine-tuning 相当的程度。这表明,记住训练集(Memorization)可能不需要微调过多;换句话说,在 PLM 进行下游任务适应时,即使模型可微调的容量很小,也足够很好地记忆训练集;(3) 使用人工模板一般不会影响泛化差距。
3. 模型规模增长的性能变化
研究者研究了模型的规模增大对于 Delta Tuning 性能的影响。最近,有研究发现 ,随着使用的 PLM 的模型规模增长,Prompt Tuning 的性能会越来越强,甚至可以达到和全参数 Fine-tuning 微调相匹敌的水平。
在这一小节中,研究者将探讨是否所有 Delta Tuning 方法均能够表现出这种模型规模的带来的优势(Power of Scale)。具体来说,他们对 MNLI、QNLI 和 SST-2 三个典型的 NLP 任务进行了实验,并选择了三个规模不断增加的 PLM(T5-small、T5-base、T5-xxl),评估了六种具有代表性的 delta 调整方法的性能(Adapter、LoRA、Prefix-Tuning、Prompt Tuning、Last Layer Tuning 和 Selective Module Tuning),结果如下图所示。
从图 (a-i) 中,可以观察到,随着 PLM 网络规模的增长,所有 Delta Tuning 方法的性能和收敛性都得到了显著提高;(2) 图 (j-l) 表明,与其他 delta 调整方法相比,Prompt Tuning 往往对小规模 PLM(T5-small 和 T5-base)性能比较差。但是,其他 Delta Tuning 方法没有这个问题;(3) 基于现有结果,在图 11 (m-o) 和 (p-r) 中,研究者进一步设计了两种 Delta Tuning 方法:Last Layer Tuning 和 Selective Module Tuning。对于 Last Layer Tuning ,只微调 T5 encoder 的最后一层;对于 Selective Module Tuning,随机选择 T5 模型中的部分模块进行微调。这两种方法都表现出优异的效果,尤其是当 PLM 的规模非常大时,Selective Module Tuning 整略好于 Last Layer Tuning。这些结果表明,将可微调的参数限制在某个特定层内可能不是一个好的策略。
另一方面,当 PLM 的规模变得非常大时,跨不同层随机选择模块来微调可以实现出色的性能。总的来说,上述结果表明,随着 PLM 模型规模的增长,各种微调方法的性能 / 收敛速度得到显著提升可能是 Delta Tuning 的常见现象。
研究者猜测这种现象的存在是因为,较大的 PLM 通常具有较小的本征维度(Intrinsic Dimension),因此,仅调整很少的参数即可获得足够强的表示能力,从而在下游任务中实现非平凡的性能;此外,过参数化的模型可能在下游优化过程中更不容易陷入局部最优,从而加速收敛。
4. 任务间迁移能力
研究者研究了不同下游任务之间 Delta Tuning 方法的可迁移性,具体而言,我们采用了 4 种 Delta Tuning 方法(Prompt Tuning、Prefix-Tuning、Adapter 和 LoRA)和 5 种不同类型的 12 个 NLP 任务(包括情感分析、自然语言推理、转述识别、问答、总结),并将在源任务上训练好的 Delta 参数迁移到目标任务上,测试 zero-shot 迁移效果。
结果如下图所示,从中可以观察到:(1)对于属于同一类别的任务,它们之间的迁移通常表现良好;(2)对于不同类型的任务,在它们之间迁移性能较差;(3) 另外还发现从文本生成任务(如问答和摘要)训练得到的 Delta 参数可以迁移到情感分析任务上并取得优异的表现,这表明文本生成任务可能是一项更复杂的任务,解决该任务所需要的语言能力可能包括了情感分析能力。
Delta Tuning 的应用
快速训练与存储空间节省。Transformer 模型虽然本质上是可并行化的,但由于其庞大的规模,训练起来非常缓慢。尽管 Delta Tuning 的收敛速度可能比传统的全参数微调慢,但随着反向传播期间可微调参数的计算量显著减少,Delta Tuning 的训练速度也得到了显著提升。前人工作已经验证了,使用 Adapter 进行下游调优可以将训练时间减少到 40%,同时保持与全参数微调相当的性能。由于轻量的特性,训练得到的 Delta 参数还可以节省存储空间,从而方便在从业者之间共享,促进知识迁移。
多任务学习。构建通用的人工智能系统一直是研究人员的目标。最近,超大型 PLM (例如 GPT-3) 已经展示了同时拟合不同数据分布和促进各种任务的下游性能的惊人能力。因此,在大规模预训练时代,多任务学习受到越来越多的关注。作为全参数微调方法的有效替代,Delta Tuning 具有出色的多任务学习能力,同时保持相对较低的额外存储。成功的应用包括多语言学习、阅读理解等。此外,Delta Tuning 也有望作为持续学习中灾难性遗忘的潜在解决方案。在预训练期间获得的语言能力存储在模型的参数中。因此,当 PLM 在一系列任务中按顺序进行训练时,在没有正则化的情况下更新 PLM 中的所有参数可能会导致严重的灾难性的遗忘。由于 Delta Tuning 仅调整最小参数,因此它可能是减轻灾难性遗忘问题的潜在解决方案。
中心化模型服务和并行计算。超大型 PLM 通常作为服务发布,即用户通过与模型提供者公布的 API 交互来使用大模型,而不是本地存储大模型。考虑到用户和服务提供商之间难以承受的通信成本,由于其轻量级的特性,Delta Tuning 显然是比传统全参数微调更具竞争力的选择。一方面,服务提供商可以支持训练多个用户所需的下游任务,同时消耗更少的计算和存储空间。此外,考虑到一些 Delta Tuning 算法本质上是可并行的(例如 Prompt Tuning 和 Prefix-Tuning 等),因此 Delta Tuning 可以允许在同一个 batch 中并行训练 / 测试来自多个用户的样本(In-batch Parallel Computing)。最近的工作还表明,大多数 Delta Tuning 方法,如果本质上不能并行化,也可以通过一些方法修改以支持并行计算。另一方面,当中心的达模型的梯度对用户不可用时,Delta Tuning 仍然能够通过无梯度的黑盒算法,仅调用模型推理 API 来优化大型 PLM。
参考链接:
[1] Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models, 2022.[2] Parameter-Efficient Transfer Learning for NLP, 2019.[3] Prefix-Tuning: Optimizing Continuous Prompts for Generation, 2021.[4] The Power of Scale for Parameter-Efficient Prompt Tuning, 2021.[5] Towards a Unified View of Parameter-Efficient Transfer Learning, 2021.[6] LoRA: Low-Rank Adaptation of Large Language Models, 2021.[7] COMPACTER: Efficient Low-Rank Hypercomplex Adapter Layers, 2021.[8] Masking as an Efficient Alternative to Finetuning for Pretrained Language Models, 2021.[9] Exploring Low-dimensional Intrinsic Task Subspace via Prompt Tuning, 2021.[10] Parameter-Efficient Transfer Learning with Diff Pruning, 2020.