The Power of Scale for Parameter-Efficient Prompt Tuning
Brian Lester · Rami Al-Rfou · Noah Constant(Google Research)· arXiv: 2104.08691 · 2021
本文探索 "Prompt Tuning(提示调优)"——一种简单而有效的机制,用于学习"软提示(soft prompts)"来调节冻结的语言模型执行特定下游任务。与 GPT-3 使用的离散文本提示不同,软提示通过反向传播学习,可调优以整合任意数量标注样本的信号。我们的端到端学习方法以更大优势超越 GPT-3 的少样本学习。
更值得注意的是,通过 T5 的模型规模消融实验,我们证明 Prompt Tuning 随规模增大而更有竞争力:当模型参数超过数十亿时,我们的方法"缩小差距",匹配模型调优(调节所有权重)的强性能。这一发现尤其相关,因为大型模型成本高昂且难以共享与部署,而能复用一个冻结模型完成多个下游任务可显著缓解这一负担。我们的方法可视为 Li & Liang 2021 "prefix tuning" 的简化。最后,我们证明用软提示调节冻结模型在领域迁移鲁棒性与高效"提示集成(prompt ensembling)"方面有益。
随着预训练大语言模型的广泛应用,出现了多种将这些通用模型适配到下游任务的技术。Brown et al. 2020 展示提示设计("priming")能通过文本提示惊人地调节冻结 GPT-3 的行为。但基于提示的适配有几个关键缺点:任务描述易出错、需要人工参与,且提示的有效性受限。
已有研究尝试自动化提示设计(Shin et al. 2020 在离散词空间搜索),但本文采用一条不同的路线。Li & Liang 2021 提出的 "prefix tuning" 冻结模型参数、微调时反向传播错误。本文提出的 Prompt Tuning 是其进一步的简化:
沿用 T5 的"text-to-text"方法,我们将所有任务转化为文本生成。提示(prompting)是在模型生成 Y 时添加额外信息供其条件化的方式。给定 n 个 token {x1,...,xn},T5 首先嵌入 token 形成矩阵 Xe∈Rn×e。
Prompt Tuning 在输入嵌入前拼接一个可学习的连续嵌入(软提示)P:
其中 P∈Rk×e 为 k 个可学习的软提示 token 嵌入,k 为提示长度,整个预训练模型权重完全冻结。
软提示有多种初始化方式:最简单是随机初始化从头训练;更精细的做法是用任务相关的词汇嵌入(如"分类/翻译"等类别的嵌入)初始化提示,或结合上下文学习初始化。本文消融表明:在足够大的模型上,简单的随机初始化也能取得强劲结果。
使用 T5 进行模型规模消融,发现 Prompt Tuning 的竞争力随模型规模增大而显著提升:
这与本文标题呼应——"Scale 的力量":正是模型规模使得参数高效调优变得可行,这是后续 FLAN、LoRA 等研究的重要基础。
| 方法 | 软提示/参数位置 | 冻结模型? | 说明 |
|---|---|---|---|
| Prompt Tuning | 仅输入层之前 | 是 | 最简化,实现简单 |
| Prefix Tuning(Li & Liang 2021) | 每层注意力前都加 | 是 | 更复杂,生成任务强 |
| 模型调优(Model Tuning) | 更新所有权重 | 否 | 最强但最贵 |
Prompt Tuning 可视为 prefix tuning 的简化:只在输入层加软提示,即可在大型模型上匹配全参数微调的性能。
📚 本文由 ar5iv 原文翻译为中文,数学公式采用 HTML 上下标 + Unicode 渲染