1. 提示学习:大模型时代的新范式
2020年GPT-3的横空出世,不仅展示了1750亿参数模型的惊人能力,更带来了一种全新的模型使用范式——提示学习(Prompt Learning)。这种技术彻底改变了我们与预训练语言模型的交互方式。
1.1 从微调到提示的范式转变
在传统"预训练+微调"时代,我们需要为每个下游任务:
- 在模型顶部添加任务特定层
- 更新所有模型参数
- 消耗大量计算资源
- 产生多个任务专用模型副本
而提示学习范式则:
- 保持预训练模型参数完全冻结
- 通过精心设计的输入模板(提示)重构任务
- 激活模型已有的知识和能力
- 实现"一个模型,多个任务"
这种转变的核心价值在于:
- 参数效率:避免为每个任务存储独立模型
- 数据效率:在少样本甚至零样本场景表现优异
- 部署简便:无需复杂训练基础设施
1.2 提示的基本工作原理
提示本质上是一种"任务翻译器",将原始输入转换为模型更易理解的格式。例如情感分析任务:
原始输入:"这部电影很棒"
传统方法:[CLS]这部电影很棒[SEP] → 分类层
提示方法:"这句话的情感是[MASK]:这部电影很棒"
模型在[MASK]位置更可能预测"积极"而非"消极",因为:
- 模板激活了模型在预训练时学到的完形填空能力
- 任务被重构为模型熟悉的语言建模形式
- 利用了模型内隐的知识表示
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 离散提示:可解释但不可微的模板工程
2.1 离散提示的典型形式
离散提示主要分为两类架构:
完形填空式(适合BERT等双向模型)
code复制"句子:{text}。整体而言,这是[MASK]的。"
- 优势:利用双向上下文信息
- 适用任务:分类、实体识别等判别任务
前缀续写式(适合GPT等自回归模型)
code复制"将英文翻译为中文:{text} → "
- 优势:符合生成任务的从左到右特性
- 适用任务:翻译、摘要等生成任务
2.2 模板设计的关键要素
设计高效离散提示需要考虑多个维度:
-
任务描述清晰度
- 差:"{text}。标签:"
- 好:"判断以下句子的情感倾向(积极/消极):{text} 答案是:"
-
答案空间映射
- 原始标签:1/0 → 映射为"积极/消极"
- 考虑词频:选择模型熟悉的同义词
-
上下文一致性
- 模仿预训练数据的语言模式
- 例如:QA任务使用"问题:... 答案:..."格式
2.3 自动化提示生成技术
基于梯度的提示搜索
python复制def auto_prompt(model, task, init_prompt, vocab, k=5):
prompt = i
