【提示学习】AUTOPROMPT: Eliciting Knowledge from Language Models with Automatically Generated Prompts

简介: Prompt任务需要构建合适的Pattern,但是编写合适的Pattern需要手动工作和人为猜测,有很大的不确定性。为了解决这个问题,提出AUTOPROMPT模型,基于梯度下降搜索来创建Pattern。

阅读摘要


 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:


image.png


【注】Pattern会分为硬模板和软模板。AutoPrompt属于硬模板的范畴,我个人还是觉得Soft Prompt来训练连续的伪标记会更好一点。硬模板不管再怎么搜索,寻找的词依然是PLM词表中的,而连续的向量自由度更高。

相关文章
|
11月前
|
机器学习/深度学习 数据挖掘
【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification
本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。
166 0
|
4月前
|
自然语言处理 算法 Python
[SentencePiece]论文解读:SentencePiece: A simple and language independent subword tokenizer...
[SentencePiece]论文解读:SentencePiece: A simple and language independent subword tokenizer...
62 0
|
4月前
|
Python
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
35 0
|
11月前
|
数据挖掘
【提示学习】Automatic Multi-Label Prompting: Simple and Interpretable Few-Shot Classification
文章提出了一种简单确高效地构建verbalization的方法:
|
自然语言处理 算法 vr&ar
X-GEAR:Multilingual Generative Language Models for Zero-Shot Cross-Lingual Event Argument Extraction
我们提出了一项利用多语言预训练生成语言模型进行零样本跨语言事件论元抽取(EAE)的研究。通过将EAE定义为语言生成任务,我们的方法有效地编码事件结构并捕获论元之间的依赖关系。
102 0
|
11月前
|
自然语言处理 数据挖掘 数据处理
【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。   本文基于PVP,提出PET与iPET,但是关注点在利用半监督扩充自己的数据集,让最终模型学习很多样本,从而达到好效果。
|
11月前
|
数据挖掘
【提示学习】Prompt Tuning for Multi-Label Text Classification: How to Link Exercises to Knowledge Concept
文章这里使用的是BCEWithLogitsLoss,它适用于多标签分类。即:把[MASK]位置预测到的词表的值进行sigmoid,取指定阈值以上的标签,然后算损失。
|
11月前
|
自然语言处理 数据挖掘 知识图谱
【提示学习】Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classific
目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。   本文是在Verbalizer(标签映射器)方面做出的创新。   文章思路是数据增强+去噪,不过数据增强在于verbalizer对于label space至expanding word space的映射,引入外部的扩展标签词集,辅助分类,去噪并不新颖,就是在细化两个场景,zeroshot滤掉扩展标签词集的低频词,并上下文校验。fewshot则是引入可学习权值,减小噪声影响。
128 0
|
人工智能 自然语言处理 算法
Tree of Thoughts: Deliberate Problem Solving with Large Language Models
Tree of Thoughts: Deliberate Problem Solving with Large Language Models
306 0
【COT】Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
【COT】Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
205 0