论文解读:Making Pre-trained Language Models Better Few-shot Learners(LM-BFF)
Making Pre-trained Language Models Better Few-shot Learners
陈丹琦团队提出的一种改进GPT-3的模型,其可以扩展到任意的预训练模型上,并可以在小样本情景下更好的进行微调。
简要信息:
序号 | 属性 | 值 |
---|---|---|
1 | 模型名称 | LM-BFF |
2 | 所属领域 | 自然语言处理;文本分类 |
3 | 研究内容 | 预训练语言模型;Prompt框架 |
4 | 核心内容 | Prompt-based Fine-tuning |
5 | GitHub源码 | https://github.com/princeton-nlp/LM-BFF |
6 | 论文PDF | https://arxiv.org/pdf/2012.15723v2.pdf |
核心要点:
- Template的构建:基于T5模型生成和排序方法生成离散template;
- Verbalizer的构建:基于排序搜索方法;
- 通过交叉验证方法获得最优的template和verbalizer;
1、动机
GPT-3在小样本上进行微调获得了很大的效果,但其参数太多,不适用于真实场景,因此受到GPT-3的启发,我们提出一种LM-BFF(小样本微调预训练模型),主要包括:(1)基于提示(prompt)的微调方法,且提出自动生成提示模板的方法;(2)动态选择样本示例。
根据GPT-3的思想,我们使用prompt-based微调方法。prompt-based方法将下游的任务视为一种mask language model。因此其需要为这些prompt生成mask标签,GPT-3提供的是人工标注方法,可能会由于一定的baise导致陷入局部最优问题,因此我们选择使用T5模型来自动创建prompt模板
另外,我们也采用in-context的微调方法,即随机从语料中选择32个样本,直接拼接到输入的句子上。然而,可能存在两个问题:句子长度可能会超过一定的限制;从不同类中随机混合的样本可能会导致很难训练。为了解决这个问题,我们提出一种refined策略,对于每一个输入句子,随机从每一个类中随机挑选一个样本,为了避免第二个问题,则事先计算好句子相似度,只在相似度高的样本中挑选。
2、prompt-based fine-tuning
在标准的微调方案中,通常输入句子为 [CLS]sentence1[SEP]或者成对的句子 [CLS]sentence1[SEP]sentence2[SEP],然后在[CLS]部分添加一个额外的分类器(线性层+softmax)。这种方法会引入新的参数,且在训练过程中会导致局部最优。
一种缓解的方法是,采用prompt-based fine-tuning,将下游任务视为一种mask language model的auto-completion任务。例如输入的句子是:
xprompt=[CLS]x1Itwas[MASK].[SEP]x_{prompt} = [CLS]x_1 It\ was\ [MASK]. [SEP]xprompt=[CLS]x1It was [MASK].[SEP]
其中 x1x_1x1 表示输入的句子,后面的 It was [MASK]则表示一个prompt(提示模板),其中[MASK]部分则为一个标签词,其作为当前句子所属类的标签的代替词,(例如对于电影评论类任务(二分类),其包含positive和negative,则可以分别使用great和terrible两个词作为两个类的标签词)。
当作为分类任务时:
我们可以发现,其将分类问题完全的转化为mask language model。原始是给定一个输入句子,其属于对应某个类的概率。而转化后的问题,即给定一个输入句子 xinx_{in}xin 时,其提示prompt中[MASK]为对应标签 yyy 的标签词 M(y)\mathcal{M}(y)M(y) 时的概率。其中预测 yyy 的概率转化为预测其映射的标签词 M(y)\mathcal{M}(y)M(y) 的概率。
作者发现,生成不同的模板或不同的标签词,都会对预测的结果产生很大的影响,如图所示:
例如。对于同一个标签词,如果prompt的模板不同(删除某一个标点符号),会产生较大的影响;或者当选择不同的标签词时,对预测的结果也会产生影响。作者归结于这是人工设计模板和标签词的缺陷。因此作者提出一种自动创建模板的方法。
3、Automatic Prompt Generation
自动选择label words
通过验证集的方法,对所有候选的标签词进行验证,挑选输出概率最高的:
自动生成模板
模板生成方法步骤(如下图所示):
(1)给定获得的候选标签词(例如great或terrible等可以作为二分类任务中代表的词);
(2)并在标签词前后添加填充位或(作者列出了三种填充位的方法,如上图),然后将其喂入T5模型中,自动为和生成序列。
(3)最后将标签词(great或terrible)转换为[MASK]标签,形成多个模板
(4)采用集束搜索来解码生成多个候选模板,然后对每一个候选模板利用dev集微调、选择其中一个最佳模板。
4、Fine-tuning with demonstrations
除了引入prompt外,作者还加入了一些in-context信息。这里也是参考GPT-3模型。GPT-3采用添加上下文样本示例进行微调,其随机挑选32个训练样本,以上下文的形式直接拼接到输入样本句子上,其存在两个问题:
- 样本示例的数量会受到模型最大输入长度的限制;
- 不同类型的大量随机示例混杂在一起,会产生很长的上下文,不利于模型学习。
boke
in-context demonstration方法:
对于每一个输入句子 xinx_{in}xin,从训练样本中的每一类随机采样一个样本,并得到该类的代表性的标签词,然后通过T5为其生成一个模板,并与该样本拼接形成prompt。每个类都会得到这样的prompt,全部与输入样本拼接,拼接后如下图所示。
在挑选时,作者发现只需要对每一个类挑选一个样本即可,而挑选多个发现效果没有提升。另外为了保证挑选出来的句子与输入句子更加相似,作者事先对输入句子与每个样本计算了余弦相似度,并取前50%的样本中随机挑选。
实验效果
作者在诸多个数据集上进行了测试,数据集如图所示:
实验结果如下:
作者进行了大量的实验,此处只列出一个针对小样本场景下的,基于prompt和in-context的微调方法(LM-BFF)与标准的微调方法对比,可知,在只有少量样本(数量 KKK 很小时),LM-BFF就可以达到很好的微调效果了。
5、总结
优点:
(1)提出prompt-based微调策略,并自动化生成prompt模板;
(2)动态选择样本示例,用于in-context训练。
缺点:
(1)LM-BFF仍落后基于全量标注数据的标准微调方法
(2)仅适用少量类别,句子模板长度受限等
相关文献:How many Data Points is a Prompt Worth?
参考博客:【NAACL21】老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!…
论文解读:Making Pre-trained Language Models Better Few-shot Learners(LM-BFF)相关推荐
- 论文解读:It’s Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners
论文解读:It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners PET作者认为之前的P ...
- GPT2.0 Language Models are Unsupervised Multitask Learners 论文解读
转载请注明出处,原文地址 本文是对<Language Models are Unsupervised Multitask Learners>的翻译,部分内容可能会存在理解错误,如有错误欢迎 ...
- 【研一小白论文精读】《Big Self-Supervised Models are Strong Semi-Supervised Learners》
[研一小白论文精读] 研一已经开学了,距离上一次自己写博客也有一段时间了,上一次写的博客我自己看简直又臭又长,这次是第二次,也不知道能不能做出一些改变.首先声明,我自己仍然是一个学术小白,理论基础极差 ...
- 【论文笔记】Character-Aware Neural Language Models
一.概要 该文章发于AAAI 2016,作者提出了仅建立在字符输入,预测在词水平上进行的一个神经语言模型(NLM).当输入一个LSTM循环神经网络语言模型(RNN-LM)时,该模型在字符上启用了一 ...
- Language Models are Unsupervised Multitask Learners 论文纪要
本文是完整读过GPT-2 paper之后记录下来的觉得重要的地方,其中大部分摘自paper原文,有用中文部分记录自己读paper时想到的东西以及不懂的地方,求指教! 读GPT-2 paper之前可以作 ...
- 论文阅读9-Fine-tuning Pre-Trained Transformer Language Models to(远程监督关系抽取,ACL2019,GPT,长尾关系,DISTRE)
文章目录 abstrac 1.Introduction 2 Transformer Language Model 2.1 Transformer-Decoder 2.2 Unsupervised Pr ...
- 论文解读 X-CLIP : Expanding Language-Image Pretrained Models for General Video Recognition
一. 摘要 如何将现有的图像 - 文本多模态大模型(例如 OpenAI CLIP)用于视频内容理解,是一个非常实用且具有前景的研究课题.它不仅可以充分挖掘图像大模型的潜力,还可以为视频大模型的设计和研 ...
- Language Models are Unsupervised Multitask Learners 笔记
语言模型是无监督的多任务学习者 摘要 自然语言处理任务,如问题回答.机器翻译.阅读理解和总结,通常是通过任务特定数据集上的监督学习来完成的.我们证明,当语言模型在一个称为WebText的数百万网页的新 ...
- 【论文解读 ACL 2019 | PLMEE】Exploring Pre-trained Language Models for Event Extraction and Generation
论文题目:Exploring Pre-trained Language Models for Event Extraction and Generation 论文来源:ACL 2019 国防科技大学 ...
- Paper:GPT-3《 Language Models are Few-Shot Learners》的翻译与解读
Paper:GPT-3< Language Models are Few-Shot Learners>的翻译与解读 目录 <GPT-3: Language Models are Fe ...
最新文章
- CentOS7防火墙服务(Firewalld)关闭实战
- 数据库入门经典基础总结
- 【Java报错】Greenplum数据库报错 Value can not be converted to requested type 问题解决(踩坑分享)
- == 和 equals() 区别
- java 股票 代码_Java中利用散列表实现股票行情的查询_java
- 画流程图activiti流程图_干货!小白也能一天画100张高逼格流程图
- [转]VC工程文件说明
- SWEBOK软件工程知识体系 - 7.软件工程管理
- rtc芯片rx8025t在linux 3.10下的的驱动
- vue基于ECharts的股票行情分时图绘制
- 英语学习第5篇_并列句
- 哪些数学特征可以用来描述一组数据
- 基因组dna,sm,rm序列类型说明
- SMT打样-邮票孔拼版制作方法
- jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片
- xxx2xxx转换工具邪恶八进制收集整理上传专用主题(不断更新)https://forum.eviloctal.com/viewthread.php?tid=14426
- ArcGIS10 图框生成和批量打印工具V5.0正式发布
- 评价算法的优劣标准有什么?
- 计算机与自动化结合的论文,论计算机办公自动化的发展趋势_优秀论文
- LB和ZLY的软考锦鲤
热门文章
- 【win10网络重置后,网络适配器消失或者不能使用】
- ip地址为61.179.150.39/28,问其子网号为多少,广播号为多少,可用ip地址范围是多少
- Only fullscreen opaque activities can request orientation 最好的解析
- 【GO】panic: reflect.Value.Interface: cannot return value obtained from unexported field or method
- LeetCode——5776. 判断矩阵经轮转后是否一致(Determine Whether Matrix Can Be Obtained By Rotation)[简单]——分析及代码(Java)
- 每周博客 农历二月二(理发的日子)
- android 9.0 10.0 Launcher3修改workspace字体颜色
- 3D LUT调色:单反如何实现电影级调色。
- html新浪短域名api,新浪短网址官方api接口
- RNN网络对新冠疫情进行预测