论文翻译 | Dynamic Prompting: A Unified Framework for Prompt Tuning

摘要

        已经证明,在从预训练的基础模型中高效提取知识方面,提示调整(prompt tuning)技术是非常有效的,这些基础模型包括预训练的语言模型(PLMs)、视觉预训练模型以及视觉-语言(V-L)模型。然而,对于所有实例,无论它们内在差异如何,都使用固定软提示与输入拼接的预定位置的有效性仍然不明确。提示在不同实例和任务中的位置、长度和表示等变量,可能会显著影响提示调整的性能。在这种情况下,我们提供了一个理论分析,该分析显示,优化提示的位置以包含输入可以捕捉到传统的前缀或后缀提示调整方法无法捕捉的额外语义信息。基于我们的分析,我们提出了一个统一的动态提示(DP)调整策略,该策略根据特定任务和实例动态确定提示的不同因素。为了实现这一点,我们使用带有Gumble-Softmax的轻量级学习网络,使我们能够学习依赖于实例的指导。实验结果强调了动态提示调整在广泛的任务范围内,包括NLP任务、视觉识别任务和视觉-语言任务上所实现的显著性能提升。此外,我们在全数据、少样本和多任务场景下建立了我们方法的普遍适用性。代码可在 https://github.com/Xianjun-Yang/DPT 获得。

1 引言

        近年来,在机器学习领域,普遍的趋势是采用两步法在自然语言处理(NLP)任务[14, 38, 46, 31]、计算机视觉任务[24, 29, 60, 59]和多功能视觉-语言任务[45, 59, 60, 42, 26]中实现显著性能。这种方法包括在庞大且多样化的数据集上进行初始预训练,随后在更小、针对特定任务的监督数据集上进行微调(FT)。尽管这种方法取得了显著成果,但在处理模型不断增长的大小时,从T5 [46]的30亿参数到GPT-3 [7]的惊人1750亿参数,它带来了挑战。因此,研究界热情地致力于开发新的方法,旨在实现参数高效的适应。这一领域有两个突出的策略,即前缀调整(PFT)[32]和提示调整(PT)[30]。这些方法选择性地微调与原始预训练模型不同的一个小参数子集,从而绕过了微调整个基础模型的昂贵过程。另一种探索涉及稀疏微调[5],它仅专注于优化预训练语言模型(PLMs)的偏差项。此外,研究人员还致力于设计稀疏模块,例如巧妙地使用超复数乘法(PHM)层[57]、紧凑型模型[27]和低秩适应(LoRA)[21]。通过操纵大大减少的参数数量,这些方法通常展现出与传统微调相当的性能,特别是在十亿规模的PLMs背景下,这一现象通常被称为规模的力量[30]。
        如[36]所述的预训练、提示和预测范式,可以分为软提示和硬提示的领域,从而实现了这一开创性方法的无缝优化和辉煌可视化。然而,大多数先前的研究要么在任务中的所有实例上保持一组静态优化的提示[40, 37],要么仅仅将提示添加到所有输入的开头[51, 18, 17]。最近,[56]提出通过Adapter [20]模块为NLU任务生成依赖于实例的提示,并显示出明显的性能提升。同样,[2]通过从多任务中学习到的提示的注意力混合物动态改变依赖于实例的软提示。然而,它们仍然采用固定的位置和固定的长度来与输入拼接提示,这可能是次优策略。

图1:标准提示调优在SuperGLUE上获得了次优分数。我们的动态提示(adap_*)始终产生优越的结果。T5-XL的微调结果在[1]中有报道。 

图2:我们方法的概述。学习网络首先预测与任务或实例相关的提示位置、长度和提示池。然后,将新的软提示与实例连接到冻结的语言、视觉或V-L模型中进行预测。提示和学习网络中的参数同步更新。规范提示调优可以看作是动态提示的一种特殊情况,而所有实例都预先准备了相同的软提示。 

        据我们所知,对提示位置、长度和提示池的动态操纵的系统探索在文献中尚属空白。受这一空白的驱动,我们受到启发,开始研究动态提示(DP)的各种方法,旨在从大型基础模型中提取宝贵见解。我们的努力包括一个全面的理论分析,揭示了优化与输入拼接的提示位置的可能益处,从而捕捉到传统的前缀或后缀提示调整方法无法封装的额外语义。受我们的分析启发,我们提出了一个动态提示(DP)调整的统一策略,其中不同的因素根据手头的特定任务或实例动态确定。我们新颖方法的概述总结在图2中。具体来说,我们结合使用一层前馈网络和Gumbel-Softmax技术[22]来学习位置或长度的分类分布,从而在任务和实例级别上进行优化。为了彻底评估动态拼接位置、长度和提示池的有效性,我们在SuperGlue基准[52]上进行了独立以及同时的实验。我们研究的实证结果显示,通过动态提示,跨越不同大小的模型取得了显著的性能提升。这一进步有效地缩小了提示调整与传统微调之间的差距,如图1所示。我们的发现强调了动态提示在提升模型能力和揭示其在大型预训练模型领域重要性方面的巨大潜力。
        我们的方法作为一个多功能且强大的组件,能够无缝地集成到广泛的问题领域,以解锁更高的性能。除了在NLP任务的提示调整和P-tuning v2中的应用,如先前研究[37]所建立,我们还将我们的方法扩展到包括其他方法论。值得注意的是,我们成功地将我们的框架应用于视觉提示调整(VPT)[24]和MaPLe [29],服务于多功能提示学习的领域。我们动态提示技术的融入在这些不同的方法论中带来了额外的准确度提升。此外,我们的研究不仅展示了动态提示在单任务设置中的有效性,而且在多任务和少样本学习场景中也是如此。这种更广泛的应用进一步放大了我们工作的潜在影响,并巩固了其在各种学习范式中的相关性。
        本文的主要贡献包括以下内容:

  •  我们是第一个提出依赖于实例的提示位置、长度和表示的动态提示。
  • 我们的创新研究产生了一个全面的框架,用于阐明动态调整的软提示与传统提示调整方法相比具有优越性能的机制。
  • 我们进行了实验,以验证我们的方法在包括NLP任务、视觉识别任务和视觉-语言任务在内的广泛任务中的有效性。

2 相关工作 

        提示调整(Prompt Tuning)。提示调整由[30]提出,这是一种简单但有效的机制,用于学习“软提示”(soft prompts),以条件冻结语言模型执行特定的下游任务,作为前缀调整[32]的替代,后者优化了附加到每个变压器层前的一些特定层。这类参数高效调整方法[34, 25, 8]已被证明在调整的参数数量远少于传统微调的情况下依然强大。在P-Tuning v2 [37]中,提示调整通过在每个变压器输入层前添加提示来改进,从而增加了复杂性和可调整的参数。[48]通过提示迁移改进了PT,并研究了软提示在不同下游任务之间的迁移性。他们发现,经过训练的软提示可以有效地迁移到相似的任务上,显著加速训练并在作为初始化时提高性能。[51]也显示,在一个或多个源任务上学习提示,然后使用它来初始化目标任务的提示,可以胜过标准的模型调整。[40]通过一种分层结构化的剪枝消除了负提示标记,进一步探索了提示调整的极限。[54]从理论上证明了提示调整在较弱的非退化条件下获得了下游任务的保证。最近,提示调整也被引入到视觉任务中[24, 9, 33],例如用于持续学习的视觉提示[53],以及用于图像修复[4]。此外,还提出了用于解决多模态应用,如视觉-语言应用[29, 45, 59, 60, 42, 26]的提示技术。
        实例依赖的提示调整(Instance-dependent Prompt Tuning)。IDPG [55]提出了一种通过上下适配器模块生成实例依赖提示的方法。他们利用参数化的超复数乘法(PHM)层[57]来减少生成模块的参数数量。[2]通过源多任务提示的注意力混合改进了实例依赖的提示,其中源提示以多任务方式预训练,这也被[49, 3]采用。最近,[11, 50]显示,基于变换器的PLMs通过梯度下降在上下文中学习,这可能是为什么不同的上下文示例可以显著改变结果[35]的原因。多样化的上下文示例可以被视为硬提示,不同的硬提示选择可以显著影响更具挑战性的推理任务[58]。受此观察的启发,我们相信动态调整的软提示对于高效的提示调整也是至关重要的。此外,[19]通过观察注意力和前馈层,并将提示调整视为简化的前缀调整[30, 37],给出了各种参数高效学习方法的统一视角。在这项工作中,我们推导了一个统一框架,以包括各种动态提示方法。

3 方法 

        在本节中,我们首先在第3.1节中导出提示调优的统一视图,然后描述几种动态提示策略:第3.2节中用于与输入连接的动态位置、动态长度和动态表示,如图2所示。 

3.1 统一视图 

        与规范的提示调优[30]不同,我们将提示分为两部分:前缀和后缀。形式上,对于序列x \epsilon \mathbb{R}^{m\times d},查询矩阵为Q = xW^{Q} \epsilon \mathbb{R}^{m\times d},键矩阵为K = xW^{K} \epsilon \mathbb{R}^{m\times d},值矩阵为V = xW^{V} \epsilon \mathbb{R}^{m\times d_{v}}。将长度为l的软提示符P分成两部分,P = [P1;P2],其中P_{1} \epsilon \mathbb{R}^{l_{1}\times d}, P_{2} \epsilon \mathbb{R}^{l_{2}\times d}。生成的新输入变为x^{'} = \left [ P_{1};x;P_{2} \right ] \epsilon \mathbb{R}^{(l_{1}+m+l_{2})\times d},则新的键和值变为K^{'} = x^{'}W^{K}\epsilon \mathbb{R}^{(l_{1}+m+l_{2})\times d}V^{'} = x^{'}W^{V}\epsilon \mathbb{R}^{(l_{1}+m+l_{2})\times d_{v}}。在这里,\left [ ; \right ]表示连接操作。通过矩阵分解,得到: 

 

式中Q_{1},K_{1}\epsilon \mathbb{R}^{l_{1}\times d}, Q_{2},K_{2}\epsilon \mathbb{R}^{l_{2}\times d}, V_{1}\epsilon \mathbb{R}^{l_{1}\times d_{v}}, V_{2}\epsilon \mathbb{R}^{l_{2}\times d}

        对于新查询x^{'} = \left [ P_{1};x;P_{2} \right ],注意头模块变为: 

        根据上面的定义,我们可以得出一个统一的提示调优视图,如下面的公式所示。详细推导见附录B。 

        在这个统一的公式中,\left \{ \lambda _{i},\beta _{i},\gamma _{i} \right \}_{i=1,2}是标准化的权重,用于控制(前缀)提示调优,后缀和标准注意之间的注意力分配。当P_{2}不存在时,后缀权重等于0,因此结果相当于标准的提示调优。通过引入P_{2}, Head可以更加灵活地适应不同的查询x,并可能提供P_{1}无法捕获的额外语义。理论分析表明,优化提示符的位置以包含输入,可以捕获传统的前缀或后缀提示调优方法无法捕获的额外语义信息。我们的动态提示受到这样一个公式的启发,即期望不同的提示与不同的查询耦合。 

3.2 动态提示 

        在本节中,我们介绍如何使用动态提示(DP)来适应针对任务或实例感知的软提示插入位置、长度和表示的调整。
        遵循传统的提示调整[30],给定一个由n个标记组成的序列x,x = \left \{ x_{1},x_{2},...x_{n} \right \},一个预训练的基础模型,如语言模型T5 [46],生成标记的嵌入X \epsilon \mathbb{R}^{n\times d},其中d是编码表示的维度。对于视觉提示调整,x是一系列视觉隐藏特征[24]。提示调整引入了一个软提示P \epsilon \mathbb{R}^{l\times d},其中l是软提示的长度。下一步是将提示P与实际输入X连接成一个矩阵X′ = [P; X],然后将X′输入到模型LM中进行优化,其中只优化P中的参数,而LM的骨干部分保持冻结。
        动态位置与输入的连接。如上所述,软提示与输入的连接仅仅是将P作为X的前缀。然而,我们假设这种连接可能不是最佳策略。直观上,前缀P为输入序列提供了额外的信息并提供了一种优化的替代方案,但这可能还不够。因此,我们提出了动态位置来填补这一空白:整数dpos是要为不同任务或实例学习的参数,然后原始的P可以被分成两部分P =\left [ P_{before},P_{after} \right ],其中P_{before}= \left [ P_{1},P_{2},...,P_{dpos} \right ]P_{after} = \left [ P_{dpos+1},...,P_{l} \right ]。因此,LM的新输入变为

 

       其中dpos ∈ [0, l]是要学习的整数,且当dpos=l时,传统的提示调整是一个特例。由于dpos是分类的,我们使用一层网络POS_{\Theta }和Gumbel-Softmax [22]来优化它。具体来说,给定POS_{\Theta }的输出,\alpha \epsilon \mathbb{R}^{l+1},我们需要估计一个同样大小的二进制向量。实现二值化函数的一个简单方法是从\left \{ \alpha _{0},\alpha _{1},...,\alpha _{l}\right \}中选择最大值的位置,然而,这种方法是不可微分的。有几种方法允许我们通过离散节点传播梯度[6]。在这项工作中,我们采用了Gumbel-Softmax采样方法[23, 41]。因此,我们有

        其中τ是由E.1节中详细说明的总训练步骤调整的退火温度。logit是一个(l+1)维二进制向量,其中只有一个元素等于1,其他所有元素都为零。使用Gumbel-Softmax获取插入位置的详细推导包含在附录C中。 

        先前的研究[30]表明,对于特定模型和任务,提示长度是至关重要的,而超过20个软标记(soft tokens)所带来的收益是微不足道的。因此,在大多数实验中我们采用l=20。这样,当l固定时,软提示的参数与PT相同,使得比较是公平的。唯一的额外参数是由POS_{\Theta }的小型网络带来的,该网络有一个线性层,其大小为d*(l+1)。我们将这种依赖于实例的位置选择方法称为实例级别的自适应位置,简称adap_ins_pos。请注意,对于我们学习任务中所有实例的最优位置的实验,我们只使用一个向量v\epsilon \mathbb{R}^{l+1}来学习该任务内所有实例的全局最佳位置。我们将这种方法称为任务级别的自适应位置(简称adap_pos)。然后,额外参数的数量是l+1。
        动态长度。先前的研究表明,提示长度在提示调整[30]中扮演着重要角色,通常较大的语言模型需要较短的提示长度。但是,提示长度对任务或实例级别的影响尚未被充分探索。我们提出,提示长度也可以动态学习:
 

同样,l∗∈[0,l]也是分类的,可以通过单层网络LENθ和Gumbel-Softmax进行优化。这里,l表示选择过程允许的最大长度。此外,对于任务级和实例级,附加参数的数量将分别为l+1和d * (l+1)。然而,由于模型通常需要固定的输入矩阵维度,因此实现这种机制带来了实际挑战。鉴于此,我们采用了替代策略,附录D对此进行了详细说明

         动态向量。大量证据[55,2]支持在下游任务中使用实例相关提示的优势。提示可以直接通过适配器模块生成,如[56]的研究所示,也可以在多任务训练中使用注意力混合,如[2]的研究所示。我们提出了一种新颖的、流线型的方法来使用提示池生成动态提示。这种方法简化了过程,并允许无缝地生成动态提示。具体来说,假设有一组提示池Pool = \left \{ P^{(1)},P^{(2)},...,P^{(k)} \right \},其中k是池的大小。然后给定任意输入x,我们学习一个小网络P_{o_{\Theta }},得到每个提示P (k)相对于x的注意力得分,最后新的软提示变成:

 

        在实践中,k控制提示池的大小和增加的参数。由于P_{new}依赖于特定的输入实例,因此我们将此设置表示为实例级的Adaptive vector。 

        组合。注意,前面提到的方法可以组合起来进一步释放动态提示的力量。例如,我们可以同时更新动态位置和提示池,我们将其记为Adaptive instance-vector-position,简称为adap_ins_vec_pos。或者,我们首先使用动态位置来学习最佳任务级位置并更新实例级提示池,表示为自适应位置-实例-向量,简称为adap_pos_ins_vec。我们为以后的工作留下更多的组合。 

4 实验 

        模型。对于语言任务,我们使用基于Huggingface2和Pytorch3构建的OpenPrompt [15]框架来实施我们的实验。我们使用T5-adaptive-LM4版本,因为它在提示调整方面具有优势。在所有实验中,我们冻结了主干语言模型,只优化软提示和学习网络以获取动态信息。我们选择的初始学习率lr来自[0.1, 0.2, 0.3],权重衰减为1e−5,并使用Adafactor [47]作为优化器。
        此外,我们使用OpenPrompt5的默认设置来处理提示模板和词语化(verbalizers)。除非另有说明,我们将所有实验中的软标记保持为20。我们每500步评估一次验证集。对于所有微调实验,我们保持与我们的提示调整相同的设置,除了将lr初始化为1e−5,移除添加的软提示,并调整整个语言模型。
        为了评估动态学习提示最佳位置以全面覆盖输入的有效性,如第3.1节所讨论,我们已经将我们的动态优化方法纳入了各种方法中,即P-tuning v2[37]、视觉提示调整(VPT)[24]和MaPLe [29]用于多模态提示学习。值得注意的是,由于OpenPrompt只支持在输入层添加提示,我们将实验扩展到了T5系列的预训练模型之外,包括了使用P-tuning v2方法的BERT-Large和Roberta-Large模型。此外,我们已经验证了我们的方法在视觉识别任务领域的有效性,使用带有ViT-B骨干(“sup_vitb16_imagenet21k”)的视觉提示调整(VPT)框架[24],以及在新型类别泛化任务的多模态提示学习背景下的有效性,使用MaPLe [29]作为底层骨干。对于视觉-语言模型验证,我们进行了从基础类别到新型类别的泛化任务。具体来说,我们评估了MaPLe结合我们的动态提示插入技术的泛化能力,并遵循了零样本设置,其中数据集被分为基础类别和新型类别。模型只在基础类别上进行少样本设置训练,并在基础类别和新型类别上进行评估。骨干模型是ViT-B/16 CLIP模型。关于实验配置的进一步细节,请参见附录E。
        数据集。遵循先前的工作[15],我们评估我们的方法在五个SuperGLUE [52]数据集上的表现,以测试语言理解能力,分别是BoolQ [10]、MultiRC [28]、CB [12]、RTE [16]和WiC [44]。我们使用默认的训练/开发分割,并在验证集上报告默认指标,因为测试集不是直接可用的。为了与P-tuning v2进行比较,我们使用了八个SuperGLUE数据集。对于视觉提示调整设置,我们遵循[24]并使用了著名的FGVC数据集,该数据集由5个基准数据集组成。对于视觉-语言设置,我们遵循MaPLe [29]并使用了11个不同的数据集。关于数据集的详细信息包含在附录E.6中。

5 结果 

        为了证明我们方法的效率,在本节中,我们展示了我们提出的简单但强大的方法可以在各种方法中带来显著的准确率提升,包括提示调整(Prompt tuning)、P-tuning v2 [37]、视觉提示调整(VPT)[24]和用于多模态提示学习的MaPLe [29],涵盖了广泛的任务,如NLP任务、视觉识别任务和视觉-语言任务。更多的实验,如案例研究和消融研究(F)、参数敏感性分析(H)和附加结果(G)包含在附录中。

表4:软提示动态定位的三种策略。Fixed Position是默认的提示调优。自适应位置意味着每个任务都学习位置,但对于任务中的所有实例都是固定的,而自适应ins_position则为每个实例学习动态位置。

         自适应位置。如表4所示,我们比较了自适应位置的两个变体:adap_pos代表单个任务中所有实例的动态学习位置,而adap_ins_pos表示每个实例都期望存在一个最佳位置。实验是使用T5-LM-Adapt版本(小型、基础型、大型和超大型)进行的,我们在表中报告了最佳结果。我们可以看到在几乎所有五个数据集上都有一个普遍趋势,即adap_ins_pos > adap_pos > fixed_pos。平均而言,T5-Large相比于固定位置的PT,表现出了大约5到7个点的显著提升。对于较小的LM,这些改进不太明显,这与[30]的发现一致,即较大的模型更适合提示调整。考虑到adap_pos的额外参数数量仅为20,而adap_ins_pos则需要数千个,我们可以得出结论,固定位置对于提示调整来说不是最佳选择,而自适应位置始终能带来提升。

表2:固定长度PT与自适应长度PT。 

        自适应长度。如第3.2节所述,我们只使用了一种长度调整的替代策略。表2显示了自适应长度的结果。为了简单起见,我们只在T5-base上测试了adap_length,在T5-large上测试了adap_ins_length。总体来说,与固定提示长度相比,在任务或实例级别上调整长度是有帮助的。然而,与表4中的自适应位置策略相比,性能提升较低,这可能是由于调整的难度造成的。因此,我们建议使用这种策略来快速定位不同模型的适当长度,而不是进行贪婪搜索。

表1:与表4中只调整位置相比,结合自适应矢量可以进一步缩小微调之间的差距。 

Figure 3: Results on SuperGLUE with T5-Large.

        自适应提示。通过从提示池中自适应调整合成的提示,软提示预期能更有效地利用冻结的LM。结果报告在表1中,我们在图3中也给出了直方图比较。总的来说,与仅自适应位置相比,添加一个自适应提示向量可以提高性能。但是,当位置和提示都针对每个实例进行优化时,我们在大多数情况下看到了略低的结果,这可能是由于优化难度的增加。我们将更好的优化方法的工作留到未来。附加结果包含在附录G.1中。

Table 3: Few-shot results on T5-LM-Large 

Table 5: Multi-task results comparing prompt tuning (PT) and adap_ins_vec on T5-Large under few-shot setting. 

     少样本。我们在表3中展示了T5-Large上的少样本结果。从所有数据集可以看出,我们的动态提示在只有32个训练样本的情况下始终能提高结果,展示了在低资源环境下的广泛泛化能力。
多任务。为了进一步证明多任务调整可以在学习更好的共享提示池方面跨任务带来益处,我们在表5中也展示了多任务结果。在这里,我们从所有五个数据集中随机抽取了10%或30%的样本并报告了平均性能。结果证实,跨多个任务共享提示池带来了普遍的好处。

        多任务。为了进一步证明多任务调整可以在学习更好的共享提示池方面跨任务带来益处,我们在表5中也展示了多任务结果。在这里,我们从所有五个数据集中随机抽取了10%或30%的样本并报告了平均性能。结果证实,跨多个任务共享提示池带来了普遍的好处。 

        P-tuning V2。在追求推动提示调整(prompt tuning)边界的过程中,[37]深入研究了对语言模型(LMs)内部工作机制的理解,通过在每个变压器层(transformer layer)附加一个提示,超越了简单地将软提示附加到原始输入序列的传统实践。
        他们的努力取得了与微调(fine-tuning)相当的结果,突显了提示调整的显著潜力。因此,我们开始了我们的研究,以探索动态提示的全部潜力。我们试图确定我们动态操作软提示,深入到LM内部,能在多大程度上提高准确性。为了确保公平比较,我们采用了[37]所使用的相同设置,在SuperGlue数据集上使用骨干模型BERT-Large[13]和RoBERTa-Large[39]。如图4所示的结果证明了我们自适应提示位置方法的有效性。在大多数数据集上,我们都观察到了性能的提升。我们的技术在BERT-Large上实现了令人印象深刻的绝对平均增益1.74%,在RoBERTa-Large上超过了P-tuning V2的1.34%。从理论上讲,如第3.1节所述,我们的技术使得软提示能够包含输入,捕捉到传统的前缀或后缀提示调整方法无法捕获的额外语义信息。
        当我们操纵更多变压器层上的提示时,我们自适应位置的有效性变得越来越明显。更多结果包含在附录G.3中。
        视觉提示调整(VPT)。在将大型预训练变压器(Transformers)适应于下游视觉任务领域,一项名为VPT [24]的杰出工作出现了。VPT将额外参数集成到每个变压器层的输入序列中,同时在微调过程中与线性头一起学习。我们的方法更进一步,将我们的方法嵌入到模型中,允许自适应优化提示位置。
        在深度设置中应用VPT时,我们保持深层变压器层的提示位置与输入层一致。如表7所示的结果证明了通过智能优化提示位置所获得的性能提升。实例感知的提示位置选择进一步提高了准确性。值得注意的是,这些好处在VPT的浅层和深层设置中都有体现,凸显了我们方法的鲁棒性和有效性。更多结果包含在附录G.4中。
        视觉-语言模型。视觉-语言(V-L)模型,如杰出的CLIP [45],因其卓越的能力将语言和视觉模态对齐而广受赞誉。

表6:在11个数据集上,有和没有动态提示位置的MaPLe比较。 

      MaPLe [29]的开创性工作引入了一个耦合函数,有效地根据语言对应部分条件视觉提示,从而弥合了两种模态之间的差距。受这些进步的启发,我们将自适应提示位置方法纳入文本输入层,利用动态提示操作的力量。我们在附录中概述了详细的实验设置。如表6所总结的引人注目的结果,证实了我们方法的有效性。值得注意的是,通过将自适应提示位置纳入MaPLe,我们在新类别上实现了令人印象深刻的绝对平均增益2.04%,在调和平均上超过了2.17%,超越了最先进的方法MaPLe [29]。这种性能提升是动态提示方法有效性的有力证明,牢固确立了其在V-L模型领域的效力。更多详细结果包含在附录G.5中。

6 结论 

        在这项工作中,我们首先推导了一个统一的提示调优视图,然后提出了一种新的参数高效提示调优方法,称为动态提示,它可以在仅添加少量额外参数的情况下显著提高提示调优的性能。本工作的主要贡献包括探索动态位置、长度和提示表示在改进传统提示调谐中的有效性,以及系统探索不同动态方法组合下不同场景下的动态提示。在广泛的数据集上进行的综合实验验证了动态提示在各种任务(包括语言理解任务、视觉识别任务和视觉语言任务)中始终如一地取得优异的结果,而不管所采用的模型大小如何。我们还证明了动态提示在多任务和少镜头设置中是有效的。总的来说,我们的工作可以进一步释放各种形式的快速调整的力量。我们希望我们的方法可以帮助有效地使用大型预训练模型,并进一步缩小微调之间的差距。 


 

 

       


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557008.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(下篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

HCIP--以太网交换安全(二)

端口安全 一、端口安全概述 1.1、端口安全概述:端口安全是一种网络设备防护措施,通过将接口学习的MAC地址设为安全地址防止非法用户通信。 1.2、端口安全原理: 类型 定义 特点 安全动态MAC地址 使能端口而未是能Stichy MAC功能是转换的…

[运维]6.github 本地powershell登录及设置ssh连接

当我在本地的git hub 进行修改后,需要推送到远程github仓库。 当我运行了git add . git commit -m "ingress-controller image" 以后,运行git push origin main,发现由于网络原因无法连接到远程github仓库。 此时开始设置ssh连…

数组与集合的应用-数组演练

1、获取一维数组最小值 1.1 实例说明 一维数组常用于保存线性数据,例如数据库中的单行数据就可以使用一维数组保存。本实例接收用户在文本框中输入的单行数据,其中数据都是整数数字,以不同数量的空格分割数字,如图1所示。这个先行…

Spring相关知识补充

目录 一、将Bean存储到spring(容器)中 1、使用spring-config的方式将对象存储到spring容器中 2、使用类注解的方式将Bean对象存储到容器中 1️⃣、配置扫描路径(使用注解的方式存对象的前提) 2️⃣、使用五大类注解存储Bean对…

C语言练习

接下来一段时间,博主要参加军训没有时间更新C语言知识点,但博主会每天更新一道C语言的题作为分享。 1.计算并显示整数的差 分析:1.题目并不难,首先我们要知道printf这个库函数,是用来打印数据到屏幕的库函数 2.设置变…

【AI知识点】反向传播(Backpropagation)

反向传播(Backpropagation) 是训练神经网络的核心算法,它通过反向逐层计算损失函数对每个权重的梯度,来反向逐层更新网络的权重,从而最小化损失函数。 一、反向传播的基本概念 1. 前向传播(Forward Propag…

文件丢失一键找回,四大数据恢复免费版工具推荐!

丢失数据的情况虽然不经常出现,但一旦出现都会让人头疼不已,而这时候,要如何恢复丢失的数据呢?一款免费好用的数据恢复工具就派上用场了!接下来就为大家推荐几款好用的数据恢复工具! 福昕数据恢复 直达链…

Redis list 类型

list类型 类型介绍 列表类型 list 相当于 数组或者顺序表 list内部的编码方式更接近于 双端队列 ,支持头插 头删 尾插 尾删。 需要注意的是,Redis的下标支持负数下标。 比如数组大小为5,那么要访问下标为 -2 的值可以理解为访问 5 - 2 3 …

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【272-284】

272. 包基本介绍 272.1 看一个应用场景 272.2 包的三大作用 272.3 包的基本语法 273. 包原理 274. 包快速入门 在不同的包下面创建不同的Dog类 275. 包命名 276. 常用的包 一个包下,包含很多的类,java 中常用的包有: java.lang.* //lang 包是基本包,默认引入&…

农业政策与市场分析:解读当前政策导向下的农业发展趋势

在快速变化的全球经济格局中,农业作为国家稳定发展的基石,其政策走向与市场动态备受瞩目。本文将深入剖析当前的农业政策背景,探讨其对设计的导向作用,以及市场趋势的反馈与影响,为农业可持续发展提供洞见。 1. 政策背…

【大模型理论篇】大模型相关的周边技术分享-关于《NN and DL》的笔记

本文所要介绍的一本书《Neural Networks and Deep Learning》,该书作者Michael Nielsen,Y Combinator Research的研究员,是多年之前自己看的一本基础书籍,很适合入门了解一些关于深度学习的概念知识,当然也包含了一些小…

MyBatis 批量插入方案

MyBatis 批量插入 MyBatis 插入数据的方法有几种: for 循环,每次都重新连接一次数据库,每次只插入一条数据。 在编写 sql 时用 for each 标签,建立一次数据库连接。 使用 MyBatis 的 batchInsert 方法。 下面是方法 1 和 2 的…

三相逆变器中LCL滤波器分析

1.LCL滤波器 传统三相逆变器使用的是L型滤波器,其设计简单,但也存在着一些问题,如在同样的滤波效果下,L型滤波器电感尺寸、重量较大,成本较高,并且随着电感值的增大,其上的电压降增加比较明显&…

【MySQL必知会】事务

目录 🌈前言🌈 📁 事务概念 📁 事务操作 📁 事务提交方式 📁 隔离级别 📁 MVCC 📂 3个隐藏列字段 📂 undo日志 📂 Read View视图 📁 RR和R…

【GESP】C++一级练习BCQM3028,输入-计算-浮点型格式化输出

目前的几道题主要围绕浮点型的计算和格式化输出。强化基础语法练习。 详解详见:https://www.coderli.com/gesp-1-bcqm3028/ 【GESP】C一级练习BCQM3028,输入-计算-浮点型格式化输出 | OneCoder目前的几道题主要围绕浮点型的计算和格式化输出。强化基础语…

说说BPMN概念及应用

BPMN(Business Process Modeling and Notation)即业务流程建模与标注,是一种由OMG(Object Management Group,对象管理组织)制定的业务流程建模语言。以下是对BPMN标准的详细解释: 一、BPMN的起…

短剧系统源码短剧平台开发(H5+抖小+微小)部署介绍流程

有想法加入国内短剧赛道的请停下脚步,耐心看完此篇文章,相信一定会对您有所帮助的,下面将排序划分每一个步骤,短剧源码、申请资料、服务器选择、部署上架到正常运行等几个方面,整理了一些资料,来为大家举例…

Spring Boot助力医院数据管理

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

MySQL进阶学习一(2024.10.07版)

2024-10-06 -------------------------------------------------------------------------------------------------------------------------------- 1.一条SQL语句是如何执行的 单进程的多线程模型 MySQL的物理目录 show global variables like "%basedir%"; …