内容来自于学习知乎相关问题回答后,汇总如下
《Prefix-Tuning: Optimizing Continuous Prompts for Generation》
《P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks》
在P-tuning v2文章中有说"Technically, our approach P-tuning v2 is not conceptually novel. It can be viewed as an optimized and adapted implementation of Deep Prompt Tuning (Li and Liang, 2021; Qin and Eisner, 2021) designed for generation and knowledge probing."。其中Li and Liang 2021就是Prefix-tuning。
当基座是 GPT-2 / BART 等 NLG 模型时,它叫 Prefix-tuning;如果换到 BERT / RoBERTa / DeBERTa 来做 NLU 任务,那么就改名为 P-Tuning-v2。
总的来说,相较于Prefix-tuning,P-tuning v2主要是针对NLU任务做了两点修改:
1.针对NLU任务去除reparameterization
重参数化(Reparameterization)即Prefix-Tuning 放在PrefixEncoder里的MLP层,然而P-tuning作者发现MLP的作用在不同的任务和数据集上有区别,在比如BoolQ and CoNLL12上有负作用。因此P-tuning v2中就把这个给去掉了,也就是那个MLP或者LSTM。
2.在进行NLU任务的过程中,采用与BERT中一样的MLP分类头而不是verbalizers,即Verbalizer + LM head” 调整成 “CLS + MLP head”
因为verbalizers不适合序列标注问题,使用分类头使得其适用于NLU任务