论文笔记:PPT: Pre-trained Prompt Tuning for Few-shot Learning
论文链接:https://arxiv.org/abs/2109.04332
代码开源:暂无
1. 介绍
两种主流的微调(FT)方法:面向任务的微调(传统微调)和面向提示的微调,如上图b、c所示。两种方法都需要微调整个模型的参数,但随着模型规模的快速增长,为每个下游任务微调一个完整的大型模型变得越来越昂贵。
为此,谷歌提出 prompt tuning (PT) 概念,如上图d所示。具体来说,PT 使用由连续嵌入组成的软提示(soft prompt)而不是硬提示(hard prompt)。这些连续的提示嵌入通常是随机初始化和端到端学习的。同时,PT固定了预训练模型的参数,只训练软提示。
然而,论文的试点实验表明,尽管在全量数据下,PT可以达到和FT相当的效果,但在few-shot设置下的表现却比FT差很多。同时发现:(1)verbalizer的选择对性能有很大的影响; (2) 简单地用具体词嵌入初始化软提示并不能提高性能,但 (3) 软提示和硬提示的结合是有帮助的; (4)所有这些方法都不能很好地处理few-shot下的提示调整问题。上述观察表明,为大规模预训练模型找到合适的提示并非易事,精心设计的软提示token初始化至关重要。
为了帮助模型找到合适的软提示,这篇论文提出Pre-trained Prompt Tuning (PPT):在大规模未标记语料库上使用自监督任务预训练软提示。为了确保预训练软提示的泛化性,论文将典型的分类任务归类为三种:句子对分类、多项选择分类和单文本分类,每种都单独设计一个自监督的预训练任务。此外,论文指出,可以将所有下游分类任务都统一到多项选择分类这种格式中。
2. Pre-trained Prompt Tuning (PPT)
分别为三种分类任务设计预训练时使用的PVP(Pattern-Verbalizer Pairs):
1)句子对分类
为了保证通用性,论文将预训练任务NSP扩展成了3分类任务,标签,这些标签分别表示两个句子之间的语义关系是相干的(标签为2)、相似的(1)和不相关的(0)。为了从未标注的文档构造标签,论文将彼此相邻的两个句子的标签设置为 2,将来自同一文档但不相邻的句子标签设置为 1,将来自不同文档的句子标签设置为 0。选择的如下:
标签词 对应标签 ,软提示拼接在 前,在预训练过程中逐步更新。
2)多项选择分类
多项选择任务将query和多个候选答案作为输入,论文设计了一种下一句选择任务(next sentence selection task)来为此类任务预训练软提示:
给定一个句子作为query ,模型被训练从6个候选句子()中选出一个与其邻近的句子,因此,标签集合为。这些候选句子包括正确答案、来自同一文档但不与query相邻的一个句子以及来自其他文档的四个句子。选择的如下:
标签词 对应标签 ,软提示拼接在 前,在预训练过程中逐步更新。
3)单句子分类
先借助一个训练好的小模型为训练集打好伪标签,然后再进行预训练, 选择的如下:
标签词对应标签 ,软提示拼接在 前,在预训练过程中逐步更新。
统一任务格式: 将上述三种PVP统一为一种格式——多项选择分类。
统一使用2)中的进行预训练,训练好的软提示在三类任务中都可以使用。
3. 实验结果
论文初始化了100个token作为软提示(为何是100个?没说~),英语数据集采用了T5-XXL模型进行PT与FT之间的对比,中文数据集则是采用了CPM-2,两个模型的参数量都是110亿,隐状态维度为4096。因此,PT需要训练的参数只有,是FT参数(110亿)的0.003%。
Vanilla PT:使用从正态分布中随机初始化的软提示;
Hybrid PT:软提示和硬提示联合使用;
LM Adaption:谷歌提出的策略,待补充;
Hybrid PPT:预训练好的软提示和硬提示联合使用;
Unified PPT:统一预训练的软提示。
根据上图,可以得出以下结论:
1. 随着参数数量的增加,FT 的性能有所提升。
2. 在大多数数据集中,PPT 明显优于 Vanilla PT 和 LM Adaption。
3. PPT 在所有中文数据集和大多数英文数据集上都优于 10B 模型的 FT。
4. PPT 在大多数数据集上会产生较小的方差,相比之下,一般的 few-shot 学习常存在不稳定性,例如 Vanilla PT。
5. Unified PPT 可以达到与 PPT 和 Hybrid PPT 相当甚至更好的性能。
参考文献:
清华刘知远、黄民烈团队力作:一个「PPT」框架,让超大模型调参变简单
论文笔记:PPT: Pre-trained Prompt Tuning for Few-shot Learning相关推荐
- 【论文笔记】Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized
论文 论文题目:Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personaliz ...
- 【论文笔记】Incorporating Learnable Membrane Time Constant to Enhance Learning of SNN
写在前面 本文是对论文Incorporating Learnable Membrane Time Constant to Enhance Learning of Spiking Neural Netw ...
- 论文笔记 | Self-organized Text Detection with Minimal Post-processing via Border Learning
论文链接:http://openaccess.thecvf.com/content_ICCV_2017/papers/Wu_Self-Organized_Text_Detection_ICCV_201 ...
- 【论文笔记】:PyramidBox :A Context-assisted Single Shot Face Detector
&Title ECCV2018 . baidu PyramidBox :A Context-assisted Single Shot Face Detector [论文翻译]:PyramidB ...
- 论文笔记 NAACL 2021|Document-level Event Extraction with Efficient End-to-end Learning of Cross-event De
文章目录 1 简介 1.1 动机 1.2 创新 2 背景知识 3 方法 3.1 基础模型 3.2 跨事件依赖 4 实验 1 简介 论文题目:Document-level Event Extractio ...
- 【论文笔记】(VC)《Combining Progressive Rethinking and Collaborative Learning: ... for In-Loop filtering》
<Combining Progressive Rethinking and Collaborative Learning: A Deep Framework for In-Loop Filter ...
- 【论文笔记】(JSMA)The Limitations of Deep Learning in Adversarial Settings
引流:https://www.cnblogs.com/setdong/p/16414390.html 本文是早期的对抗文章,发表于 EuroS&P 2016会议,最主要的工作是:提出了一个生成 ...
- 论文笔记:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
1 简介 论文:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning 发表:2 ...
- 论文笔记之:Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic
前言:不知道你是否被这张实验效果图所震撼?Yes, I do. 那么他是怎么做到的呢?本文提出了一种给灰度图像自动上色的框架,结合了图像的局部和全局先验知识 (both global priors a ...
- 【论文笔记】分层强化学习鼻祖:Feudal Reinforcement Learning 1993
1993年的分层强化学习:Feudal Reinforcement Learning 概括 1992年没有深度学习,人们研究RL的思路与现在并不相同.但不可否认,提出"分层强化学习" ...
最新文章
- python中cgi到底是什么_十分钟搞懂什么是CGI(转)
- (总结)HTTP常见错误返回代码
- sorl6.0+jetty+mysql搭建solr服务
- 基于matlab的ldpc编码的构造,基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)...
- thinkpadx1mdt 网络启动_联想ThinkPad X1 Carbon 2020如何进入bios设置从U盘启动?
- 【2021团体程序设计天梯赛】L1部分(PTA,L1-073到L1-080)题解代码
- 解决:Ubuntu18.04配置exoprt LC_ALL=C后无法打开终端
- js计算字典的个数_第11天:Python 字典
- java 静态方法 非静态变量_深度分析:Java 静态方法/变量,非静态方法/变量的区别,今天一并帮你解决!...
- Win32子系统(csrss.exe,win32k.sys相关知识总结)
- photoshop 插件_Photoshop的光度模式
- 从0教你用Python写网络爬虫,内容详细代码清晰,适合入门学习
- 樊登读书搞定读后感_《读懂一本书:樊登读书法》读后感
- oracle保留小数位数
- 一个小把戏算法,获取大乐透,并且计算出最佳的结果(Qt C++ 和Android共用)
- FATFS文件系统复制文件
- 原生js实现简易版消消乐
- OpenGL(5)Texture - 两张图片
- [zz]澄清P问题、NP问题、NPC问题的概念
- 计算机选择开机账户,Windows开机显示Administrator帐户的方法