同样是让模型适应新任务,方法之间最关键的差别是:是否进行梯度训练、哪些参数会更新、任务信息进入模型的哪个位置。把这三个问题分开,Prompt、Prompt Tuning、Prefix Tuning、Adapter 和 LoRA 就不容易混淆。
1. 先区分提示与训练
推理时写一段自然语言提示,或在上下文中放几个示例,可以改变模型这一次的输入,但不会改变权重。思维链提示也是推理时组织输入的一种方式。指令微调则不同:它用“指令—期望回答”样本计算损失并更新参数,属于训练。
“Prompt Tuning”在论文和工具库中通常指训练连续的软提示向量,不能等同于手写提示词。软提示虽然只增加少量可训练参数,仍需数据、反向传播和优化器。Prompt Tuning 论文
2. PET:把分类改写成填空
Pattern-Exploiting Training(PET)用模板(pattern)和标签词映射(verbalizer)把分类任务改写为完形填空。例如输入“这部电影很精彩”,模板可以构成“这部电影很精彩。总体评价是 [MASK]”,再把预测词“好”映射成正类。
PET 不只是套模板进行零样本预测。原论文还结合少量标注样本、多个提示模型和未标注数据上的软标签训练。模板和标签词会影响效果,不能把“改写成预训练任务”理解成必然消除预训练与下游任务的差距。PET 论文
3. 连续提示:训练发生在什么位置
- Prompt Tuning:在输入嵌入序列加入可训练的软提示,通常冻结基座模型。Lester 等人的结果表明,它随模型规模增大而更接近全量微调;这不是所有小模型、所有任务上的保证。论文
- P-Tuning:使用可训练的连续提示及提示编码器。原论文同时研究冻结与更新基座模型的设置,因此不能一概说 P-Tuning 必定只训练提示。论文
- Prefix Tuning:为 Transformer 层提供任务相关的连续前缀,使后续 token 在注意力计算中利用前缀;基座权重保持冻结。原论文主要在表格到文本和摘要生成上验证。论文
- P-Tuning v2:把深层提示用于多层表示,针对部分 NLU 任务和模型规模改善只在输入层放提示的限制。论文中的“接近全量微调”有实验范围,不能外推到所有模型和任务。论文
- PPT:先预训练连续提示,再将其作为下游任务的初始化,重点是缓解少样本场景中从随机提示开始训练的困难。论文
这些方法的实现会因模型结构而异。尤其“每层前缀”和“输入层软提示”不是同一种插入位置;是否用 MLP 对前缀重参数化,也不能单独作为方法版本的定义。
4. Adapter:在网络内部加小模块
Adapter 通常在预训练模型的层内插入小型瓶颈模块,只训练新增模块,原模型大部分参数冻结。每个任务可保存一组适配器,但新增模块也会带来额外计算。参数少并不自动意味着训练或推理一定更快,仍要看模块位置、批量和硬件。Adapter 原论文
5. LoRA:给权重更新加低秩约束
LoRA 不直接训练目标线性层的原权重 W₀,而是学习两个小矩阵,使更新近似为 ΔW = (α/r)BA。若原权重是 d_out × d_in,新增参数约为 r(d_in + d_out),通常少于训练完整矩阵的 d_in × d_out 个参数。秩 r 控制新增参数量和可表示的更新空间,α/r 是缩放系数。
LoRA 分支可在推理时保留,也可在兼容条件下合并进基座权重;合并不是训练结束后的必经步骤。低秩约束也不保证质量一定等于全量微调。具体效果需要按任务和数据验证。LoRA 论文、PEFT 文档
6. QLoRA:量化冻结权重,训练适配器
QLoRA 在冻结的低比特基座模型上训练 LoRA 参数,梯度穿过量化基座流向适配器。论文提出 NF4、双重量化和分页优化器来降低内存压力。它的主要收益是显存占用,不能据此推断训练必然更快,也不能保证量化后任务质量不受影响。QLoRA 论文
7. 选择方法时看什么
如果无需训练,先试自然语言提示和少样本示例;如果有标注数据但不能更新全部权重,可比较软提示、Adapter 和 LoRA;若基座模型显存是主要瓶颈,再评估 QLoRA。比较时固定数据划分、模型、评估指标及硬件环境,记录可训练参数、峰值显存、训练时间和任务质量。方法名称本身不能替代实验结果。