[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning

1. 基本信息

题目 论文作者与单位 来源 年份
The Power of Scale for Parameter-Effificient Prompt Tuning Brian Lester等google Conference on Empirical Methods in Natural Language Processing 2021

857 Citations

论文链接:https://arxiv.org/abs/2104.08691

论文代码:https://github.com/google-research/prompt-tuning

另外:

google-research/prompt-tuning

official kipgparker/soft-prompt-tuning

mkshing/Prompt-Tuning

corolla-johnson/mkultra

arazd/ProgressivePrompts

2. 要点

研究主题 问题背景 核心方法流程 亮点 数据集 结论 论文类型 关键字
语言大模型微调 针对之前的GPT-3的硬提示,这个提示可以通过监督数据进行学习的,学习软提示。 与prefix-tuning的思想是差不多的,提出了prompt tuning,这里重点研究k个token,另外做了大量的实验对比。 1. 在大型语言模型体系中提出“prompt tuning”并展示对于模型调优的竞争力;2. 通过消融实验,质量和鲁棒性,随着规模的增加而提高。3. 在跨域实验上,prompt tuning模型的微调。4. 提出“prompt ensembling” ,并实验证明它的有效性。 superGLUE 提过了GPT-3的少样本学习。多个下游任务重用一个冻结模型的能力可以减轻这一负担。这个方法可以看成是prefix-tuning的简化。 提出prompt tuning,做了实验对比。 soft promts, prompt tuning

soft prompts”区别于之前的GPT-3的硬提示,这个提示可以通过监督数据进行学习的。
进一步对调参数的优化:prompt tuning,冻结了整个预训练模型,并且只允许每个下游任务在输入文本中添加额外的k个可调token。

论文实验结果:T5模型在不同训练方式下的结果

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning_第1张图片

3. 模型(核心内容)

传统模型微调与Prompt微调的区别

对于传统模型:对于每个具体的下游任务要求复制一份完整预训练模型,在推理时也必须是分开的批次。

对于Prompt tuning: 对于每个任务只要求保存一份比较小具体任务的提示,且可以混合多个任务的数据放在一个批次上。

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning_第2张图片

模型把所有任务定义成文本到文本的生成。例如Prθ;θP (Y |[P; X]),Pr是T5模型,θ表示模型的权重参数,训练时要冻结的,θP为prompt那部分的参数,训练时会更新的,Y表示Token串,P表示prompt, X提示输入token串。

形式化如下的定义:原字符串为n个token, promt为p个token, 在输入时,两者是合并的,所以嵌入时的矩阵变成(p+n)* e 维度。

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning_第3张图片

4. 实验与分析

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning_第4张图片

结论:

Prompt参数长度: 当prompt参数长度超过20时,整体模型的效果提升并不是很明显。当预训练模型较大时,不同prompt参数长度的表现差异较小。

**Prompt参数初始化方案:**非随机初始化方法好于随机初始化,而Class Label效果相对更好,

sampled vocab 与 class label 的效果明显好于随机初始化。

  • Random Uniform方案从均匀分布中随机进行初始化;
  • sampled vocab:从T5的语料库中选择最常见的5000个词汇。
  • Class label:从下游任务中取label对应的 token中取。当一个label 存在 multi-token 时,取其平均值。如果数目不足,从sampled中取。

**预训练目标的影响:**作者认为使用这种不自然的sentinels来引导回答的学习方式对prompt不利。取消了预训练中的span corruption任务。

作者采用了 LM Adaptation (试图将T5转变成GPT3的风格),使得模型总是输出一个实际的文本。同时所有任务都被转变成了文本生成任务(与T5的 “text-to-text” 方法相似)。

另外,还有Domain shift实验:使用prompt方法确实比直接微调模型具有更好的泛化效果;

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning_第5张图片

,Prompt Ensembling:在SueprGLUE任务上集成prompt预测的结果优于平均预测结果。

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning_第6张图片

5. 总结

实验还是比较多,有新发现。跟prefix-tuning很相似的。只是用的语言不同。

6. 知识整理(知识点,要读的文献,摘取原文)

一种由下游应用程序训练数据引导的离散单词空间上的搜索算法:AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts

Domain shift实验: 所谓Domain shift其实就是跨域实验,即训练集与测试集的分布是不同的,来测试模型的泛化性能。

**Span Corruption:**Span Corruption是T5 预训练任务之一,其将完整的句子根据随机的span进行掩码。如:原句:“Thank you for inviting me to your party last week”

Span Corruption之后得到输入: “Thank you [X] me to your party [Y] week”;目标:“[X] for inviting [Y] last [Z]”。其中 [X] 等一系列辅助编码称为 sentinels。

sentinel token其实是哨兵。

7. 参考文献

https://zhuanlan.zhihu.com/p/551174711

https://zhuanlan.zhihu.com/p/415168620

made by happyprince

你可能感兴趣的:(论文阅读,笔记,深度学习)