Press "Enter" to skip to content

NLP论文解读:无需模板且高效的语言微调模型(上)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©原创作者 | 苏菲

 

论文题目:

 

Prompt-free and Efficient Language Model Fine-Tuning

 

论文作者:

 

Rabeeh Karimi Mahabadi

 

论文地址:

 

https://openreview.net/pdf?id=6o5ZEtqP2g

 

提示学习(Prompt-learning)被誉为自然语言处理的“第 4 种范式”,它可以在少样本甚至零样本的条件下,通过将下游任务修改为语言生成任务来获得相对较好的模型。

 

但是,传统的提示学习需要针对下游任务手工设计模板,而且采用自回归的训练预测方法非常耗时。本文提出的PERFECT方法,无需手工设计特定模板,大大降低内存和存储消耗(分别降低了5个百分点和100个百分点)。

 

在12个NLP任务中,这种微调方法(PERFECT)在简单高效的同时,取得了与SOTA方法(如PET提示学习模型)相近甚至更高的结果。

 

论文的创新之处在于:

 

(1)使用特定任务适配器替代手工制作任务提示,提高了微调的采样效率且降低内存及存储消耗;

 

(2)使用不依赖于模型词汇集的多标记标签向量学习,替代手工编制的语言生成器,可以避免复杂的自回归解码过程。

 

01 背景介绍

 

论文作者首先介绍了少样本语言模型微调以及提示学习的问题定义、适配器、基于提示的微调、训练策略、预测策略等,然后再提出论文对这一问题和模型的改进方法。

 

图1所示的是一个情感分类器(提示学习模型),输入的提示模板为“x It was [MASK]”, 可以替换x为输入文本,通过语言生成器(Verbalizers)把词汇对应到极性标签(‘positive’或者‘negative’),从而获得整个文本的情感类别。

 

 

图1

 

现存的提示学习模型需要手工精心设计提示模板和语言生成器,以便将任务转化为掩码语言模型(MLM)和完形填空格式。这篇论文提出的PERFECT方法不需要任何手工构建工作,且可以去掉提示模板和语言生成器。

 

1.1问题的定义

 

 

论文作者进一步设定验证集与训练集的样本数相同(因为更大的验证集可能更有优势),因此论文作者使用的训练集有16个样本,即N=16,同时使用的验证集也有16个样本,总共是32个样本的少样本学习数据集。

 

1.2 适配层(Adapters)

 

在具有超大规模参数的预训练语言模型(PLMs)中,微调语言模型时可以通过加入一个小的特定任务层(称为适配层Adapters),那幺在训练语言模型时只需要训练新加入的适配层和归一化层,而语言模型中的其它参数保持不变。

 

例如在Transformer模型中,其中的每一层主要由一个注意力block和一个前馈block构成,而这两个block后面都会接一个跳跃连接层;通常把适配层插在这些block之后且在跳跃连接层之前(如图2所示),那幺在训练时仅仅需要优化图中绿色模块的参数。

 

 

图2

 

1.3 基于提示的微调

 

标准的微调:标准的预训练语言模型微调方法是,首先将一个特殊符号[CLS]加入到输入x中,然后模型将其映射到隐藏层中的序列表示

 

 

 

这种标准微调的主要缺点在于预训练和微调之间可能存在不一致,因为预训练时已经使用一个掩码语言模型进行了训练(用于预测被掩蔽的tokens),而微调时也进行了同样的训练。

 

基于提示的微调:为了解决这种不一致,基于提示的微调把任务转换为完型填空的形式。例如,图1所示的情感分类任务中,输入被转换为下面的提示形式:

 

 

 

训练的策略:设是下游任务的标签,使用语言生成器(Verbalizers)可以将一个标签映射到预训练语言模型词库中的一个词语。那幺,利用提示模板中的MASK,分类任务被转换到预测一个掩码的目标词语,预测标签y的概率为:

 

 

 

预测的策略:在预测阶段,这种基于提示的微调模型需要在给定上下文环境中选择使用哪一个Verbalizer,一般采取自回归的方式进行选择。首先把掩码token的数目从M修剪到每一个候选Verbalizer的token长度,并计算每一个掩码token概率。

 

然后,用概率最大的Verbalizer中的token替代相应的掩码token,再重新计算剩下的掩码token概率。重复这种自回归解码方式,直到所有要预测的掩码token都被计算完毕。

 

这种预测策略速度很慢,因为模型中前向路径传递的数目会随着类别数目、Verbalizer的token数目的增加而增长。

 

总的看来,基于提示的微调方法的成功严重依赖于手工工程的patterns和verbalizers,而寻找合适的verbalizers和patters也是困难的。

 

此外,手工定制的verbalizers会带来以下的效率方面的问题:

 

a)由于需要更新预训练语言模型的embedding层,所以会引起大量内存超负荷;

 

b)由于需要很小的学习率(通常是10-5),这会大大减慢verbalizers的微调速度;

 

c)把verbalizers作为预训练语言模型的一个token会影响输入在微调时的表示学习;

 

d)verbalizers的token长度是变化的,这使得其向量化会变得复杂,也是提高微调效率的一个挑战。为了解决上述困难和挑战,论文作者提出了下面的无需verbalizer和patterns的少样本学习微调方法(PERFECT)。

 

论文解读上篇先到这里,下篇将为大家继续分享作者独到的创新之处。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注