comments: true title: "P-Tuning:解决人工设计Prompt的问题" 前言 不论是 还是 都需要手动设计离散的提示词,于是清华大学与麻省理工学院的学者们合作提出了P-Tuning方法,即通过连续可学习的prompt embedding来高效地微调大规模语言模型。 核心思想 ptuningexample 具体来说, 在输入序列的不同位置插入一系列特殊token [P],每个[P]对应一个可学习的embedding向量。这些连续的 prompt embedding与离散文本的embedding共同构成模型的输入。 的创新之处在于构建一个(Prompt)软化的可学习的嵌入层(Embedding Layer)。
comments: true title: "P-Tuning:解决人工设计Prompt的问题"
不论是Prefix Tuning还是Prompt Tuning都需要手动设计离散的提示词,于是清华大学与麻省理工学院的学者们合作提出了P-Tuning方法,即通过连续可学习的prompt embedding来高效地微调大规模语言模型。

具体来说,P-Tuning在输入序列的不同位置插入一系列特殊token [P],每个[P]对应一个可学习的embedding向量。这些连续的 prompt embedding与离散文本的embedding共同构成模型的输入。
P-Tuning的创新之处在于构建一个(Prompt)软化的可学习的嵌入层(Embedding Layer)。

P-Tuning的整体框架如下:
P-Tuning引入了prompt编码器来建模[P] token之间的依赖关系。
常用的编码器包括:
实验表明LSTM和MLP通常效果较好,而简单的线性层在某些任务上可能不稳定。
P-Tuning的训练目标是最小化下游任务的损失函数。以分类任务为例:
其中 x_prompt 是加入连续prompt后的输入,f 是预训练语言模型,y 是真实标签。
在推理时,P-Tuning将训练好的prompt embedding与输入文本拼接,直接送入预训练模型即可。这既避免了离散prompt搜索的复杂性,又保持了较低的参数量和计算开销。
与传统方法相比,P-Tuning具有以下优势:
当我们了解完Prefix-Tuning后,再来理解P-Tuning,会发现常常将二者混淆,因为它们都是为了解决人工设计提示的问题。
| 特点 | Prefix Tuning |
P-Tuning |
|---|---|---|
| 嵌入位置 | 倾向于在模型初始输入的嵌入层 (embedding) | 更为灵活的嵌入位置 |
| 实现方法 | 在每个注意力层增加独立小型输入嵌入装置,并使用多层感知机 (MLP) 进行初始化 | 仅在输入部分增加,并通过长短期记忆网络 (LSTM) 加MLP进行初始化 |
P-Tuning为大规模语言模型的高效适配提供了一种新的范式。它巧妙地结合了离散prompt的先验知识和连续embedding的可学习性,在多种设置下都展现出了优异的性能。