近几年,NLP 技术发展迅猛,特别是 BERT 的出现,开启了 NLP 领域新一轮的发展。从 BERT 开始,对预训练模型进行 finetune 已经成为了整个领域的常规范式。但是从 GPT-3 开始,一种新的范式开始引起大家的关注并越来越流行:prompting。

首先我们根据综述文章 Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing [1] 对 prompt 的来源和大致思想做个介绍。

目前的 Prompt Engineering 主要分为三种方法:Discrete Prompt,Continuous Prompt 以及 Hybrid Prompt。本文挑选了最新四篇 Continuous Prompt 相关的文章加以解读。

1. WARP: Word-level Adversarial ReProgramming

论文链接:

https://arxiv.org/abs/2101.00121

代码链接:

https://github.com/YerevaNN/warp

2. Prefix-Tuning: Optimizing Continuous Prompts for Generation

论文链接:

https://arxiv.org/abs/2101.00190

代码链接:

https://github.com/XiangLi1999/PrefixTuning

3. The Power of Scale for Parameter-Efficient Prompt Tuning

论文链接:

https://arxiv.org/abs/2104.08691

4. Multimodal Few-Shot Learning with Frozen Language Models

论文链接:
https://arxiv.org/abs/2106.13884

第一篇文章首次提出了 continuous prompt 的方法(从 adversarial programming 中得到的 insight),本文的输入需要可学习的 embedding,输出需要任务特定的输出层,也可以看作可学习的 prompt,第二篇文章中使用类似于 continuous prompt 类似的 prefix 加到 transformer 的每一层。

这个过程能否进一步简化呢?第三篇文章给出了答案,第三篇文章只对输入添加额外的  个可学习的 prompt,并得到了超越前人的结果。第四篇文章属于一篇应用,将 continuous prompt 成功的应用在了多模态领域。

内容中包含的图片若涉及版权问题,请及时与我们联系删除