【Prompt系列】(二) [论文分享] AutoPrompt:别瞎设计了,费力不讨好

这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战

本文是【Prompt系列】的第二篇。在上期中,我介绍了 Prompt 的一些入门知识,包括简单介绍了一下 “How Prompt”。其中,如何设计 prompt,即 Prompt Engineering,是一个值得深入研究的课题,也受到了海内外学者的广泛关注。本期就选取一篇 Prompt Engineering 相关的经典工作 AutoPrompt 分享给大家。

本文于 2020 年 11 月初上传至 arXiv,研究团队来自加州大学欧文分校与加州大学伯克利分校,第一作者为 Taylor Shin。
原文链接:AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts

Motivation

人工设计 prompt 是很复杂的任务,不但消耗时间,而且不清楚相同的措辞是否对每个模型都有效,也不清楚是什么标准决定了特定的措辞是否最能引出所需的信息。作者提出了一种自动创建 prompt 的方法。

Method

作者以情感分析任务为例,利用输入构建用于生成 prompt 的模板 λ ,模板定义了每个输入序列 x i n p x_{inp} 和附加标记在提示中的位置,以及 MLM 要填写的特殊 [MASK] 的位置,为了与 MLM 中的掩蔽标识区分,这里用 [P] 表示。模板的构建还包含触发器 token,即 x t r i g x_{trig} ,用 [T] 表示。

image.png

Gradient-Based Prompt Search

作者采用了一种基于梯度的 prompt 搜索方法,比较复杂,大致是这样:一开始这些 [T] 全部由 [MASK] 初始化,然后不断迭代更新,每次将一个 trigger token 替换成另一个,构成候选集和,用这些 prompt 去预测,概率较大的保留下来……(我是真没看懂,不乱介绍了……感觉有点像遗传算法?)

Automating Label Token Selection

作者还提供了一种用于自动选择标签 tokens 集合的方法:第一步,训练一个逻辑分类器,使用 [MASK] 标记的上下文嵌入作为输入来预测类标签;第二步,用 MLM 的输出字嵌入替换,依然以预测概率的值作为得分。然后,从k个得分最高的单词构建标签标记集。(我的个人理解是,预测概率的值最大说明模型能根据这个输入给出一个自己更加确信的结果,间接说明了输入是合理的,而不是混乱无意义的。)

Experiment

image.png

总之就是效果还不错,在小样本的情况下,比手动设计 prompt 的方法效果更好,准确率直逼 fine-tuning,甚至某些情况下还达到了 SOTA。

Summary

作者设计了一种自动设计 prompt 的方法,效果还不错。相比于 fine-tuning,prompt 在不引入额外参数并微调的情况下,也能胜任下游任务,并且可能得到更好的效果;相比于手动设计 prompt,AutoPrompt 能从 MLMs 中发掘出更多的 factual knowledge。


往期推荐:

【Prompt系列】(一) 简介:NLP又出新范式?预训练新宠Prompt有点火 - 掘金 (juejin.cn)

おすすめ

転載: juejin.im/post/7062738936673763364