【第四章:大模型(LLM)】10.微调方法与实战-(1)Prompt Tuning
第四章:大模型(LLM)
第十部分:微调方法与实战
第一节:Prompt Tuning
1. 背景与动机
大规模语言模型(LLM)在预训练过程中学习了通用语言知识和世界知识,但在具体下游任务(如情感分类、问答、摘要生成)中,直接使用模型往往表现不足。
传统方法如 全参数微调(Full Fine-tuning) 需要更新所有模型参数,代价昂贵且存储开销大。为此,人们提出了 参数高效微调(PEFT, Parameter-Efficient Fine-Tuning) 方法,其中 Prompt Tuning 是最早期、最具代表性的一种。
2. Prompt Tuning 的核心思想
核心理念:冻结大模型参数,只在输入端加入 可学习的提示向量(soft prompt) 来引导模型完成任务。
与手工 Prompt 的区别:
手工 Prompt → 通过人类编写文本提示(例如:“请判断这句话的情感是积极还是消极”)。
Prompt Tuning → 学习一组连续的向量(embedding),模型直接将其视作输入的一部分。
3. 方法原理
冻结 LLM 参数:保持预训练好的 Transformer 权重不变。
添加可训练的 Prompt 向量:
在输入序列前(或中间、后部)插入 $m$ 个可学习的 embedding。
这些 embedding 与词向量维度相同,初始化可随机或从词表中选取。
联合训练:
仅更新这 $m$ 个 Prompt embedding 的参数,使用下游任务的监督信号进行优化。
模型前向计算时,等价于 “输入 = prompt embedding + 原始输入 embedding”。
4. Prompt Tuning 的特点
优点:
极大减少需要训练的参数(通常 < 0.1%)。
不改变原始模型结构,兼容性好。
存储友好(不同任务只需保存一份 Prompt 向量)。
缺点:
表达能力有限,尤其在小模型或复杂任务上,效果可能不如 LoRA、Adapter 等方法。
对 Prompt 位置、长度等较为敏感。
5. 与相关方法对比
方法 | 参数开销 | 训练方式 | 适用场景 |
---|---|---|---|
Full Fine-tuning | 100% | 更新所有参数 | 高资源场景,模型可控性强 |
Prompt Tuning | <0.1% | 学习软 Prompt embedding | 少量参数更新,简单任务 |
Prefix Tuning | ~0.1-1% | 在每层输入 KV Cache 前添加可学习向量 | 更强表达能力 |
LoRA | ~0.1-1% | 低秩矩阵分解更新权重 | 复杂任务,兼容性强 |
6. 实战案例(PyTorch 伪代码)
import torch
import torch.nn as nnclass PromptTuningWrapper(nn.Module):def __init__(self, base_model, prompt_length=20, hidden_size=4096):super().__init__()self.base_model = base_model# 可学习的 Prompt 向量self.prompt_embeddings = nn.Parameter(torch.randn(prompt_length, hidden_size))def forward(self, input_ids, attention_mask=None):# 获取原始 embeddinginputs_embeds = self.base_model.model.embed_tokens(input_ids)batch_size = inputs_embeds.size(0)# 将 prompt 拼接到输入前prompt = self.prompt_embeddings.unsqueeze(0).expand(batch_size, -1, -1)inputs_with_prompt = torch.cat([prompt, inputs_embeds], dim=1)# 调用原始模型return self.base_model(inputs_embeds=inputs_with_prompt,attention_mask=None # 注意 mask 要适配)
7. 总结
Prompt Tuning 作为参数高效微调(PEFT)的先驱方法,为 LLM 在下游任务中的快速适配提供了轻量化解决方案。
它适合 资源受限、任务较简单 的场景,是研究与教学中的入门必学方法。
但在实际应用中,随着任务复杂度提升,往往需要结合 Prefix Tuning、LoRA、Adapter 等更强大的 PEFT 技术。