机器之心专栏 机器之心编辑部 近年来,清华大学计算机系孙茂松团队深入探索语言大模型参数高效微调方法的机理与特性,与校内其他相关团队合作完成的研究成果面向大规模预训练语言模型的参数高效微调(ParameterefficientFinetuningofLargescalePretrainedLanguageModels)3月2日在《自然机器智能》(NatureMachineIntelligence)上发表。该研究成果由计算机系孙茂松、李涓子、唐杰、刘洋、陈键飞、刘知远和深圳国际研究生院郑海涛等团队师生共同完成,刘知远、郑海涛、孙茂松为该文章的通讯作者,清华大学计算机系博士生丁宁(导师郑海涛)与秦禹嘉(导师刘知远)为该文章的共同第一作者。 背景概览 2018年以来,预训练语言模型(PLM)及其预训练微调方法已成为自然语言处理(NLP)任务的主流范式,该范式先利用大规模无标注数据通过自监督学习预训练语言大模型,得到基础模型,再利用下游任务的有标注数据进行有监督学习微调模型参数,实现下游任务的适配。 随着技术的发展,PLM已经毫无疑问地成为各种NLP任务的基础架构,而且在PLM的发展中,呈现出了一个似乎不可逆的趋势:即模型的规模越来越大。更大的模型不仅会在已知任务上取得更好的效果,更展现出了完成更复杂的未知任务的潜力。 然而,更大的模型也在应用上面临着更大的挑战,传统方法对超大规模的预训练模型进行全参数微调的过程会消耗大量的GPU计算资源与存储资源,巨大的成本令人望而却步。这种成本也造成了学术界中的一种惯性,即研究者仅仅在中小规模模型上验证自己的方法,而习惯性地忽略大规模模型。 在本文的统计中,我们随机选取了1000篇来自最近五个NLP会议的论文,发现使用预训练模型已经成为了研究的基本范式,但涉及大模型的却寥寥无几(如图1所示)。 图1:在1000篇随机挑选的论文中,使用预训练模型的统计分布 在这样的背景下,一种新的模型适配方案,参数高效(Parameterefficient)方法逐渐受到关注,与标准全参数微调相比,这些方法仅微调模型参数的一小部分,而其余部分保持不变,大大降低了计算和存储成本,同时还有着可以媲美全参数微调的性能。我们认为,这些方法本质上都是在一个增量(DeltaParemters)上进行调整,因此将它命名为DeltaTuning。 在本文中,我们定义和描述了DeltaTuning问题,并且通过一个统一的框架对以往的研究进行梳理回顾。在这个框架中,现有的DeltaTuning方法可以被分为三组:增量式(Additionbased)、指定式(Specificationbased)和重参数化(Reparameterization)的方法。 除去实践意义之外,我们认为它还具有非常重要的理论意义,DeltaTuning在某种程度上昭示着大模型的背后机理,有助于我们进一步发展面向大模型甚至深度神经网络的理论。为此,我们从优化和最优控制两个角度,提出理论框架去讨论DeltaTuning,以指导后续的结构和算法设计。此外,我们对代表性方法进行了全面的实验对比,并在超过100个NLP任务的结果展示了不同方法的综合性能比较。实验结果涵盖了对DeltaTuning的性能表现、收敛表现、高效性表现、PowerofScale、泛化表现、迁移性表现的研究分析。我们还开发了一个开源工具包OpenDelta,使从业者能够高效、灵活地在PLM上实现DeltaTuning。 图2:DeltaTuning的划分框架 DeltaTuning:方法与分析 给定一个预训练模型 和训练数据,PLM适配的目标是生成一个模型的参数为 。将 定义为在原始模型之上的操作。对于传统的全参数微调来说,有,其中是中所有参数相对于训练数据的更新值。在DeltaTuning中,则是指修改少量参数。经验上来说,全参数微调有,而DeltaTuning则有。因此,我们可以依据调整的参数形式和结构,将参数高效的DeltaTuning划分为三种策略,并且将之前的方法进行梳理: 增量式(Additionbased)方法 这类方法引入在原始模型中不存在的额外可训练神经模块或参数。在这类方法中,依据上述的定义,我们有 。常见的增量式方法包括AdapterTuning,PrefixTuning,PromptTuning等等。它们不约而同地将小规模的神经模块或者可调参数插入到模型中,并且通过只微调这一小部分参数来达到模型高效适配的效果。其中Adaptertuning是这类方法的开创性工作,它证明仅仅在每一层添加一个简单的神经网络,就可以在很多任务上媲美全参数微调。同时,Adapter还彰显了它在多任务和多语言场景下的潜力。Prefixtuning和PromptTuning是最近非常火热的DeltaTuning算法,它们将一些可调的向量插入到输入层或者表示层来进行微调。其中,PromptTuning可以视为PrefixTuning的简化版,即只在输入层添加SoftPrompt。这种做法有一个非常大的好处,就是不用修改模型内部的结构,同时,随着模型参数量增大到100亿,它也被证明可以在一些数据上达打到和全参数微调相当的效果。但这类方法也面临着很大的优化问题,实验证明,它的优化效率往往比其他微调范式更低,收敛时间更长,并且在中小型模型上表现不佳。 图3:DeltaTuning的形式化表述 指定式(Specificationbased)方法 这类方法指定原始模型中的特定的某些参数变得可训练,而其他参数则被冻结。在这类方法中,我们可以将训练参数集合表示为,此时更新的参数表示为 。当时, 的增量值,否则。指定式的方法不会在模型中引入任何新参数,也不寻求改变模型的结构,而是直接指定要优化的部分参数。这个想法很简单,但效果却出奇的好,例如,一些方法只会微调BERT和RoBERTa最后一层的四分之一,并且可以产生全参数微调的90的性能。一个工作BitFit指出,仅通过优化模型内部的偏项并冻结其他参数,该模型仍然可以在多个基准测试中重现超过95的全参数微调性能。BitFit的经验结果还表明,即使我们使用少量随机参数集进行DeltaTuning(这显然会降低性能),该模型仍然可以在GLUE基准测试中产生合格的结果。另一个有价值的观察是,不同的偏置项在模型适应期间可能具有不同的功能。 除了手动或启发式地对要更新的参数进行指定之外,我们还可以去学习这样的指定。DiffPruning就是其中的一个代表性工作,它将微调后的模型参数重参数化为预训练参数和一个差异向量的总和,即。这时关键的问题就是鼓励差异向量尽可能稀疏,这项工作通过对可微近似来正则化向量,以实现稀疏的目标。实际上,由于在学习阶段引入了要优化的新参数,DiffPruning比全参数微调占用更多的GPU内存,这可能会在大型PLM上的应用中面临挑战。掩码方法(Masking)为PLM学习选择性掩码,仅更新特定任务的临界权重。为了学习这样一组掩码,引入了与模型权重相关的二进制矩阵,其中每个值由阈值函数生成。在反向传播期间,矩阵由噪声估计器更新。 重参数化(Reparameterizationbased)方法 这类方法通过转换将现有的优化过程重参数化为参数有效的形式。将要重新参数化的参数集表示为,并假设每个都用新参数 来进行表示,然后更新的参数表示为 ,其中 。简单来说,重参数化方法往往基于一类相似的假设:即预训练模型的适配过程本质上是低秩或者低维的。因此可以将这个过程等效为参数高效的范式。 例如,我们可以假设模型适配具有一个本征维度,通过将微调过程重参数化为一个低维子空间的优化过程,可以仅仅通过微调子空间内的参数就达到令人满意的性能。从这个意义上说,PLM可以作为通用的压缩框架,将优化复杂度从高维压缩到低维。一般来说,较大的PLM通常具有较小的内在维度,并且预训练过程隐含地减少了PLM的内在维度。受这些观察的启发,重参数化的DeltaTuning方法也被提出,该方法使用低维代理参数对(部分)原始模型参数进行重参数化,仅优化代理参数,从而降低计算和内存成本。 另一个著名的工作LoRA则假设模型调整期间权重的变化具有较低的本征秩。基于这一假设,他们提出针对自注意模块中原始权重矩阵的变化优化低秩分解。在部署中,优化的低秩分解矩阵相乘以获得自注意力权重矩阵的增量。通过这种方式,LoRA可以匹配GLUE基准上的微调性能。他们展示了他们的方法在各种规模和架构的PLM,甚至GPT3上的有效性。 这类低维假设不仅适用于单任务的适配,还可以将其扩充到多任务的场景。IPT假设对于多个任务存在着同一个低维本征子空间,而仅仅调整子空间的参数就可以同时在100多个NLP任务上达到令人满意的效果。此方法没有使用随机子空间,而是试图找到一个由多个NLP任务共享的公共子空间。实验表明,在一个250维的低维子空间内,仅仅通过调整250个参数,就可以在100多个NLP任务上复现PromptTuning超过80的性能。 图:重参数化方法往往基于类似的低维或低秩假设 DeltaTuning的理论视角 DeltaTuning本质上是否有共通之处?我们认为,DeltaTuning方法不仅具有很高的实用价值,更具有深远的理论意义,它们似乎都在不约而同地证明一件事情:即大模型的适配过程似乎是一个非常低消耗的过程(相比于预训练),它可以通过非常少的数据和非常少的参数调整来完成。DeltaTuning的成功启发我们去进一步地探索模型适配背后的理论框架,本文提出了优化和最优控制两个视角的框架去对DeltaTuning进行理论层面的阐释。 优化角度 DeltaTuning试图通过微调一小部分参数来达到在原大规模语言模型上做全参数微调的效果,并减少内存占用。从优化角度,我们分析DeltaTuning的效果并讨论了在低维假设下的一些DeltaTuning方法的设计。使用DeltaTuning后,目标函数及其所依赖的参数都可能会发生改变。对新的目标函数,仅优化其与DeltaTuning有关的参数,如果初值足够好,在一定假设意义下模型的性能不会有大的损害。但是为了确保DeltaTuning的有效性,有必要去开发问题的结构来设计这个新的目标函数。其出发点是利用问题内在的低维特性。一般而言,在实践中有两种思路被证明是有用的:在特定的低维的子空间内寻找解向量;在特定的低维的函数空间内近似目标函数。 因为对深度学习中的大部分应用,目标函数通常有很多局部极小值点,所以当初值接近一个局部极小值点时,仅仅个别搜索方向是重要的,或者目标函数在此邻域能被更简单的函数近似表示。因此这两种优化思路都有望取得较好效果,并且对低维的参数进行优化通常也更为有效和稳定。 解空间的低维表示。已有研究表明预训练语言模型的参数优化遵循低维的流形(Aghajanyanetal。,2021),因此可以将此流形嵌入到解向量的一个低维的表示上。如果这个低维表示是精确的,那么在原模型上的全参数微调等价于在此低维参数上的微调。如果低维表示存在误差,那么当预训练模型的目标函数和新的目标函数满足Lipschitz连续性,最终全参数微调和低维参数微调的效果差异也是可控的。 一些DeltaTuning方法得益此设计思路。比如,在LoRA(Huetal。,2021a)中,权重矩阵采用低秩近似;在BitFit(Zakenetal。,2021)和diffpruning(Guoetal。,2021),只有一些选定的参数被优化。这些方法本质都是在更小的关于解向量的子空间里更新参数,最终能取得较好的效果。 函数空间的低维表示。另一种做法是直接设计原目标函数的一个近似函数,并期望此函数近似的误差较小。这样的函数近似可以是增量网络(Houlsbyetal。,2019)或增广特征空间(Lesteretal。,2021)。因为我们通常更关心语言模型的最终效果,因此直接考虑对目标函数本身的近似效果是合理的。 在实践中构建这样的函数近似有多种不同的做法。最简单的是固定网络中的部分参数,只微调其余部分,该方法期望网络的一部分能大致反映整个网络的性能。因为网络中函数的作用由数据流来刻画,所以可以在原网络中的数据通路中注入低秩的表示,得到的新模型是一个增量网络,比如Adapter。函数的误差由增量网络的表示能力来确定。 如果开发Transformer的自回归结构,一些更精细的函数近似也能被得到。比如,prompttuning(Lesteretal。,2021)将一系列prompttoken作为前缀添加到输入中,并且只对这些prompttoken依赖的参数微调。这种方式可以视作是对特征空间的增广,并且得益于Transformer的性质,这样的函数能较好地近似原函数,并且引导语言模型关注具体的任务。相关的方法还有prefixtuning(LiLiang,2021)。实验观测到prompttuning对更大模型和更大的数据集有更好的优势,这也是合理的,因为这些方法本质是用低维的函数来近似高维的函数,当模型和数据的规模增大时,也自然有更多的自由度来选择函数近似的子空间。 两种低维表示通常可以得到形式上相近的DeltaTuning方法。(Heetal。,2022)对Adapter,prefixtuning和LoRA做了一个形式上统一的表述,这可以被视作从函数近似的角度来看待各种DeltaTuning技术。我们的讨论表明这些DeltaTuning方法都依赖于低维的假设。事实上,在不同的任务上甚至也存在公共的低维子空间(Qinetal。,2021b)。Suetal。(2021)以及我们的实验部分也展示了DeltaTuning在不同任务间的迁移性。因为DeltaTuning的实际效果不可避免地与任务相关,所以为了达到全参数微调的效果,更好地挖掘利用问题本身的结构或者设计一些混合式算法是有益的。 最优控制角度 我们把DeltaTuning中的Softmax函数和正则化项看作是终端,并且将Delta参数作为控制变量的运行损失,把DeltaTuning问题表述为离散时间控制问题,因而DeltaTuning中的前向和后向传播等效于Pontryagin最大原理中的共态过程的计算。总而言之,增量调整可以看作是为特定下游任务寻求PLM的最佳控制器的过程。 我们的分析可以启发新颖的DeltaTuning方法的设计,我们还证明了Delta参数对PLM的干预等同于控制器的设计。通过应用控制器设计的理论,我们期望提出更多具有理论保证的DeltaTuning方法,即设计的Delta结构在充分激发PLM的情况下具有原则上的可解释性。 DeltaTuning全方位的实验分析 作为激发并调用大型PLM的高效方法,DeltaTuning在各种实际应用场景下具有巨大的潜力。在本节中,我们进行了系统的实验,以更深入地了解不同主流delta调优方法的属性。 1。性能,收敛性和效率分析 我们首先选取全参数Finetuning和四种具有代表性的DeltaTuning方法(包括PromptTuning(PT),PrefixTuning(PF),LoRA(LR)和Adapter(AP))对性能、收敛性和效率分析进行了彻底的比较。为了能够测试更加多样的语言建模能力,我们选取了超过100个NLP典型任务,包括文本分类(如情感分类,自然语言推断),问题回答(如抽取式阅读理解),语言生成(如文本摘要、对话)等任务,并且将所有任务的输入和输出都建模成sequencetosequence的格式,从而方便使用同一个模型(T5)统一建模所有任务。除了PT是在T5base和T5large上测试,其它方法均在T5base上进行实验。 性能分析:实验结果如上表所示,我们可以发现,(1)总的来说,由于不同的DeltaTuning方法仅仅微调很少的参数,增加了优化的难度,因此在大多数情况下它们在性能上无法与FT匹敌,但两者之间的差距并非不可逾越,这证明了参数高效自适应的大规模应用的潜力。(2)PF、LR、AP这三种方法虽然设计元素不尽相同,但在性能上是不相上下的。它们中的任何一个方法都有可能在某些任务上表现出优于其它方法的性能(甚至超越FT)。根据平均结果,所有方法的性能排名为FTLRAPPFPT。同时我们也发现,DeltaTuning方法的性能与其可调参数的数量并不一致,即更多可调参数不一定会带来更好的性能,相比之下,DeltaTuning的具体结构设计可能会发挥更大的作用。(3)PT作为这些方法中最容易实现的方法(即不修改模型的内部结构),在大多数情况下,它的性能是远远落后于其他DeltaTuning方法的。 收敛性分析:我们节选了部分数据集上的不同微调方法在不同训练步数下性能的变化,其中由于PT相比其它方法而言收敛速度过慢,没有列入上图。我们可以发现,总的来说,这些微调方法的收敛速度排序为:FTAPLRPF。尽管PF在所有DeltaTuning方法中可调参数数量最多,但仍然面临一些收敛困难,因此收敛速度与可微调的参数量也没有直接的联系。在实验中我们还发现,对于每种DeltaTuning方法,性能和收敛性都对可调参数的数量不敏感,相比之下,对具体的结构更敏感。总而言之,我们的实验在收敛性和整体性能方面得出了非常相似的结论,并且这些结论得到了大量数据集上结果的充分支持。 效率分析:DeltaTuning可以减少参数的梯度计算,从而节省GPU显存,体现了计算资源上的高效。为了具体验证DeltaTuning对GPU显存的效率提升,我们进行了实验以比较不同DeltaTuning方法在不同规模的PLM上微调所消耗的GPU显存。具体而言我们选择了三个尺度的T5模型,即T5base、T5large、T5xl,并测试了在不同batchsize下达到的峰值GPU内存。我们使用NVIDIAA100(最大GPU内存39。58GB)进行实验。从上图中我们可以看出,在batchsize较小时(例如,1、8),DeltaTuning最多可以节省34的GPU显存,而在batchsize较大时,DeltaTuning至少可以节省13的GPU显存。上述结果体现了DeltaTuning计算资源上的高效。 2。可组合性分析 考虑到不同的DeltaTuning方法是相互兼容的,这意味着它们可以同时应用在同一个PLM上。因此我们研究了DeltaTuning的组合是否会带来性能上的提升。具体来说,我们探索了两种组合方式:同时组合和顺序组合,并且选择了三种具有代表性的DeltaTuning方法,包括PromptTuning、BitFit和Adapter。 同时组合:我们首先探索同时应用三种DeltaTuning方法的效果,并使用RoBERTalarge在8个GLUE子任务进行实验。我们在全量数据和低资源场景下均进行了实验,并且探索了人工输入模版对于性能的影响,人工模板旨在弥合预训练和下游任务适应之间的差距。 从上表可以看出,(1)无论是在全量数据还是低资源场景下,无论是否存在手动模板,在DeltaTuning的组合中引入Adapter几乎总是有助于平均GLUE性能;(2)在组合中引入PromptTuning通常会损害平均性能,表明PromptTuning可能与其他两种DeltaTuning方法不兼容;(3)在组合中引入BitFit一般会提高平均性能;(4)手动模板可以通过缩小下游任务适应和预训练之间的差距显著提高zeroshot性能(从23。7到43。4)。在fewshot设置下,人工模板也可以明显提高平均性能。然而,当训练监督信号相对比较丰富时(全量数据场景下),引入人工模板仅表现出微弱的性能提升,甚至有可能损害性能。 顺序组合:除了同时组合之外,我们还进一步研究了上述三种DeltaTuning方法按照一定顺序引入时的兼容性。具体来说,我们将整个微调分为3个阶段。在每个阶段,我们训练一个单独的DeltaTuning方法;在接下来的阶段中,我们固定前面阶段训练得到的DeltaTuning参数不动,只优化新引入的DeltaTuning参数。我们在SST2情感分类数据集上,在使用不使用人工模板的情况下对RoBERTalarge进行实验。结果在下图所示(节选),从中我们可以得出,在某些情况下,可以通过不断引入新的DeltaTuning方法,整体性能能够得到不断提高,从而验证了顺序组合的优势;同时我们也发现,在不同的设置下,不存在固定最优的组合顺序。最优的组合方式可能会因为不同的下游任务、使用的模型架构等等因素而变化。 泛化差距分析:各种微调方法对训练数据的记忆能力(Memorization)和泛化能力(Generalization)不尽相同。为此我们报告了RoBERTalarge在全量数据设置下的泛化差距(训练集效果开发集效果),结果如下表所示,从中我们可以可以看出,(1)单个DeltaTuning方法的泛化差距总是小于Finetuning,这意味着过度参数化可能有助于更好地记忆(过度拟合)训练样本。在所有DeltaTuning方法中,PromptTuning往往具有最小的泛化差距。考虑到每种DeltaTuning方法均可以很好地泛化并在开发集上表现出非平凡的性能,因此过度拟合训练集可能不是良好泛化的必要条件;(2)一般来说,组合几个DeltaTuning方法会增大泛化差距,甚至达到与全Finetuning相当的程度。这表明,记住训练集(Memorization)可能不需要微调过多;换句话说,在PLM进行下游任务适应时,即使模型可微调的容量很小,也足够很好地记忆训练集;(3)使用人工模板一般不会影响泛化差距。 3。模型规模增长的性能变化 我们研究了模型的规模增大对于DeltaTuning性能的影响。最近,有研究发现,随着使用的PLM的模型规模增长,PromptTuning的性能会越来越强,甚至可以达到和全参数Finetuning微调相匹敌的水平。在这一小节中,我们将探讨是否所有DeltaTuning方法均能够表现出这种模型规模带来的优势(PowerofScale)。具体来说,我们对MNLI、QNLI和SST2三个典型的NLP任务进行了实验,并选择了三个规模不断增加的PLM(T5small、T5base、T5xxl),并评估了六种具有代表性的Delta调整方法的性能(Adapter、LoRA、PrefixTuning、PromptTuning、LastLayerTuning和SelectiveModuleTuning),结果如下图所示。 从图(ai)中,我们可以观察到,随着PLM网络规模的增长,所有DeltaTuning方法的性能和收敛性都得到了显着提高;(2)此外,图(jl)表明,与其他Delta调整方法相比,PromptTuning往往对小规模PLM(T5small和T5base)性能比较差。但是,其他DeltaTuning方法没有这个问题;(3)基于现有结果,在图11(mo)和(pr)中,我们进一步设计了两种DeltaTuning方法:LastLayerTuning和SelectiveModuleTuning。对于LastLayerTuning,我们只微调T5encoder的最后一层;对于SelectiveModuleTuning,我们随机选择T5模型中的部分模块进行微调。这两种方法都表现出优异的效果,尤其是当PLM的规模非常大时,SelectiveModuleTuning略好于LastLayerTuning。这些结果表明,将可微调的参数限制在某个特定层内可能不是一个好的策略。另一方面,当PLM的规模变得非常大时,跨不同层随机选择模块来微调可以实现出色的性能。总的来说,上述结果表明,随着PLM模型规模的增长,各种微调方法的性能收敛速度得到显著提升可能是DeltaTuning的常见现象。我们猜测这种现象的存在是因为,较大的PLM通常具有较小的本征维度(IntrinsicDimension),因此,仅调整很少的参数即可获得足够强的表示能力,从而在下游任务中实现非平凡的性能;此外,过参数化的模型可能在下游优化过程中更不容易陷入局部最优,从而加速收敛。 4。任务间迁移能力 我们研究了不同下游任务之间DeltaTuning方法的可迁移性,具体而言,我们采用了4种DeltaTuning方法(PromptTuning、PrefixTuning、Adapter和LoRA)和5种不同类型的12个NLP任务(包括情感分析、自然语言推理、转述识别、问答、总结),并将在源任务上训练好的Delta参数迁移到目标任务上,测试zeroshot迁移效果。结果如下图所示,从中我们可以观察到:(1)对于属于同一类别的任务,它们之间的迁移通常表现良好;(2)对于不同类型的任务,在它们之间迁移性能较差;(3)另外,我们发现从文本生成任务(如问答和摘要)训练得到的Delta参数可以迁移到情感分析任务上并取得优异的表现,这表明文本生成任务可能是一项更复杂的任务,解决该任务所需要的语言能力可能包括了情感分析能力。 DeltaTuning的应用 快速训练与存储空间节省。Transformer模型虽然本质上是可并行化的,但由于其庞大的规模,训练起来非常缓慢。尽管DeltaTuning的收敛速度可能比传统的全参数微调慢,但随着反向传播期间可微调参数的计算量显著减少,DeltaTuning的训练速度也得到了显著提升。以前的研究已经验证了,使用Adapter进行下游调优可以将训练时间减少到40,同时保持与全参数微调相当的性能。由于轻量的特性,训练得到的Delta参数还可以节省存储空间,从而方便在从业者之间共享,促进知识迁移。 多任务学习。构建通用的人工智能系统一直是研究人员的目标。最近,超大型PLM(例如GPT3)已经展示了同时拟合不同数据分布和促进各种任务的下游性能的惊人能力。因此,在大规模预训练时代,多任务学习受到越来越多的关注。作为全参数微调方法的有效替代,DeltaTuning具有出色的多任务学习能力,同时保持相对较低的额外存储。成功的应用包括多语言学习、阅读理解等。此外,DeltaTuning也有望作为持续学习中灾难性遗忘的潜在解决方案。在预训练期间获得的语言能力存储在模型的参数中。因此,当PLM在一系列任务中按顺序进行训练时,在没有正则化的情况下更新PLM中的所有参数可能会导致严重的灾难性的遗忘。由于DeltaTuning仅调整最小参数,因此它可能是减轻灾难性遗忘问题的潜在解决方案。 中心化模型服务和并行计算。超大型PLM通常作为服务发布,即用户通过与模型提供者公布的API交互来使用大模型,而不是本地存储大模型。考虑到用户和服务提供商之间难以承受的通信成本,由于其轻量级的特性,DeltaTuning显然是比传统全参数微调更具竞争力的选择。一方面,服务提供商可以支持训练多个用户所需的下游任务,同时消耗更少的计算和存储空间。此外,考虑到一些DeltaTuning算法本质上是可并行的(例如PromptTuning和PrefixTuning等),因此DeltaTuning可以允许在同一个batch中并行训练测试来自多个用户的样本(InbatchParallelComputing)。最近的工作还表明,大多数DeltaTuning方法,如果本质上不能并行化,也可以通过一些方法修改以支持并行计算。另一方面,当中心的达模型的梯度对用户不可用时,DeltaTuning仍然能够通过无梯度的黑盒算法,仅调用模型推理API来优化大型PLM。 〔1〕Lester,Brian,RamiAlRfou,andNoahConstant。Thepowerofscaleforparameterefficientprompttuning。arXivpreprintarXiv:2104。08691(2021)。