文|庞德公
编辑|郭嘉
Prefix Tuning和Prompt Tuning最大的区别就是向每层的Transformer Block添加可训练的张量,而上一期的Prompt Tuning只是在输入的时候添加。
此外,通过全连接层(具有两层的迷你MLP和介于两者之间的非线性激活函数)来进行桥接。下图左侧为原始的Transformer块,而右侧为添加之后的Prefix Tuning架构。
根据最初的Prefix Tuning的论文,这种技术实现了与全微调的性能,然而只需要训练0.1%的参数(当然当时它对标的是GPT-2模型)。有一种猜测它的表现如此的好,是因为它调整了较少的参数,有助于减少较小训练上面的过渡拟合。下面第一行为全部参数微调训练,第五行为Prefix Tuning。
其实这个家族还有一个叫做P-Tuning的,它分为1.0版本和2.0版本。1.0版本和Prompt Tuning的区别在于额外Token的填充位置,1.0在输入序列的任意位置插入可训练的连续提示向量,使用一个小型的神经网络(比如LSTM)来生成这些提示向量。2,.0在模型的每一层都添加了可训练的提示向量,类似于 Prefix-tuning,它简化了提示向量的生成方式,直接对这些向量进行优化,而不使用 LSTM。
2023年5月份的Adaptive Prefix Tuning提出新的架构,它将额外的prefix加在K和V的输入前面,<一直以来,相信读者都默认QKV的尺寸是相同的,这个时候只在K和V加上,能对得上尺寸么!>这里就留个家庭作业,让读者推敲一下,为什么是可行的~
下面为它的评测指标,分别在在SuperGLUE开发集和NER 测试集上进行。SuperGLUE的指标是准确率,其他是micro-f1分数。其中FT代表最普通的微调,PT-2就是上文中P-Tuning 2.0版本,而APT就是新提出的方法。结果表明这项技术还是可取的~