AutoPrompt初步了解

Prompt是什么

NLP发展的四个阶段
(1)完全有监督机器学习:word本质是特征,主要在做特征工程
(2)完全有监督深度学习:开始搞卷积和Attention
(3)预训练:预训练 --> 微调 --> 预测:无监督方法比如BERT+finetune适应下游任务
(4)提示学习:预训练 --> 提示 --> 预测:让下游任务来适应语言模型。

使用Prompt的原因:尽可能在下游任务中使用模型时与pretrain阶段的任务一致。所以重新定义下游任务,统一为pretrain语言模型任务。实现下游任务标数据驱动。

Prompt思想

上下游任务一致。

由此衍生出auto prompt、soft prompt、连续Prompt等。

比较BERT和GPT
(1)BERT在finetune让数据驱动参数变化
(2)GPT使用Prompt让语言通顺,pretrain也是使用通顺的语料。预训练语言模型的知识当当丰富,没有必要为利用它而重构。

Cloze Prompt VS Prefix Prompt

Cloze Prompt:对应Prompt在句中,pretrain用自回归语言模型解决生成任务。
Prefix Prompt:对应Prompt在句末,pretrain用自编码语言模型解决掩码任务。

Hard Prompt: Discrete Prompt

(1)搜索空间是离散的。需要算法工程师在下游任务上具备丰富的经验以及了解原预训练模型的底层概念。
(2)一般的hard prompt准确率会不如fine-tuning的SOTA,不同的Prompt对模型的影响非常大(提示的长度、词汇的位置,一点Prompt的微笑差异也能造成效果的巨大差异)

需要如下的要求:

  • 设计一个合适的提示模板,创造一个完形填空的题目。
  • 设计一个合适的填空答案,创造一个完形填空的选项。

Step1:构造Prompt。
Step2:构造MASK token映射。

AutoPrompt

Motivation:由于Prompt的设计强依赖于人为因素,Prompt几个字都能导致模型效果有巨大变化。为了减少人工设计的去『构造Prompt』和『构造MASK token映射』,提出了AutoPrompt。

分类

(1)Prompt Mining:从巨大的语料库中进行挖掘,比如输入与输出之间的高频词作为模板构建元素。
(2)Prompt Paraphrasing:参考文本数据增强方法,可以做seed Prompt的同义词替换,跨语种翻译等。
(3)Gradient-based Search:从候选词中选择一些作为Prompt并参与训练,根据梯度下降对选择词重新排列组合。?
(4)Prompt Generation:通过文本生成模型直接生成一个Prompt
(5)Prompt Scoring:根据语言模型对所有候选Prompt打分,选择一个最高分的Prompt使用上述Hard Prompt方法会输出可被人类理解的句子。

步骤

去除人工设计带来的变数,自动执行下面两步。【没看懂】
Step1: 构造Prompt,选择loss下降最大的Prompt token,先给定mask映射词,也就是:[CLS] {sentence} [T] [T] [T] [MASK]. [SEP],先用假设的[T],获取[MASK],再用得到的[MASK]映射,用数据驱动选择[T]
Step2:构造MASK token映射,使用上下文的MASK token的output embedding作为x,与label训练一个logistic,logistic得分高的向量更能表示label。使用上下文MASK token的output token的embedding给打分函数,取得分top-k。

举个例子

  • 关系抽取任务
  • 预测 Dante was born in [T] [T] [T] [T] [Mask][MASK] 的遮蔽部分。[T]是用来引导模型的触发词(trigger word)。触发词就是 Prompt 信息,这些触发词可以提升语言模型的分类能力。
  • 【掩码】直接追加到文本后面、让语言模型去预测。预测多个词语比较困难,因此将所有的类别表示为单个token;只预测客体(Dante was born in [Mask]),不预测主体(In [Mask] Dante was born)和关系。
  • 【触发词】trigger word:Prompt信息,触发词可以直接提升语言模型在下游任务中的能力。

代表论文

https://arxiv.org/pdf/2010.15980
AUTOPROMPT: Eliciting Knowledge from Language Models with Automatically Generated Prompts
https://gitcode.com/ucinlp/autoprompt

Main points

预训练语言模型(LMs)在预训练后能够捕获多种知识类型,但直接评估这些知识存在难度。
AUTOPROMPT是一个自动化的提示生成方法,用于评估预训练LMs中的知识。
AUTOPROMPT使用梯度引导搜索来创建有效的提示,无需手动努力。
该方法通过结合原始输入和触发词,并使用模板来形成提示。
通过边缘化相关的标签词,可以从MLMs中提取类别概率。
在情感分析和自然语言推理(NLI)任务中,AUTOPROMPT生成的提示在没有微调的情况下表现出色。
在事实检索任务中,AUTOPROMPT生成的提示比手动和挖掘方法创建的提示更有效。
在关系提取任务中,MLMs使用AUTOPROMPT生成的提示可以比现有的监督关系提取模型更有效地提取知识。
AUTOPROMPT在低数据环境下可能比微调更有效,并且在实际应用中具有存储和部署上的优势。
尽管AUTOPROMPT是一个有用的工具,但它在某些情况下可能难以提取特定的现象,并且生成的提示可能缺乏可解释性。

问题与方案

问题:

  • 文档主要解决的问题是如何有效地从预训练语言模型(LMs)中提取知识。尽管这些模型在预训练后表现出色,但直接评估它们在预训练阶段学到的知识类型(如语言知识、事实知识、常识或特定任务知识)存在难度。

方案:

  • 为了解决这个问题,研究者们开发了AUTOPROMPT,一个自动化方法,用于为多种任务创建提示(prompts),这些提示基于梯度引导搜索来生成。

核心步骤

AUTOPROMPT的核心步骤可以解释如下:

  • 任务输入与模板结合:首先,确定任务的原始输入数据,并选择一个模板来构建提示。例如,在情感分析任务中,原始输入可能是电影评论。
  • 触发词的初始化与学习:在提示中,使用一组初始化为[MASK]的触发词。这些触发词在后续步骤中会被更新,以提高模型预测正确类别的概率。
  • 梯度引导的搜索:利用基于梯度的搜索策略来迭代更新触发词。这个过程涉及到计算词汇表中每个词与当前触发词交换后对标签似然性的影响,并选择最有可能提高似然性的词来替换触发词。
  • 生成最终提示:通过上述步骤,最终生成一个能够引导语言模型准确预测任务类别的提示。

举例来说,如果任务是情感分析,原始输入可能是一句电影评论。AUTOPROMPT会使用一个模板,比如“[sentence] is really [MASK].”,并将触发词如“atmosphere”、“dialogue”等嵌入到模板中,形成如“[sentence] is really atmosphere dialogue [MASK].”的提示。然后通过梯度引导搜索来优化这些触发词,最终得到一个能够准确预测情感类别的提示。

结论

  • 研究结果表明,使用AUTOPROMPT生成的提示可以有效地从预训练的掩码语言模型(MLMs)中提取知识,而且与手动创建的提示相比,不需要额外的参数或微调,有时甚至能达到与最新监督模型相当的性能。此外,研究还发现AUTOPROMPT在低数据环境下比微调有更好的性能,并且在实际应用中提供了一些优势,比如不需要存储大量的模型检查点。

关键论述

"These tokens are initialized to [MASK] tokens, and then iteratively updated to maximize the label likelihood over batches of examples." 这句话说明了触发词最初被设置为[MASK]标记,然后通过迭代更新以最大化标签似然性。

"Formally, at each step, we compute a first-order approximation of the change in the log-likelihood that would be produced by swapping the jth trigger token with another token in the vocabulary." 这里描述了计算过程,即在每一步中计算交换第j个触发词与词汇表中的另一个标记所产生的对数似然变化的一阶近似。

"Then we identify a candidate set of the top-k tokens estimated to cause the greatest increase:" 这句话指出了如何确定一组候选词,这组词是预计能带来最大增加的前k个标记。

"In this paper, we introduce AUTOPROMPT—an automated method for generating prompts for any task, illustrated in Figure 1. Given a task, e.g., sentiment analysis, AUTOPROMPT creates a prompt by combining the original task inputs (e.g. reviews) with a collection of trigger tokens according to a template." 这句话概述了AUTOPROMPT自动化生成任务提示的方法,它通过结合原始任务输入和触发词来创建提示。

"The same set of trigger tokens is used for all inputs, and is learned using a variant of the gradient-based search strategy proposed in Wallace et al. (2019)." 这里提到了触发词集合对所有输入都是相同的,并且是使用基于梯度的搜索策略的变体学习的。

"The prompt is constructed by taking the original task inputs—a collection of one or more sequences of tokens (e.g., the review in Figure 1)—and mapping them to a sequence of tokens using a template." 这句话说明了提示的构建过程,它涉及将原始任务输入(一个或多个token序列)映射到使用模板的token序列。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容