7、prefix-tuning、P-tuning、Prompt-tuning
7.1 prefix-tuning主要观点
Prefix-tuning是⼀种参数⾼效的微调⽅法,主要⽤于⾃然语⾔处理任务。它通过在预训练语
⾔模型(如GPT-2、T5等)的输⼊序列前⾯添加⼀段可训练的前缀(prefix),实现对下游任
务的适应,⽽⽆需更新原有的⼤量模型参数。
Prefix-tuning的主要观点是在输⼊序列的前⾯插⼊⼀段可训练的前缀,利⽤这段前缀的特征
来引导模型的输出。与全参数微调或其他参数⾼效的微调⽅法(如Adapter、LoRA)不同,prefix-tuning不直接改变模型的内部结构或权重,⽽是通过对输⼊进⾏扩展,以较⼩的参数开销适应下游任务。


7.2 P-tuning
P-tuning的核⼼思想是在任务输⼊序列的前⾯插⼊⼀段可训练的连续提⽰向量。这些提⽰向量在训练过程中不断优化,以调整语⾔模型在特定任务中的⽣成或理解⾏为。与传统的参数⾼效微调⽅法(如Adapter或prefix-tuning)相⽐,P-tuning不改变模型的结构或权重,⽽是通过优化前缀(提⽰向量)的表⽰来影响模型的⾏为。 主要观点包括:

7.3 Prompt-tuning
Prompt-tuning是⼀种专注于优化提⽰(prompt)来提升预训练语⾔模型在下游任务中性
能的技术。它通过对提⽰部分进⾏训练,⽽不修改模型参数,从⽽实现对⼤规模语⾔模型的
⾼效适应。Prompt-tuning能够以较少的参数调整,获得接近甚⾄超过传统微调⽅法的性
能,尤其适⽤于⼤规模预训练模型(如GPT-3、T5等)。
Prompt-tuning的核⼼思想是在输⼊序列前插⼊⼀个可训练的提⽰(prompt),这些提⽰不再是离散的⽂本,⽽是连续的嵌⼊向量。通过对提⽰向量进⾏训练,可以有效引导模型输出更符合任务⽬标的 结果。主要观点包括:
参数⾼效: 仅优化提⽰向量,⽽保持模型的其他参数冻结。相⽐传统的微调⽅法,Prompt
tuning在参数更新上具有显著的优势。
⼤模型适应性强: Prompt-tuning在⼤规模预训练模型(如数⼗亿参数模型)上表现尤为出⾊,能够充分利⽤⼤模型的知识进⾏任务适应。
任务转换能⼒强: 通过修改或优化提⽰,可以在多个任务之间快速切换,⽽⽆需对每个任务都进⾏全参数训练。

特性 | Prompt-Tuning | Prefix-Tuning | P-Tuning (v1) | P-Tuning v2 |
---|---|---|---|---|
灵感来源 | 模仿离散提示词 | 受Prompt启发,为序列添加“上下文” | 改进离散提示和Prefix-Tuning | 统一和改进P-Tuning和Prefix-Tuning |
可训练参数位置 | 仅在输入层(序列开头添加软提示) | 每一层的输入端(序列开头添加软提示) | 主要在第一层(使用LSTM编码器产生提示) | 每一层(都添加可学习的提示向量) |
参数形式 | 可学习的嵌入向量(软提示) | 可学习的矩阵(软前缀) | 由小型LSTM网络生成的嵌入向量 | 可学习的嵌入向量(类似Prefix,但结构不同) |
训练稳定性 | 非常稳定 | 不稳定,需要复杂的初始化 | 较稳定(通过LSTM编码) | 稳定,引入了深度提示和梯度传递 |
模型架构兼容性 | 主要适用于自回归(如GPT)或编码器-解码器模型 | 主要适用于自回归(如GPT)和编码器-解码器模型 | 主要设计用于自编码(如BERT)模型 | 通用(自回归、自编码、编码器-解码器) |
性能 | 模型很大时(>10B)效果接近全量微调 | 效果好,但早期版本不稳定 | 在NLU任务上表现良好 | 性能强劲,在小模型上也能接近全量微调效果 |