LLM基础模型系列:Prefix-Tuning
先看一个关键区别:上一期聊的Prompt Tuning只在输入层动手脚,而Prefix Tuning则是向每一层Transformer Block都插入了可训练的张量。这就像一个是只在门口贴纸条,另一个是每层楼道都放上了可调节的提示牌。

具体怎么实现的呢?它通过一个两层的迷你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就是新提出的方法。结果说明,这项技术确实有可取之处。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名