阅读摘要
Prompt任务需要构建合适的Pattern,但是编写合适的Pattern需要手动工作和人为猜测,有很大的不确定性。为了解决这个问题,提出AUTOPROMPT模型,基于梯度下降搜索来创建Pattern。
[0] 摘要
这篇论文并提出了一种名为AUTOPROMPT的自动化方法,用于为多样的任务创建适当的提示模板Pattern。
传统的MLM任务虽然可以评估语言模型的知识水平,但需要手动编写合适的Pattern,涉及较大的人力成本和猜测成分。AUTOPROMPT基于梯度下降搜索Pattern的方法解决了这个问题。
AUTOPROMPT无需额外的参数或微调,有时甚至能够与最新的监督模型取得相当的性能。
[1] 介绍
论文指出,传统的分析方法,如探测分类器和注意力可视化,存在一定的局限性和不足。而通过提示prompting的方式,将任务转化为语言模型的形式,可以更直接地获取模型所具备的知识。
然而,现有的提示方法需要手动构建上下文,这一过程耗时且容易出错,且模型对上下文的敏感性较高。为了解决这一问题,研究人员提出了AUTOPROMPT方法,通过自动化地生成提示来替代手动构建,从而提高分析的效率和广泛应用性。
AUTOPROMPT方法基于梯度搜索策略,结合了原始任务输入和触发词(trigger tokens)集合,生成适用于所有输入的提示。通过将语言模型对提示的预测结果与相关标签词的类别概率相结合,可以将语言模型作为分类器进行评估。
论文通过多个实验证明了AUTOPROMPT的有效性。首先,研究人员使用AUTOPROMPT构建了针对情感分析和自然语言推理的提示,无需微调,仅仅使用预训练的掩码语言模型(MLMs)就可以取得良好的性能,在SST-2数据集上达到了91%的准确率,优于经过微调的ELMo模型。其次,研究人员将AUTOPROMPT应用于LAMA的事实检索任务,通过构建更有效的提示,成功提取了MLMs的事实知识。此外,研究人员还引入了一种类似于关系抽取的任务变体,测试MLMs是否能够从给定的文本中提取知识。实验结果表明,在提供真实事实的上下文句子的情况下,MLMs可以超越现有的关系抽取模型,但在提供人工Pattern模板的上下文句子时表现不佳。
最后,论文还指出AUTOPROMPT相比微调具有一定的实际优势。在低数据量情况下,AUTOPROMPT实现了更高的平均和最差情况准确率。与微调不同,使用提示的LMs不需要大量的磁盘空间存储模型检查点,一旦找到一个提示,就可以在现有的预训练LMs上使用。这在为多个任务提供模型服务时具有益处。
[2] 模型总览
编写Pattern模板既耗时又不清楚同样的Pattern模板是否适用于每个模型,以及何种标准决定了某个Pattern模板是否最适合引出所需的信息。基于这一考虑,引入了AUTOPROMPT,其结构如下图所示。
[2.1] 背景和数学符号
为了构建提示模板,区分了原始任务输入X i n p、触发令牌X t r i g和作为输入给MLM的提示X p r o m p t。通过使用模板 λ,将X i n p映射到X p r o m p t。
【注】看上图的左下方,n个[T]其实就是触发令牌X t r i g,它们就是将要被梯度下降搜索的token,最开始被[MASK]初始化,[P]才是我们平时会预测的真正的[MASK]。
————————————————
对于Verbalizer
部分,采用多映射token概率求和的形式:
[2.2] 基于梯度的提示模板搜索
思路是在prompts中添加一些被所有prompts共享的trigger tokens,就是模板中的[T], 这些token在一开始由[MASK]进行初始化,然后不断迭代更新来最大化似然估计。
在每一步中,计算出将第j个trigger token替换成另一个tokenw(w属于词汇表中的单词) 梯度的最大值。将引起最大变化的t o p − k个tokens构成候选集合V c a n d :
[2.3] 自动化标签词选择
尽管在某些任务中label tokens的选择是非常明显的,但在某些abstract class labels的问题中选择什么label tokens则是不清晰的。因此在论文中,作者提出了一种通用的两阶段用来自动选择label tokens集合V y的方法。
在第一步中,训练一个logistic classifier使用 [MASK] token作为输入来预测class label:
classifier input:
classifier output
:
【注】Pattern
会分为硬模板和软模板。AutoPrompt
属于硬模板的范畴,我个人还是觉得Soft Prompt
来训练连续的伪标记会更好一点。硬模板不管再怎么搜索,寻找的词依然是PLM
词表中的,而连续的向量自由度更高。