GPS Genetic Prompt Search for Efficient Few-shot Learning
简介
Hanwei Xu et al., 2022提出了一种新的遗传提示搜索(GPS)算法,该算法用生成模型逐渐变异提示,并根据它们在小开发集上的性能选择候选者。这种进化过程依赖于一小组标记数据,仅用于验证,而不用于训练。
GPS不需要更新任何参数,只需要搜索每个下游任务的最佳硬提示。与即时调谐类似,GPS允许预训练的模型同时服务于大量应用。同时,GPS比提示调谐更容易部署,因为它不需要存储调谐后的连续软提示。从经验上看,GPS在手动提示的基线基础上实现了显著的改进,并且它也优于其他参数有效的少镜头调谐方法。
作者遵循T0基线,使用十个T0测试任务比较了五种方法,即模型调整、提示调整、黑匣子调整、上下文学习和GRIPS。结果表明,GPS不仅优于手动提示基线,而且优于其他参数有效的少镜头学习方法。大量实验验证了所提出的GPS的有效性。
原理
对于一个新的看不见的任务,自动找到高性能的提示是一项挑战。受遗传算法(Mitchell,1980)的启发,我们为此提出了遗传提示搜索(GPS)。具体算法如下图所示:
在GPS中,我们将首先对少量数据进行采样,作为每个下游任务的开发集Ddev。然后,我们将设计两个遗传函数,其中fGPS是决定每次迭代时保留或消除哪些提示的度量函数,gGPS代表生成新提示的遗传函数。根据算法,GPS首先用一组手工制作的提示G0进行初始化。GPS的关键过程是再现当前生成的提示,并使用重新评分来迭代选择提示。对于每次迭代,我们使用fGPS计算Gt中提示的分数,并选择前K个提示作为Gt*。然后,我们使用基于Gt*的gGPS生成Gt+1。经过几个步骤的基因搜索,我们将收集每一代中所有的前K个提示,并重新评分所有这些提示,以最终决定哪些提示是最佳的。使用gGPS有三种不同的方法。
反向翻译:反翻译(BT)是NLP中常用的数据扩充技术,用于即时再现。在这里,我们首先将手工提示从英语翻译成其他11种语言,包括中文、日语、韩语、法语、西班牙语、意大利语、俄语、德语、阿拉伯语、希腊语、粤语,然后再翻译回英语。
完形填空:我们使用大的预训练文本到文本转换器(T5)来生成模板。对于每个输入示例及其描述器,我们使用占位符作为前缀和后缀组成模板,并让T5填充占位符。我们应用波束搜索来生成多个提示候选者。然而,由于我们的设置不进行参数更新,这与原始论文中的少数镜头训练设置不同,因此这种方法效果不佳。因此,我们改为使用手动提示作为初始模板,用占位符替换一些随机标记,然后让T5填空以生成新的提示。
句子延续:使用模板“写两个意思相同的句子。句子1:手动提示,句子2:”到预训练的模型,并让它生成连续句作为新的提示。我们用GPT2-XL(1.5B)和T5LM-XXL(11B)作为我们的即时生成模型进行了实验。
最后,根据提示生成方式的不同,我们相应的评分标准也不同。具体评分规则如下:
对于完形填空:我们遵循之前的工作,在验证集Ddev上用平均logits对提示进行评分。
对于反向翻译和句子延续:由于平均logits不适用,我们在Ddev上使用准确性对每个提示进行评分。
Prompt 示例
暂无prompt示例。
数据集
ANLI
对抗性自然语言推理(ANLI,Nie et al.)是一个新的大规模NLI基准数据集,通过迭代的、对抗性的人类和模型在环过程收集。特别是,选择的数据对于最先进的模型来说是困难的,包括BERT和RoBERTa。
RTE
识别文本蕴涵(RTE)数据集来自于一系列文本蕴涵挑战。合并来自RTE1、RTE2、RTE3和RTE5的数据。例子是根据新闻和维基百科文本构建的。
CB
CB一个短文本语料库,其中至少有一个句子包含一个嵌入从句。其中每个嵌入从句都标注了该从句的预期的真实性程度。所得到的任务框架是三类文本蕴涵(three-class textual entailment),其样本来自《华尔街日报(Wall Street Journal)》、英国国家语料库(British National Corpus)的小说、Switchboard。每个样本都包含一个含有一个嵌入从句的前提(premise),对应的假设(hypothesis)则是该从句的提取。SuperCLUE 使用了该数据集的一个子集,该子集中注释之间的一致程度超过 0.85。这些数据不很平衡(中性样本相对较少),所以评估指标是准确度和 F1 分数,其中多类 F1 分数是每类 F1 分数的不加权的平均值。
WSC
Winograd模式挑战的引入既是图灵测试的替代方案,也是对系统进行常识推理能力的测试。Winograd图式是一对句子,它们有一个或两个不同的词,有一个高度模糊的代词,在这两个句子中解析的方式不同,这似乎需要常识知识才能正确解析。这些例子被设计成人类很容易解决,但机器很难解决,原则上要求对文本内容及其描述的情况有深刻的理解。最初的Winograd模式挑战数据集由人工智能专家手动构建的100个Winograd模式组成。截至2020年,有285个例子;然而,最后12个例子是最近才添加的。为了确保与早期模型的一致性,一些作者通常倾向于只报告前273个示例的性能。这些数据集通常分别被称为WSC285和WSC273。
Winogrande
WinoGrande是一个包含44k个问题的新集合,灵感来自Winograd模式挑战(Levesque, Davis, and Morgenstern, 2011),但经过调整以提高针对数据集特定偏差的规模和鲁棒性。将其表述为带有二元选项的填空任务,目标是为给定的句子选择正确的选项,这需要常识推理。
COPA
合理选择(COPA)评价为研究人员提供了一种评估开放领域常识性因果推理进展的工具。COPA由1000个问题组成,平均分为开发集和测试集,每个集500个问题。每个问题都由一个前提和两个选项组成,其中的任务是选择与前提更有因果关系的选项。正确的选择是随机的,因此随机猜测的预期性能为50%。
HellaSwag
HellaSwag是一个具有挑战性的数据集,用于评估常识性NLI,这对于最先进的模型来说尤其困难,尽管它的问题对人类来说微不足道(>95%的准确率)。
WiC
WiC是评估上下文敏感词嵌入的基准。WiC被构造为二进制分类任务。WiC中的每个实例都有一个目标词w,要么是动词,要么是名词,为其提供了两个上下文。这些上下文中的每一个都会触发w的特定含义。任务是确定w在两个上下文中的出现是否对应于相同的含义。事实上,该数据集也可以被视为词义消歧在实践中的应用。
参考文献
Annaaphq.(2022).遗传算法(基础知识).[在线].CSDN博客.取自:https://blog.csdn.net/Annaaphq/article/details/126341559
tigerqin1980.(2022).遗传算法入门详解.[在线].知乎.取自:https://zhuanlan.zhihu.com/p/100337680?utm_id=0