Skip to content

提示学习(Prompt Learning)面试题

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. 为什么需要提示学习?

Full Fine-Tuning 太低效,固定部分层微调效果差。提示学习通过最小化微调参数数量和计算复杂度,使计算资源受限时也能高效迁移学习。

离散 Prompt 的问题

  • Prompts 变化对性能极其敏感(加减一个词或改变位置都会造成巨大差异)
  • 自动化搜索成本高
  • 离散 Token 搜索结果可能非最优

2. 提示学习方法对比

Prefix Tuning(前缀微调)

维度说明
思路在输入 Token 前构造可学习的 Virtual Tokens 作为 Prefix;每层都添加;前面加 MLP 稳定训练
优点可学习"隐式"Prompts;一个 Batch 处理多个用户/任务样本
缺点占用序列长度,有额外计算开销;每层都加,改动大

Prompt Tuning(指示微调)

维度说明
思路仅在输入层添加连续 soft Prompt 向量(Lester 等;通常使用 LSTM)
优点只在输入层加入;随模型参数增大逼近全参微调结果;支持 Prompt Ensembling
缺点训练难度大;多个 Prompt Token 间相互独立;小模型 NLU 表现不佳

P-Tuning

维度说明
思路可学习 Embedding 层 + Prompt Encoder(双向 LSTM + 两层 MLP)建模伪 Token 依赖
优点提供更好的初始化;建模伪 Token 间的相互依赖
缺点稍显复杂;伪 Token 可能与输入不连续

P-Tuning v2

维度说明
思路Deep Prompt Encoding(每层添加);移除重参数化编码器;多任务预训练;抛弃 Verbalizer 回归传统分类范式
优点更多可学习参数(0.1%-3%);解决小模型效果不佳问题;拓展到序列标注
缺点弱化了 Prompt 的特色

3. Prefix Tuning vs Prompt Tuning

维度Prefix TuningPrompt Tuning
适用任务NLG(GPT 架构)所有类型语言模型
添加位置各层前缀(prefix)通常仅输入侧 soft prompt
添加层级每层都添加可仅在输入层

4. Prompt Tuning vs Fine-Tuning

维度Fine-TuningPrompt Tuning
参数变化改变预训练参数,可能导致灾难性遗忘不改变预训练参数,只调整连续 Prompt
任务切换每个任务保存一份完整模型同一模型通过不同 Prompt 做多任务

5. P-Tuning v2 的关键改进

  1. Deep Prompt Encoding:每层加入可微调 Prompt Tokens(从 0.01% 增加到 0.1%-3%)
  2. 移除重参数化:对小模型更有益
  3. 多任务预训练:先在多任务 Prompt 上预训练,再适配下游
  4. 回归传统分类:抛弃 Verbalizer,采用 CLS + 分类头

6. 方法选型总结

场景推荐方法
NLG 任务、GPT 架构Prefix Tuning
所有类型 LM、大模型Prompt Tuning
NLU 任务、GPT 系列P-Tuning
小模型、序列标注P-Tuning v2
显存极度受限QLoRA + Prompt