跳到主要内容

Prefix Tuning、Prompt Tuning、P-Tuning

要解决的问题

Adapter 修改层内计算图;另一类 PEFT 选择 不改权重,而在输入或激活前加 可学习连续向量,用极少参数 steer 模型行为。适合 快速试验多任务切换 或超大模型上仅训 prompt 参数的场景。

核心概念

方法注入位置可训练量
Prompt Tuning输入 embedding 序列前端软 prompt 向量(常 <<1M)
Prefix Tuning每层 K/V(或更广)前缀多于 prompt tuning
P-Tuning v2深层连续 prompt(类 prefix)接近 prefix,性能更稳

软 prompt 向量 PRl×dP \in \mathbb{R}^{l \times d} 与真实 token embedding 拼接后进入 Transformer:

Input=[Plearnable;  E(x)]\text{Input} = [\underbrace{P}_{\text{learnable}};\; E(x)]

Prefix Tuning 将前缀经小 MLP 映射为各层 past_key_values,影响 注意力记忆 而非仅输入语义。

方法 / 选型

训练注意

  • 仅优化 PP(及 prefix MLP);基座 完全冻结
  • 学习率可略高于 LoRA(参数量极小);防 过拟合 小数据集。
  • 必须与官方 chat template 对齐,否则软 prompt 与硬模板冲突。

与指令微调关系

  • 强 instruct 基座,软 prompt 单独可能不如 LoRA + SFT(待验证:依赖任务复杂度)。
  • 适合 分类、抽取 等判别任务;开放生成对话较少作为主方案。

工程实践

说明
peftPromptTuningConfigPrefixTuningConfig
推理前缀可缓存进 KV,重复 prompt 省算
多任务每任务一套 PP,切换轻量
局限极长上下文时前缀占窗口比例需规划

代表工作

  • Lester et al., 2021 — Prompt Tuning.
  • Li & Liang, 2021 — Prefix-Tuning.
  • Liu et al., 2022 — P-Tuning v2.

局限与注意点

  • 开放域 聊天对齐 主流 recipe 仍以 LoRA/全参为主。
  • Prefix 对 多模态 模型需重新设计注入点。
  • 软 prompt 不可读,调试不如 LoRA 权重分析直观。
  • DPO 结合时,确保 ref 与 policy 的 prefix 处理一致。

窗口与长度

软 prompt 长度 ll 占用上下文:有效用户上下文 = max_len − l。长文档 RAG 场景下,l=20l=20 也可能占 1–2% 窗口,需在服务 SLA 中写明。

Prefix 在各层注入时,KV cache 尺寸随 prefix 增长;部署时要与 KV Cache 优化 一并评估。

实验建议

  1. 固定基座,比较 Prompt Tuning vs LoRA rank=8 在 同一小数据集 上的 dev 指标。
  2. 若 Prompt Tuning 差距不足 3% 且仅需极少参数,可保留;否则切 LoRA。
  3. 勿与硬编码 system prompt 语义重复,否则梯度竞争、收敛慢。

相关章节