LiST,用于在few-shot learning下对大型预训练语言模型(PLM)进行有效微调。第一种是使用self-training,利用大量unlabeled data进行prompt-tuning,以在few-shot设置下显著提高模型性能。我们将自我训练与元学习结合起来,重新加权有噪声的pseudo-prompt labels,但是传统的自监督训练更新权重参数非常昂贵。因此,使用第二种轻量微调,引入少量特定于任务的适配器参数,在自训练期间进行FT,同时保持PLM编码器冻结。优点:可以共享一个公共PLM编码器,大大减少了几个任务的总体模型占用,这些任务现在可以共享一个公共PLM编码器作为推断的主干。
LiST不仅提高了目标域上少镜头学习的模型性能,而且还减少了模型内存占用。我们对六项NLU任务进行了综合研究,以验证LiST的有效性。结果表明,当使用每个目标域不超过30个标记示例进行FT时,LiST比经典微调方法提高了35%,比快速微调方法提高了6%,可训练参数的数量减少了96%。
1. Introduction
PLM面临的两大挑战
标记的训练数据。PLM依赖非常多的labeled training data来适应下游任务来获得最先进的性能,对下游任务进行优化。这许多实际任务带来重大挑战,包含大量标记数据很难得到。
大量可调参数。就可训练参数而言,PLM的规模一直在稳步增长,参数范围从数百万到数十亿。这显著增加了微调超大PLM所有参数的计算成本,以及存储和总体模型占用方面的服务成本,其中每个任务都需要其定制的大模型参数副本。
为了解决上述挑战,我们考虑现实世界的设置,微调PLMS需要满足以下两个标准。
- few-shot:我们假设每个任务域中的任务标签数量非常有限。
- Light-weight:对于每个新任务,微调应具有少量可调参数,以降低总体存储成本
2. 策略
- prompt和unlabeled data进行自训练,首先利用大量未标记数据进行自训练从目标域出发在few-shot设置中改进模型自适应性
- Light-weight adapter-tuning,迭代更新所有模型参数传统的自我训练可能会很昂贵,因此在PLM中引入了少量特定于任务的适配器参数,updated with few-shot labels,keeping the large PLM encoder fixed
证明了带有self-training+light weight tuning可以匹配all model parameters tuning。这样可以有效地利用自训练,提高微调过程的参数效率,并且降低了微调模型的存储成本,因为multiple fine-tuned models can now share the same PLM as backbone during inference.(在推理过程中,多个fine-tuned model可以共享backbone相同的PLM。)
LIST利用unlabeled data的prompt来提高label-efficiency,并利用适配器来减少可调参数。文中在六个自然语言理解任务中进行了大量实验,以证明LIST的有效性。设计了一个综合评估框架,考虑到different shots, random seeds和splits的PLM在few-shot性能方面的差异。结果表明,与传统的和最近的prompt-tuning方法相比,LiST分别提高了35%和6%,每个下游任务只需要30个 labeled examples,可训练参数的数量减少了96%。
在这项工作中,论文证明了使用unlabeled data的lite自训练可以显著改善在few-shot设置下对大型语言模型的prompt-tuning
3.1 LITE SELF-TRAINING: LiST METHODOLOGY
- 首先对teacher adapter在few-shot labeled样例下进行prompt-tune
- 然后teacher模型在unlabeled data数据上分配pseudo-prompt labels
- 由于teacher常常在few-shot learning上表现得不确定,并且容易产生噪声pseudo-labels,因此采用元学习来重新加权带噪声的pseudo-labels样本
- 由于带有噪声pseudo-labels的适配器训练非常不稳定,引入了知识蒸馏预热
- 最后将经过训练的student适配器指定为新的teacher适配器
以M=6重复上述步骤。在训练过程中,将共享的student和teacher 编码器参数冻结,只更新相应的适配器参数及其LM-head
3.2 LIGHTWEIGHT PROMPT ADAPTER TUNING
当经典FT中有大量训练标签时,适配器已被证明在全监督设置下与PLM性能相匹配,相比之下,这是首次研究Adapter在few-shot prompt-tuning中的作用,探索了在few-shot设置下Adapter的不同设计和放置选择,并研究了在完全监督和完全可调参数空间下的性能差距,适配器调整策略明智地将新参数引入原始PLM。与更新所有PLM参数的标准prompt-tuning不同,prompt-adapter tuning仅更新新引入的Adapter参数以及PLM的语言模型头,同时保持原始网络的其余参数不变
- LIST中使用的Adapter由两个全连接层组成,其中一个前馈层向下将输入表示投影到低维空间,另一个前馈层向上将低维特征投影回原始维度,然而,这些新插入的参数可能会导致发散,导致在few-shot设置下性能下降高达20%。为了解决这个问题,采用了skip-connection,其中适配器参数用零均值小高斯噪声初始化
- 注意到Adapter的放置对于减少与 fully tunable model的性能差距至关重要,为此探索了与transformer模块相对应的Adapter放置的几种选择,即在transformer模型的每一层中embedding, intermediate feedforward, output feedforward and attention module。基于六种不同NLU任务的实证实验,观察到feedforward output 和 attention modules是在few-shot设置下参数有效适应的最重要组成部分
4. LITE SELF-TRAINING: SUMMARY
- 通过利用来自目标域的未标记数据,自我训练有效地调整few-shot模型
- 通过prompt进行自我训练,可以缩小pretrain和FT目标之间的差距,从而提高模型性能
- Adapter通过调整少量模型参数,同时保持PLM编码器固定,从而降低总体存储成本
- 将上述策略结合在一种新的FT方法中,LiST在少数镜头设置下提高了labeled data精度和参数效率。