【第四章:大模型(LLM)】10.微调方法与实战-(2)P-tuning
P-tuning是华为诺亚方舟实验室提出的大模型微调方法,通过引入可微分提示编码器改进PromptTuning的局限性。其核心是训练小型神经网络(如BiLSTM/MLP)动态生成提示表示,而非直接优化静态向量。方法流程包括:初始化虚拟token、编码器处理、拼接输入和下游任务训练。相比PromptTuning,P-tuning具有参数高效、表达力强、任务适配性好和收敛快等优势,适用于文本分类、信息
第四章:大模型(LLM)
第十部分:微调方法与实战
第二节:P-tuning
1. 背景与提出动机
Prompt Tuning 通过在输入前拼接可学习的向量提示来微调大模型,但在实践中存在两个局限:
-
表示能力有限:简单的前缀嵌入难以捕获复杂任务需求。
-
收敛效率较低:对长输入或复杂下游任务,效果不稳定。
为此,华为诺亚方舟实验室提出了 P-tuning,在 Prompt Tuning 基础上引入 可微分提示编码器,通过连续化的嵌入优化提升模型对任务的适配能力。
2. 核心思想
P-tuning 不再直接优化一组静态的 prompt embedding,而是训练一个 小型神经网络(prompt encoder) 来生成动态的提示表示。
-
输入:任务相关的虚拟 token 序列(可学习 ID)。
-
处理:通过一个小型的 BiLSTM/MLP(或 Transformer)对这些 ID 进行编码。
-
输出:生成一组上下文相关的 prompt embedding,拼接到原始输入序列前。
这样,提示向量具备更强的表达能力,并且能更好地泛化到不同任务。
3. 方法流程
-
初始化虚拟 token:定义若干个任务专属 token(例如
<P1> <P2> ... <Pm>
)。 -
提示编码器:通过 BiLSTM/MLP 对这些 token 进行编码。
-
拼接输入:将编码后的提示向量拼接到任务输入(如文本序列)前。
-
下游任务训练:冻结预训练模型参数,仅训练提示编码器和下游分类/预测层。
4. 公式描述
设任务输入为 ,提示 token 序列为
。
-
提示编码器:
其中 fθf_\theta 是可训练的编码器(BiLSTM/MLP)。
-
拼接后输入模型:
-
下游损失函数(如分类任务):
5. 特点与优势
-
参数高效:仅需训练编码器和少量提示 token,预训练模型完全冻结。
-
表达力强:编码器能建模复杂任务语义,比静态 embedding 更灵活。
-
任务适配性好:适用于分类、生成、信息抽取等不同任务。
-
收敛更快:在少样本场景下表现更佳。
6. 实际应用
-
文本分类:新闻分类、情感分析。
-
信息抽取:命名实体识别、关系抽取。
-
问答系统:在小样本下游 QA 任务中表现优于 Prompt Tuning。
7. 与 Prompt Tuning 的对比
特性 | Prompt Tuning | P-tuning |
---|---|---|
提示形式 | 直接学习静态向量 | 通过编码器生成动态向量 |
表达能力 | 较弱 | 较强 |
参数规模 | 少 | 稍多(增加编码器参数) |
收敛速度 | 慢,效果不稳定 | 快,效果更好 |
泛化能力 | 有限 | 更好,适应多任务 |
更多推荐
所有评论(0)