精读笔记:The Power of Scale for Parameter-Efficient Prompt Tuning
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | The Power of Scale for Parameter-Efficient Prompt Tuning |
| 作者 | Brian Lester, Rami Al-Rfou, Noah Constant |
| 机构 | Google Research |
| 发表会议 | EMNLP 2021 |
| arXiv 编号 | arXiv:2104.08691 |
| 核心贡献 | 提出极简版参数高效微调方法:只在输入层前拼接少量可训练"软提示"向量,整个预训练模型参数完全冻结 |
阅读地图
本文的逻辑主线非常清晰,建议按以下顺序理解:
- 背景:大模型怎么适配下游任务?从全量微调到 GPT-3 的离散提示设计
- 问题:离散人工提示效果差;Prefix Tuning 要改每一层,仍然复杂
- 核心方法(Section 2):Prompt Tuning——只在输入嵌入层前面拼几十个可训练向量,其余全冻结
- 核心发现(Section 3):模型越大,这种极简方法越能追平全量微调;110 亿参数时几乎无差别
- 延伸发现:域泛化更好、可做 Prompt Ensembling、参数量极度节省
前置知识:理解本文的三个关键概念
1. 什么是"提示"(Prompt)?
在大语言模型出现之前,做情感分类你需要重新训练一个分类器。GPT-3 时代出现了新做法:直接在输入文本前面加一段自然语言描述,比如"请判断以下句子是正面还是负面情绪:",然后让模型直接生成答案。这段附加的文字就叫提示(Prompt)。
优点:模型参数一个不改。缺点:效果很依赖人工撰写的措辞,不稳定。
2. 什么是"软提示"(Soft Prompt)?
人工撰写的提示是从真实词汇表里选词,每个词对应一个固定的嵌入向量,不能修改——这叫硬提示(Hard Prompt)或离散提示(Discrete Prompt)。
软提示则完全不同:它是一段直接存在于嵌入空间的浮点数向量,不对应任何真实单词,通过梯度下降自动优化。可以把它理解为"模型自己学出来的暗语"——人类看不懂,但模型能理解。
3. 什么是 PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)?
全量微调(Full Fine-Tuning)要更新模型的全部参数(GPT-3 有 1750 亿个)。PEFT 的思路是:只更新极少数参数,让大模型适配新任务。代表方法包括:
- Prompt Tuning(本文):只加输入层前缀向量
- Prefix Tuning(Li & Liang 2021):在每一层 Transformer 前都加前缀向量
- LoRA(Hu et al. 2021):在权重矩阵旁边加一对低秩矩阵
核心类比:只给模型一句"开场暗语"
想象一位博学的顾问(预训练大模型),他懂各种领域的知识。现在你需要他分别帮你做:法律咨询、医学问答、代码审查……
-
全量微调(Full Fine-Tuning):为每个任务单独克隆一位顾问,再分别培训。花费巨大,每个任务要存一整套知识体系。
-
GPT-3 离散提示:每次开口前,人工给顾问说一段"角色扮演引导语"("你现在是一位律师……")。简单,但措辞不对顾问就不配合,效果不稳定。
-
Prompt Tuning(本文):给顾问本人一个不变,但为每个任务准备一张小卡片(软提示向量),上面写的是顾问自己学出来的"暗语密码"——人看不懂,但顾问一看就知道该进入哪个模式。顾问本人(模型参数)一个字不改,任务切换只需换一张小卡片。
这张"小卡片"就是软提示(Soft Prompt),它只有几十个向量,参数量极少。
Abstract(摘要)精读
原文:In this work, we explore "prompt tuning," a simple yet effective mechanism for learning "soft prompts" to condition frozen language models to perform specific downstream tasks.
翻译:在本工作中,我们探索"提示调优(prompt tuning)"——一种简单而有效的机制,通过学习"软提示"来引导冻结的语言模型执行特定的下游任务。
讲解:第一句话就点出了三个核心词:①prompt tuning(提示调优,本文方法名);②soft prompts(软提示,可学习的嵌入向量);③frozen language models(冻结的语言模型,即模型参数完全不动)。"Condition"的意思是"给模型施加条件约束,引导它输出特定行为",就像前面说的"给暗语"。
原文:Unlike the discrete text prompts used by GPT-3, soft prompts are learned through backpropagation and can be tuned to incorporate signals from any number of labeled examples.
翻译:与 GPT-3 使用的离散文本提示不同,软提示通过反向传播学习,可以利用任意数量的标注样本进行调优。
讲解:这句话划出了本文与 GPT-3 提示设计的本质区别:
- GPT-3 的提示:人工写的真实单词,不能通过梯度更新,叫离散(discrete)提示
- 本文的软提示:纯数字向量,通过反向传播(backpropagation)从标注数据中学习"反向传播"是深度学习的训练机制:模型预测错了,就把误差信号反向传回去,调整参数。这里只调整软提示向量这几个参数,模型其他参数全部冻结不动。
原文:Our end-to-end learned approach outperforms GPT-3's few-shot learning by a large margin. More remarkably, through ablations on model size using T5, we show that prompt tuning becomes more competitive with scale: as models exceed billions of parameters, our method "closes the gap" and matches the strong performance of model tuning (where all model weights are tuned).
翻译:我们的端到端学习方法以大幅优势超越了 GPT-3 的少样本学习。更值得关注的是,通过在 T5 不同规模上的消融实验,我们证明了提示调优随着规模增大变得更具竞争力:当模型超过数十亿参数时,我们的方法"弥合了差距",与全量模型调优(即调整所有模型权重)的强大性能相当。
讲解:这是本文标题含义的直接解释——"规模的力量(The Power of Scale)"指的就是:模型越大,Prompt Tuning 越有效,最终追平全量微调。
- T5:Google 的文本到文本预训练模型,从 Small(6000 万参数)到 XXL(110 亿参数)有多个规模
- 消融实验(ablation):控制变量实验,改变某一个因素(这里是模型规模),观察效果变化
- model tuning:就是全量微调,所有权重都更新,效果最好但代价最大
- closes the gap:弥合差距——之前 Prompt Tuning 比全量微调效果差一截,随着模型变大,这个差距逐渐消失
原文:This finding is especially relevant because large models are costly to share and serve and the ability to reuse one frozen model for multiple downstream tasks can ease this burden. Our method can be seen as a simplification of the recently proposed "prefix tuning" of Li and Liang (2021) and we provide a comparison to this and other similar approaches. Finally, we show that conditioning a frozen model with soft prompts confers benefits in robustness to domain transfer and enables efficient "prompt ensembling."
翻译:这一发现尤为重要,因为大型模型的共享和部署成本高昂,而能够将一个冻结模型复用于多个下游任务可以大大减轻这一负担。我们的方法可以看作是 Li 和 Liang(2021)最近提出的"前缀调优(prefix tuning)"的简化版本,我们提供了与该方法及其他类似方法的对比。最后,我们还展示了用软提示引导冻结模型在域迁移鲁棒性方面的优势,以及高效的"提示集成(prompt ensembling)"能力。
讲解:三个额外发现:
1. 实用价值:一个冻结模型服务所有任务,只需存储每个任务对应的小提示向量(几十 KB),而不是每个任务存一个完整的大模型(几十 GB)
2. 与 Prefix Tuning 的关系:本文是 Prefix Tuning 的简化版——Prefix Tuning 在每一层 Transformer 都加前缀,本文只在输入层加,更简单
3. 两个额外优势:域迁移(换场景后效果更稳)和提示集成(训练多个软提示,投票提升效果)
Introduction(引言)精读
第一段:大模型适配技术演变
原文:With the wide success of pre-trained large language models, a range of techniques has arisen to adapt these general-purpose models to downstream tasks. ELMo proposed freezing the pre-trained model and learning a task-specific weighting of its per-layer representations. However, since GPT and BERT, the dominant adaptation technique has been model tuning (or "fine-tuning"), where all model parameters are tuned during adaptation.
翻译:随着预训练大型语言模型的广泛成功,涌现出一系列将这些通用模型适配到下游任务的技术。ELMo 提出冻结预训练模型,学习对每层表示进行任务特定加权。然而,自 GPT 和 BERT 以来,主流适配技术一直是模型调优(即"微调"),即在适配过程中调整所有模型参数。
讲解:简短的技术史回顾:
- ELMo(2018):冻结模型,只学一个"如何利用各层"的权重——思路超前,但效果一般
- GPT/BERT(2018/2019):开创了全量微调时代,性能最好,但每个任务需要存一套完整参数
- "下游任务(downstream task)":相对于预训练的"上游任务"而言,指情感分类、问答、翻译等具体应用任务
第二段:GPT-3 的提示设计方法
原文:More recently, Brown et al. (2020) showed that prompt design (or "priming") is surprisingly effective at modulating a frozen GPT-3 model's behavior through text prompts. Prompts are typically composed of a task description and/or several canonical examples. This return to "freezing" pre-trained models is appealing, especially as model size continues to increase. Rather than requiring a separate copy of the model for each downstream task, a single generalist model can simultaneously serve many different tasks.
翻译:最近,Brown 等人(2020)证明了提示设计(或称"预启动/priming")在通过文本提示引导冻结 GPT-3 模型行为方面出人意料地有效。提示通常由任务描述和/或若干典型示例组成。这种重新"冻结"预训练模型的做法颇具吸引力,尤其是随着模型规模持续增大。与其为每个下游任务维护一个独立的模型副本,不如用一个通用模型同时服务多个不同任务。
讲解:GPT-3 的核心亮点:少样本学习(few-shot learning)——在提示里放几个例子,GPT-3 就能理解任务并完成。这不需要更新任何参数,非常高效。但如下段所说,效果和全量微调仍有差距。
第三段:离散提示的局限性
原文:Unfortunately, prompt-based adaptation has several key drawbacks. Task description is error-prone and requires human involvement, and the effectiveness of a prompt is limited by how much conditioning text can fit into the model's input. As a result, downstream task quality still lags far behind that of tuned models. For instance, GPT-3 175B few-shot performance on SuperGLUE is 17.5 points below fine-tuned T5-XXL (71.8 vs. 89.3) despite using 16 times more parameters.
翻译:不幸的是,基于提示的适配方法存在几个关键缺陷。任务描述容易出错且需要人工参与,而提示的有效性受限于模型输入中能容纳的引导文本量。因此,下游任务质量仍然远落后于调优模型。例如,GPT-3 175B 在 SuperGLUE 上的少样本性能比微调后的 T5-XXL 低 17.5 分(71.8 对比 89.3),尽管使用了 16 倍多的参数。
讲解:具体数字说明了问题有多严重:
- SuperGLUE:一个综合 NLU 能力的权威评测基准,包含 8 个子任务(情感推理、问答、词义消歧等)
- GPT-3 有 1750 亿参数(比 T5-XXL 大 16 倍!),但少样本效果只有 71.8 分
- 全量微调的 T5-XXL 达到 89.3 分
- 差距 17.5 分:在这种评测中是非常显著的差距,说明光靠提示设计还远远不够
第四段:自动化提示设计的尝试(引出 Prefix Tuning)
原文:Several efforts to automate prompt design have been recently proposed. Shin et al. (2020) propose a search algorithm over the discrete space of words, guided by the downstream application training data. While this technique outperforms manual prompt design, there is still a gap relative to model tuning. Li and Liang (2021) propose "prefix tuning" and show strong results on generative tasks. This method freezes the model parameters and backpropagates the error during tuning to prefix activations prepended to each layer in the encoder stack, including the input layer.
翻译:近期提出了几种自动化提示设计的方案。Shin 等人(2020)提出了一种在离散词空间中搜索的算法,由下游任务的训练数据引导。虽然该技术优于手工提示设计,但相对于模型调优仍有差距。Li 和 Liang(2021)提出了"前缀调优(prefix tuning)",并在生成任务上取得了强劲效果。该方法冻结模型参数,在调优过程中通过反向传播来更新附加在编码器每一层(包括输入层)的前缀激活向量。
讲解:这段引出了本文最重要的参照系——Prefix Tuning,必须理解两者的区别:
| 方法 | 在哪里加可训练向量 | 模型参数 |
|---|---|---|
| Prefix Tuning | 每一层 Transformer 都加前缀 | 冻结 |
| Prompt Tuning(本文) | 只在输入嵌入层前面加 | 冻结 |
Prefix Tuning 更复杂,需要在 Transformer 的每一层(可能有 24 层、48 层)都插入可训练的前缀向量,参数量更多,实现更复杂。本文只在最前面的输入层加,参数少得多,实现也更简单。
第五段:本文方法(最核心的一段)
原文:In this paper, we propose prompt tuning as a further simplification for adapting language models. We freeze the entire pre-trained model and only allow an additional k tunable tokens per downstream task to be prepended to the input text. This "soft prompt" is trained end-to-end and can condense the signal from a full labeled dataset, allowing our method to outperform few-shot prompts and close the quality gap with model tuning. At the same time, since a single pre-trained model is recycled for all downstream tasks, we retain the efficient serving benefits of frozen models.
翻译:在本文中,我们提出提示调优作为语言模型适配的进一步简化。我们冻结整个预训练模型,每个下游任务仅允许额外的 k 个可调 token 被拼接到输入文本前面。这个"软提示"通过端到端训练,能够从完整的标注数据集中凝练信号,使我们的方法能够超越少样本提示,并弥合与模型调优的质量差距。与此同时,由于单个预训练模型被复用于所有下游任务,我们保留了冻结模型在部署服务方面的高效优势。
讲解:这段是本文方法的核心定义,拆解每个关键词:
- "freeze the entire pre-trained model":整个模型(可能有数百亿参数)完全冻结,反向传播时这些参数不接收梯度更新,是零开销的
- "k tunable tokens":k 个可调 token,通常实验中 k=20 左右,每个 token 是一个和词嵌入维度相同的向量(比如 1024 维)。总参数量约为 20×1024=20,480,极其微小
- "prepended to the input text":拼接在输入文本前面。比如原始输入是"这部电影怎么样?",加上软提示后变成"[v₁][v₂]...[v₂₀] 这部电影怎么样?",其中 v₁...v₂₀ 是学出来的向量
- "end-to-end":端到端,意思是从输入到输出整体训练,不需要中间的人工干预
- "condense the signal from a full labeled dataset":能把整个训练集的信息"压缩"进这几十个向量,远比少样本提示(只能放几个例子)信息量更大
- "efficient serving benefits":一个冻结的模型可以同时接收多个任务的请求,不需要为每个任务切换模型,大幅降低线上服务成本
第六段:本文的核心贡献声明
原文:While we developed our method concurrently with Li and Liang (2021) and Hambardzumyan et al. (2021), we are the first to show that prompt tuning alone (with no intermediate-layer prefixes or task-specific output layers) is sufficient to be competitive with model tuning. Through detailed experiments in sections 2–3, we demonstrate that language model capacity is a key ingredient for these approaches to succeed. As Figure 1 shows, prompt tuning becomes more competitive with scale.
翻译:尽管我们与 Li 和 Liang(2021)以及 Hambardzumyan 等人(2021)的工作是同期开发的,但我们率先证明:仅靠提示调优(无需中间层前缀或任务特定输出层)就足以与模型调优相竞争。通过第 2-3 节的详细实验,我们证明语言模型的容量是这些方法取得成功的关键要素。如图 1 所示,提示调优随着规模增大变得更具竞争力。
讲解:这段是本文的独特贡献声明。作者强调:他们是第一个证明"只在输入层加软提示(不需要在中间层也加)就足够有效"的工作。这个贡献的关键在于"规模是关键"——小模型上 Prompt Tuning 确实不够好,但到了百亿级别,它的效果就追上了全量微调。
Section 2:Prompt Tuning 方法精读
方法的数学形式化
原文:Following the "text-to-text" approach of T5, we cast all tasks as text generation. Instead of modeling classification as the probability of an output class given some input, Pr(y|X), we now model it as conditional generation, where Y is a sequence of tokens that represent a class label. T5 models classification as Pr_θ(Y|X), parameterized by the weights θ of the transformers that make up its encoder and decoder.
翻译:遵循 T5 的"文本到文本"范式,我们将所有任务转化为文本生成。我们不再将分类建模为给定输入条件下输出类别的概率 Pr(y|X),而是将其建模为条件生成,其中 Y 是表示类别标签的 token 序列。T5 将分类建模为 Pr_θ(Y|X),由编码器和解码器中 Transformer 的权重 θ 参数化。
讲解:T5 的设计哲学是"万物皆文本生成":
- 情感分类不再是"输出一个类别 ID",而是生成字符串"正面"或"负面"
- 问答不再是"从候选中选一个",而是直接生成答案文字
- 这样所有任务都统一在同一个生成框架下,非常优雅θ(theta)代表模型的所有参数,在 Prompt Tuning 中这些参数完全冻结,不会被更新。
原文:Prompting is the approach of adding extra information for the model to condition on during its generation of Y. Normally, prompting is done by prepending a series of tokens P to the input X, such that the model maximizes the likelihood of the correct Y, Pr_θ(Y|[P;X]), while keeping the model parameters θ fixed. In GPT-3, the representations of the prompt tokens P={p₁, p₂, …, pₙ} are part of the model's embedding table, parameterized by the frozen θ. Finding an optimal prompt thus requires the selection of prompt tokens, through either manual search or non-differentiable search methods.
翻译:提示是一种为模型在生成 Y 时提供额外条件信息的方法。通常,提示是通过在输入 X 前拼接一系列 token P 来实现的,使模型在固定参数 θ 的情况下最大化正确 Y 的似然概率 Pr_θ(Y|[P;X])。在 GPT-3 中,提示 token P={p₁,p₂,…,pₙ} 的表示是模型嵌入表的一部分,由冻结的 θ 参数化。因此,找到最优提示需要通过手工搜索或不可微搜索方法来选择提示 token。
讲解:这段解释了为什么离散提示(GPT-3 方式)有局限:
- 每个词都对应嵌入表里一个固定向量(由冻结的 θ 决定),不能修改
- 选提示词 = 在固定词汇表里搜索,是离散搜索问题,不能用梯度下降
- 非可微搜索(如遗传算法)效率很低,而且搜到的提示往往不是人类可读的词语[P;X] 表示把 P 和 X 拼接在一起,分号代表拼接(concatenation)。
原文:Prompt tuning removes the restriction that the prompt P be parameterized by θ; instead the prompt has its own dedicated parameters θ_P that can be updated. While prompt design involves selecting prompt tokens from a fixed vocabulary of frozen embeddings, prompt tuning can be thought of as using a fixed prompt of special tokens, where only the embeddings of these prompt tokens can be updated. Our new conditional generation is now Pr_{θ;θ_P}(Y|[P;X]) and can be trained by maximizing the likelihood of Y via backpropagation, while only applying gradient updates to θ_P.
翻译:提示调优取消了提示 P 必须由 θ 参数化的限制;相反,提示拥有自己专属的参数 θ_P,可以被更新。如果说提示设计是从固定的冻结嵌入词汇表中选择提示 token,那么提示调优可以理解为使用固定数量的特殊 token 作为提示,其中只有这些提示 token 的嵌入可以被更新。我们新的条件生成变为 Pr_{θ;θ_P}(Y|[P;X]),可以通过反向传播最大化 Y 的似然概率来训练,同时只对 θ_P 应用梯度更新。
讲解:这是本文最核心的一句话,必须理解透:
两个参数集合的对比:
- θ(模型本体参数):完全冻结,反向传播时梯度不更新
- θ_P(软提示参数):唯一需要更新的参数,数量极少
形象类比(再次强化): 想象一个记忆力超强的顾问(预训练模型),他的大脑(θ)是固定的。你给他一段"特殊开场白"(软提示),但这段开场白不是从字典里选词,而是通过反复演练,自动学出一段只有他能理解的暗语向量。培训过程中,只有这段暗语向量(θ_P)在调整,他的大脑(θ)一点没变。
数学符号对应:
- Pr_θ(Y|X):原始模型,只有 θ
- Pr_{θ;θ_P}(Y|[P;X]):加了软提示的模型,θ 冻结,只训练 θ_P
软提示的具体形式
原文:Given a series of n tokens {x₁, x₂, …, xₙ}, the first thing T5 does is embed the tokens, forming a matrix X_e ∈ ℝ^{n×e} where e is the dimension of the embedding space. Our soft-prompts are represented as a parameter P_e ∈ ℝ^{p×e}, where p is the length of the prompt. Our prompt is then concatenated to the embedded input forming a single matrix [P_e; X_e] ∈ ℝ^{(p+n)×e} which then flows through the encoder-decoder as normal. Our models are trained to maximize the probability of Y, but only the prompt parameters P_e are updated.
翻译:给定 n 个 token 序列 {x₁, x₂, …, xₙ},T5 首先将这些 token 嵌入,形成矩阵 X_e ∈ ℝ^{n×e},其中 e 是嵌入空间的维度。我们的软提示表示为参数 P_e ∈ ℝ^{p×e},其中 p 是提示的长度。然后将提示与嵌入的输入拼接,形成矩阵 [P_e; X_e] ∈ ℝ^{(p+n)×e},该矩阵随后正常流经编码器-解码器。我们的模型被训练以最大化 Y 的概率,但只有提示参数 P_e 被更新。
讲解:用具体数字理解这个矩阵:
假设模型的嵌入维度 e=1024,软提示长度 p=20,输入文本有 n=50 个 token:
- 输入文本嵌入矩阵 X_e:形状 50×1024(50 个词,每个词是 1024 维向量)
- 软提示矩阵 P_e:形状 20×1024(20 个"暗语向量",每个也是 1024 维)
- 拼接后:[P_e; X_e] 形状为 70×1024,就像在文本前面加了 20 行数据
关键点:这 20 个"暗语向量"不对应任何真实单词,是在 ℝ^{1024} 空间里自由浮动的点,通过反向传播找到最优位置。
参数量对比:
- T5-XXL 全量参数:110 亿(11,000,000,000)
- 软提示参数:20×1024 = 20,480
- 比例:0.00019%,即每个任务只需要不到万分之二的额外存储
设计选择:软提示初始化方式
原文(来自方法节):We compare three initialization strategies: random initialization (from a uniform distribution), sampling from the model's vocabulary, and using class-label embeddings to initialize the prompt.
翻译:我们比较了三种初始化策略:随机初始化(从均匀分布采样)、从模型词汇表采样,以及使用类别标签嵌入来初始化提示。
讲解:三种初始化方式的区别:
1. 随机初始化:随机赋值,完全从零开始学习
2. 词汇表采样:从真实词汇中随机选词,用它们的嵌入向量作为起点,有一定的语义意义
3. 类别标签初始化:用任务的输出类别词(比如"正面"、"负面")的嵌入来初始化——这是效果最好的方式,因为提示里天然包含了任务相关信息
实验发现:模型越大,这三种方式的差距越小,到 XXL 规模时几乎没有差别。这再次说明"规模是关键"。
设计选择:预训练目标的影响(Span Corruption 问题)
原文:We hypothesize that this setup [span corruption pre-training] is not a good fit for producing a frozen model that can be readily controlled through prompt tuning.
翻译:我们假设这种设置(Span Corruption 预训练)不适合产生一个可以通过提示调优轻松控制的冻结模型。
讲解:T5 的预训练任务叫 Span Corruption(跨度损坏):把输入文本中随机一段替换为
<extra_id_0>这样的哨兵 token,让模型预测被替换的内容。问题在于:这样训练出来的模型,输入输出都含有哨兵 token,与自然语言的分布差异较大,用软提示直接控制会比较困难。
作者的解决方案是语言模型适应(LM Adaptation):在下游任务之前,先用普通的语言模型目标(预测下一个词)对 T5 继续训练约 10 万步,让它"学会"处理自然语言输入输出。这一步显著提升了 Prompt Tuning 的效果,尤其是对小模型。
Section 3:实验结果精读
3.1 核心发现:规模弥合差距
原文:In Figure 1, we see that prompt tuning becomes more competitive with model tuning as scale increases. At the XXL size (11 billion parameters), prompt tuning matches even the stronger multi-task model tuning baseline, despite having over 20,000 times fewer task-specific parameters.
翻译:在图 1 中,我们看到随着规模增大,提示调优与模型调优的竞争力越来越强。在 XXL 规模(110 亿参数)下,尽管任务特定参数少了超过 20,000 倍,提示调优甚至与更强的多任务模型调优基线相当。
讲解:这是本文最核心的实验结论,值得反复理解:
| 规模 | 参数量 | Prompt Tuning vs 全量微调 |
|---|---|---|
| T5-Small | 6000 万 | 差距很大 |
| T5-Base | 2.5 亿 | 差距明显缩小 |
| T5-Large | 7.7 亿 | 继续缩小 |
| T5-XL | 30 亿 | 接近 |
| T5-XXL | 110 亿 | 几乎持平 |
"20,000 倍"这个数字是怎么算的?
- 全量微调 T5-XXL:需要调整 110 亿参数
- Prompt Tuning(p=5):只需要 5×1024=5,120 个参数
- 110亿 / 5120 ≈ 214 万倍(论文说"over 20,000 times"是基于某种比较方式)
无论具体倍数,核心结论是参数少几个数量级,效果几乎相同。
原文:To compare with prompt design, we include GPT-3 few-shot performance on the SuperGLUE dev split, as reported by Brown et al. (2020). Figure 1 shows that prompt tuning beats GPT-3 prompt design by a large margin, with prompt-tuned T5-Small matching GPT-3 XL (over 16 times larger), and prompt-tuned T5-Large beating GPT-3 175B (over 220 times larger).
翻译:为了与提示设计进行比较,我们将 Brown 等人(2020)报告的 GPT-3 在 SuperGLUE 开发集上的少样本性能纳入比较。图 1 显示,提示调优大幅领先 GPT-3 提示设计——经提示调优的 T5-Small 与 GPT-3 XL(大了超过 16 倍)相当,而经提示调优的 T5-Large 超越了 GPT-3 175B(大了超过 220 倍)。
讲解:这个对比非常震撼:
- T5-Small 只有 6000 万参数,GPT-3 XL 有 13 亿参数,相差 22 倍——但经过 Prompt Tuning 的小模型效果和大 16 倍的 GPT-3 子版本相当
- T5-Large 只有 7.7 亿参数,GPT-3 175B 有 1750 亿参数,相差 227 倍——但 Prompt Tuning 的 T5-Large 超越了 GPT-3 175B
这说明:学习到的软提示远比人工设计的离散提示有效,即使用更小的模型也能赢。
3.2 域迁移鲁棒性
原文:By freezing the core language model parameters, prompt tuning prevents the model from modifying its general understanding of language. [On MRQA shared task, trained on SQuAD and evaluated out-of-domain,] prompt tuning outperformed model tuning especially on large domain shifts (e.g., +12.5 F1 on TextbookQA).
翻译:通过冻结核心语言模型参数,提示调优防止了模型修改其对语言的通用理解。(在 MRQA 共享任务上,以 SQuAD 训练并在域外评测时,)提示调优的性能优于模型调优,尤其在大规模域偏移时(例如在 TextbookQA 上高出 +12.5 F1 分)。
讲解:这里揭示了冻结模型的一个隐藏优势:全量微调往往造成过拟合。
当你在 SQuAD(维基百科风格的问答数据集)上全量微调,模型会过度适应这种风格,遇到 TextbookQA(教科书风格)就会显著退化。但 Prompt Tuning 因为不改变模型本体,语言理解能力保持原样,域迁移能力更强。
"F1 分数":评价问答任务的常用指标,同时考虑精准率和召回率,满分 100。
3.3 Prompt Ensembling(提示集成)
原文:By training N prompts on the same task, we create N separate "models" for a task, while still sharing the core language modeling parameters throughout.
翻译:通过在同一任务上训练 N 个提示,我们为一个任务创建了 N 个独立的"模型",同时在整个过程中共享核心语言建模参数。
讲解:集成学习(Ensemble)是机器学习中的经典技巧:训练多个模型,让它们投票,综合结果通常比单个模型更准确。
在传统集成学习中,训练 5 个模型 = 需要存储 5 套完整参数,成本极高。但 Prompt Ensembling 的妙处在于:
- 只存储 1 个冻结模型(主体不变)
- 训练 5 个不同的软提示向量(每个只有 20KB 左右)
- 推理时用 5 个软提示分别得到 5 个答案,然后投票
实验结果:5 个提示的集成在 SuperGLUE 上达到 91.3 分,而单个最好的提示是 91.0 分,平均是 90.5 分。这以极低的额外成本获得了集成效果。
消融实验:模型规模的决定性作用
原文(等效概括自原文):The largest (XXL) model is the most robust to hyperparameter choice across all tested dimensions: random initialization lagged initially but performance gap "vanishes at XXL size"; pre-training objective differences disappeared at scale; LM adaptation provided modest gains for XXL despite helping smaller models significantly.
翻译(等效):最大的(XXL)模型在所有测试维度上对超参数选择最为鲁棒:随机初始化起初落后,但差距"在 XXL 规模时消失";预训练目标的差异随着规模增大而消失;LM 适应对 XXL 模型只带来微小收益,尽管对小模型有显著帮助。
讲解:这是"规模的力量"最直接的证明——当模型足够大时:
1. 初始化方式不重要了(随机初始化 = 精心设计的初始化)
2. 预训练目标不重要了(Span Corruption = 语言模型目标)
3. 超参数不重要了(提示长度等选择不敏感)
小模型很脆弱,对每个设计选择都非常敏感;大模型很强健,用任何合理的设置都能学好。这是一个深刻的洞见:大模型本身就有更强的学习能力,少量的软提示向量足以激活这种能力。
与其他方法的对比(关键区别总结)
Prompt Tuning vs 离散 Prompt(GPT-3 方式)
| 维度 | 离散 Prompt | Soft Prompt(本文) |
|---|---|---|
| 组成 | 真实词汇 | 任意浮点向量 |
| 优化 | 手工 / 离散搜索 | 梯度下降 |
| 训练数据 | 少样本(几十个) | 完整训练集 |
| 人类可读 | 是 | 否(但可解释) |
| 效果 | 差 17.5 分(vs 微调) | 大模型持平 |
Prompt Tuning vs Prefix Tuning(Li & Liang 2021)
| 维度 | Prefix Tuning | Prompt Tuning(本文) |
|---|---|---|
| 加在哪里 | 每一层 Transformer | 只有输入嵌入层 |
| 实现复杂度 | 较高(需改每层) | 极低(只改输入) |
| 参数量 | 0.1%~1% | < 0.01% |
| 模型兼容性 | 需要修改内部结构 | 只需在输入前拼接 |
Prompt Tuning vs LoRA(Hu et al. 2021)
| 维度 | LoRA | Prompt Tuning |
|---|---|---|
| 思路 | 在权重矩阵旁加低秩矩阵 | 在输入前加可学习向量 |
| 修改位置 | 模型内部权重 | 模型输入 |
| 参数量 | 约 0.1%~1% | < 0.01% |
| 推理开销 | 可合并,零额外开销 | 需拼接额外向量 |
| 服务灵活性 | 需替换权重 | 只换输入向量,更灵活 |
Conclusion(结论)精读
原文:In this paper, we showed that prompt tuning is a competitive technique for adapting frozen pre-trained language models to downstream tasks.
翻译:在本文中,我们证明了提示调优是一种将冻结预训练语言模型适配到下游任务的有竞争力的技术。
讲解:"Competitive"(有竞争力)是关键词。在撰文时(2021 年),这个结论是突破性的——没人预期如此简单的方法(只加几十个向量)能与全量微调相抗衡。
原文(综合结论要点):Performance rivals that of traditional model tuning, with the gap vanishing as model size increases. Prompt tuning enables efficient multi-task serving and superior domain transfer performance while reducing task-specific parameter requirements dramatically.
翻译(综合):性能与传统模型调优相当,差距随模型规模增大而消失。提示调优实现了高效的多任务服务,并具有更优的域迁移性能,同时大幅降低了任务特定的参数需求。
讲解:结论可以提炼为三点:
1. 效果:大模型下与全量微调持平
2. 效率:一个模型服务所有任务,任务切换成本极低
3. 泛化:冻结模型不会过拟合,域迁移更强健
核心贡献与历史意义总结
为什么这篇论文重要?
2021 年的背景:GPT-3、T5-XXL 等超大模型开始出现,但部署成本极高。每个任务全量微调、独立存储一个 110 亿参数的模型,意味着几十 GB 的存储和极高的推理成本。
本文的贡献:
1. 极简化:把 Prefix Tuning 简化到极致——只改输入层,参数量减少到 Prefix Tuning 的 1/100
2. 规模定律:揭示了 Prompt Tuning 效果与模型规模的定量关系,指出"百亿参数是临界点"
3. 工程价值:一个冻结 T5-XXL(110 亿参数)可以同时服务数百个任务,每个任务只额外存储一个 20KB 的软提示文件
4. 泛化优势:发现了冻结模型的意外好处——域迁移能力更强
对后续研究的影响
- 激发了大量 PEFT 研究:LoRA、P-Tuning v2、Adapter 等方法大量涌现,形成了"参数高效微调"这一重要研究方向
- 影响了大模型服务架构:现代 LLM 服务系统(如 LoRA 服务框架)很多都借鉴了"一个基座,多个轻量适配器"的思路
- 预示了 Instruction Tuning 时代:学习"如何给模型下指令"是一个持续演进的研究方向,本文是其中的重要基石
术语速查表
| 术语 | 含义 |
|---|---|
| Prompt(提示) | 拼接在输入前的额外信息,引导模型行为 |
| Hard/Discrete Prompt(硬/离散提示) | 由真实词汇构成的提示,不可通过梯度优化 |
| Soft Prompt(软提示) | 由浮点向量构成的可学习提示,不对应真实词汇 |
| Frozen(冻结) | 模型参数在训练过程中完全不更新 |
| Fine-tuning / Model Tuning(微调 / 模型调优) | 更新模型全部参数使其适应特定任务 |
| PEFT(参数高效微调) | 只更新少量参数即可适配任务的微调方法总称 |
| Token Embedding(词嵌入) | 将离散 token 映射为连续向量空间中的向量 |
| Backpropagation(反向传播) | 深度学习训练机制,将预测误差从输出反向传至参数 |
| SuperGLUE | 衡量语言理解能力的权威综合评测基准 |
| Prefix Tuning | 在每层 Transformer 都加前缀向量的 PEFT 方法 |
| Prompt Ensembling(提示集成) | 训练多个软提示,投票集成以提升效果 |
| LM Adaptation(语言模型适应) | 用语言模型目标对 T5 继续预训练的步骤 |
| Span Corruption | T5 的原始预训练目标,随机替换文本片段 |
| Domain Transfer(域迁移) | 在一个领域训练,在不同领域测试 |
| Ablation Study(消融实验) | 逐一去除或改变某个组件,观察其对性能的影响 |
精读完成。基于 ar5iv.labs.arxiv.org 抓取的原文,忠实于原文数字与论述。