Press "Enter" to skip to content

一文带你概览Prompt工作新进展

基于EMNLP,ICLR,ACL,arXiv投稿论文带你来看8月以来prompt近期工作。题图来源于[1]。

 

作者简介 :唐天一,中国人民大学高瓴人工智能学院硕士一年级,导师为赵鑫教授,研究方向为自然语言处理。

 

导读

 

Prompt Learning(提示学习)已经成为现在NLP研究的第四范式[1],现在已经成为NLP领域一大热点。刘鹏飞博士在7月的综述[1]更是将Prompt系统性地进行了总结,让更多人所熟知。自8月以来,据笔者粗略统计,约为109篇关于Prompt的论文发表在EMNLP 2021、arXiv或投稿ICLR 2022、ARR(ACL 2022所采用的每月滚动评审机制)。笔者从中挑选了13行解读,欢迎大家批评和交流。

 

根据[1]中的分类,我们根据论文的创新点分成Prompt Engineering,Answer Engineering和Multi-Prompt Learning来进行整理讨论,每个类别里根据论文出现的时间进行排序。

 

Prompt Engineering

 

PPT: Pre-trained Prompt Tuning for Few-shot Learning – 9.9 ARR Oct.

本文探究了针对超大模型的 预训练的Soft Prompt ,在NLU任务中进行了小样本实验。首先作者通过先导实验得出了4个结论:①Verbalizer的选择对结果有很大影响;②将Soft Prompt初始化为具体单词的Embedding并不能提升性能;③使用Hard和Soft的混合Prompt有帮助;④Google提出的Prompt Tuning[2]并不能在小样本场景下取得和微调一样的效果。因此引出了Soft Prompt预训练的想法。

 

论文的Prompt框架是,基于Hard和Soft的混合完形填空式Prompt,人工设计的Answer,以T5-XXL(英文)为框架,只微调Soft Prompt。论文提出将NLU任务划分为三种:单句分类(情感分类)、句子对分类(NLI)、多选分类(阅读理解),同时这三种任务也可以统一为多选分类任务。然后, 在大规模无标注语料上设计针对三种任务的自监督任务 ,依次达到预训练Soft Prompt的目的。例如,对于句子对分类的任务,作者使用了 作为Prompt,有三个候选Answer:no,maybe,yes,如果 相邻则为yes,在同一个文档则为maybe,在不同的文档则为no。最终,PPT在仅微调极少量参数的情况下,和完全微调模型向媲美。但是本文仍有一些细节未进行说明,比如预训练语料,如何映射label,PPT在全量数据集的结果等。

 

P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks – 10.14 arXiv

该论文聚焦于通用NLU任务的提示方法。Prompt架构类似于Prefix-Tuning[3],在Transformer的 每一层前加上连续型Prompt ,利用[CLS]进行预测(没有Verbalizer),模型尝试了BERT-Large,RoBERTa-Large等,仅微调Prompt参数。笔者认为论文的想法和写作一般,但是进行了 大量实验 ,有一些 结论值得借鉴 。例如进行了Prompt长度、层数、重参数方法、多任务、verbalizer探究,并在一些序列标注任务上进行了实验。

 

Towards Unified Prompt Tuning for Few-shot Learning (UPT) – 11.15 ARR Nov.

本文聚焦小样本的NLU任务。论文的想法有点类似于PPT, 通过额外的自监督任务来使得预训练模型适应Prompt 。具体地,论文 设计了统一的Prompt-Answer-Verbalizer框架 ,即[INPUT] Is it [x1] or [x2]? It is [MASK];然后作者设计了自监督任务,在无标注[INPUT]上Mask形容词(与大部分NLU任务一致),然后将其作为[x1],再挑选意思相反的形容词作为[x2],最后让模型去预测结果。模型骨架是RoBERTa-Large,微调模型参数。

 

Answer Engineering

 

Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification (KPT) – 8.4 ARR Sept.

本文聚集于文本(主题、情感)分类。Prompt是人工设计的完形填空式;论文的重点是在Answer的映射段,首先 使用KB查询label的相关词作为候选集 ,然后提出了3种方法 对候选集进行去噪 (即删去一些候选词),最后采用平均或者加权平均候选集的方法得到标签;最后模型使用RoBERTa-Large,微调所有参数,在零样本和小样本场景有了一定提升。

 

Prompt-Learning for Fine-Grained Entity Typing (PLET) – 8.24 arXiv

本文聚焦于细粒度实体分类问题。在有监督场景下,该论文方案比较常规,Prompt是完形填空式,尝试了人工提示、连续型提示两种方法;在Answer映射时与该Label相关的词都加入候选集;论文使用了BERT-Base作为骨架,训练时微调所有参数,该方案在小样本场景相比传统微调有大幅提升。论文有意思的地方是在零样本场景,认为 不同句子的同一个实体在候选集上的预测分布应该越相似越好 (虽然笔者不是非常认同这个观点),因此采用了对比学习的办法基于少量的标注数据和大量的无标注数据进行自监督学习。

 

Prototypical Verbalizer for Prompt-based Few-shot Tuning – 11.15 ARR Nov.

本文聚焦于小样本场景下的文本分类任务。与WARP[4]的Soft Verbalizer思想有点类似,本文使用对比学习更加显示地来 学习每个Soft Label 。具体地,Prompt是人工设计的完形填空式,在训练时,可以得到每个[MASK]的表示,然后我们希望 同一个Label下的[MASK]表示尽可能接近 ,并由此学习一个Label的Soft Prompt;模型基于RoBERTa-Large,微调所有参数。但是本论文的结果并不能比过精心设计的Verbalizer,只是在搜索式、连续式中有提升。

 

Multi-Prompt Learning

 

Finetuned Language Models Are Zero-Shot Learners (FLAN) – 9.3 ICLR 2022

本文提出了基于超大模型的零样本学习方法,该论文正接受ICLR 2022评审,获得4个8分的高分。本文针对62个数据集,每个精心设计了10组人工Prompt和Answer(文中所提的Instruction),然后利用一个预训练的137B的Decoder-only的模型(不是GPT-3,是作者自己利用无标注数据预训练的)结合 精心设计的Instruction在60多组数据上进行全参数微调,最后零样本迁移到其他的任务 中去。结果表明在大部分数据集上FLAN优于GPT-3,甚至优于GPT-3的小样本学习(专指Demonstration Learning),特别地,FLAN在容易表示成Instruction的任务(NLI,QA)中非常有效,在补全句子(语言建模)这类任务(常识推理,共指消解)中并不是很有效。

 

SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer – 10.15 arXiv

本文聚集于小模型的Soft Prompt学习(可以看做一种预训练)。Prompt Tuning[2]证明了在模型足够大的时候,仅微调Prompt可以媲美微调模型,但是在小模型上还不足以。因此本文提出了 Soft Prompt的迁移学习 ,先在 源任务集上学习自己的Prompt ,然后将其 作为目标任务的Prompt初始化 。本文基于Prompt Tuning的Prompt架构,仅在输入前拼上Soft Prompt,然后基于各种尺度的T5,训练微调时仅学习Soft Prompt。论文尝试了几组源任务,发现以GLUE作为源任务,迁移到GLUE和SuperGLUE上效果最佳。但是,笔者发现不同的源任务选择对结果影响较大,有的源任务甚至会低于Prompt Tuning,作者并未提出较优的选择源任务的方法,主要是启发式的人工尝试。

 

Multitask Prompted Training Enables Zero-Shot Task Generalization (T0) – 10.15 ICLR 2022

本文和FLAN思想相似,该论文正接受ICLR 2022评审,获得了8863的得分。本文与FLAN的区别是,基于11B的T5+LM-XXL(Prompt Tuning论文中使用)在171个数据集上使用了近2000个精心设计的Prompt和Answer进行多任务学习。该论文还开发了Prompt模版协作平台,Prompt更加贴合任务特点。最终结果超过GPT-3,与FLAN可比,并且Prompt鲁棒性更好。

 

Exploring Low-dimensional Intrinsic Task Subspace via Prompt Tuning (IPT) – 10.15 ARR Nov.

本文是一篇分析性工作,主要利用Prompt Tuning[1]聚焦小样本场景下预训练模型中低维度内在任务子空间。IPT基于[1]的Prompt架构,在输入前加上Soft Prompt,以BART作为骨架。论文的核心内容是,先在 多任务场景下训练一个Prompt的Auto-encoder ,即通过一个Encoder将Soft Prompt编码成任务特定的低维子空间,再通过一个Decoder将其恢复成Soft Prompt;之后在迁移到新任务时,我们 固定Decoder ,只需要 训练一个低维的任务特征向量 。作者实验发现,在多任务学习阶段,将Prompt到低维空间再恢复相比Prompt Tuning有所提升,说明了低维的任务子空间的确存在;同时只需要学习一个5~100维的任务特征向量,对于一个新的数据集可以达到Prompt Tuning效果的80%,对于新的任务可以达到60%。但是,该发现还值得进一步研究,使重构子空间可以获得更好的表现和泛化性。

 

On Transferability of Prompt Tuning for Natural Language Understanding (TPT) – 11.12 arXiv

本文聚焦于跨任务、跨模型的Soft Prompt学习。论文的Prompt框架、想法与SPoT一致,模型骨架是RoBERTa-Base。在跨任务迁移中,论文发现相似任务的Soft Prompt可以进行零样本学习,并在全量数据下提升效果,并且加快收敛速度(缓解Prompt Tuning收敛慢的问题);同时,论文发现Soft Prompt对Transformer的FFN中的激活神经元的重合度,相比于Soft Prompt本身的矩阵相似度,可以更好地度量两个任务的相似度,以此更好地选择源任务Prompt。但在跨模型迁移中,用一个模型的Soft Prompt映射到另一个模型的方法,并不能取得提升。

 

TransPrompt: Towards an Automatic Transferable Prompting Framework for Few-shot Text Classification – 11.6 EMNLP 2021

本文聚集于小样本NLU任务。该论文的Prompt框架基于P-Tuning[5],在输入两端加上连续型Prompt,并用BiLSTM进行编码,最后进行完形填空式预测,模型用RoBERTa-large作为骨架,微调所有参数。论文的核心想法是每一个任务使用一个Prompt,外加一个 Universal的Prompt学习通用知识 (考虑任务间迁移性),然后进行 多任务训练 。同时还提出了针对小样本场景提出了Prototype-based和Entropy-based两种去偏方法。最终模型在小样本和全量数据场景下都超越了基线模型。

 

Contrastive Demonstration Tuning for Pre-trained Language Models (Demo-Tuning) – 11.15 ARR Nov.

本文聚集于NLU的Demonstration Learning(GPT-3中的In-context Learning)。作者借鉴了Soft Prompt的思想, 提出了Soft Demonstration (笔者命名)想法,缓解了Hard Demonstration采样偏差大、长度受限的问题。论文使用对比学习,训练时交替保留正负例的Hard Demonstration,学习另一个的Soft Demonstration。模型骨架是RoBERTa-Large,微调所有的参数。

 

参考文献

 

[1] Pre-train, Prompt, and Predict A Systematic Survey of Prompting Methods in Natural Language Processing

 

[2] The Power of Scale for Parameter-Efficient Prompt Tuning

 

[3] Prefix-Tuning Optimizing Continuous Prompts for Generation

 

[4] WARP: Word-level Adversarial ReProgramming

 

[5] GPT Understands, Too

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注