简介
日常学习苏神的笔记,小伙伴感兴趣一定要去看原文,毕竟我的理解和苏神不在一个层次上。原文链接如下:必须要GPT3吗?不,BERT的MLM模型也能小样本学习
当年GPT3刚出来时,就是主打的小样本学习,但随之而来的就是超级大的参数量,使得在小公司根本无法承受。于是有作者提出了,用Bert的MLM思想就可以在Bert上做小样本学习了。接下来,让我和大家一起来了解一下吧。
MLM简介
MLM,全称是Masked Language Model, 也是Bert在预训练的一个任务,即是在训练时将输入的tokens随机mask掉一部分,然后模型去预测被mask的字词。示意图如下所示:
其中mask有多种方式,包括随机选择token进行mask,还有随机选择连续的能组成一个整词进行mask,后者就是哈工大的WWM(Whole Word Masking).
但随着更为深入的研究,
MLM的作用远不止于此。比如
- 下述论文指出
MLM可以作为一般的生成模型使用 《BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model》 - 将
MLM用于文本纠错《Spelling Error Correction with Soft-Masked BERT》 等等一系列的MLM后续的扩展工作,所以MLM待挖掘的工作其实还有很多。
将任务转化为完形填空
这里我们会再学习到MLM另一个精彩的应用: 用于few-shot learning或semi-supervised learning,在某些场景下甚至可以做到zero-shot learning.
具体的做法即是:即可。举个例子,假如有个句子是:这趟成都之旅给我印象很深刻。我们补充一个描述,将其转换为完形填空,如下:
"__满意,这趟成都之旅给我印象很深刻"
这样,我们便构造出了情感二分类这样一个完形填空的任务,如果空格出的填写字符很的概率大于不的概率,说明情感是positive的,否则情感是negative的。所以这就实现了将情感二分类任务完美转换为了一个完形填空任务,只需要根据MLM的字预测结果,从而达到情感分类的效果。因此,在理论上来说,这是可以做到zero-shot learning的,不需要有监督的进一步训练,即可完成情感分类。
上述是二分类任务,对于多分类任务当然也可以做类似的转换。比如,输入的句子为:奥运会要到了,马上就可以看到女排姑娘英姿飒爽的一面了。我们稍作补充,就可以构建为:
"通过看___新闻才知道,奥运会到了,马上就可以看到女排姑娘英姿飒爽的一面了"
这样就将新闻主题的多分类任务,转化为了完形填空任务了。理论上,好的MLM模型可以预测出来体育这两个主题词.
Pattern-Exploiting
其实,从上述的例子就可以看出来,这里的完形填空构建,其实就是通过给原文本加上一个前缀或者后缀描述,并且mask其中的某些token,转换为一个完形填空问题, 这样的转换在原论文中称之为Pattern.而且,加入的部分要尽可能跟原来的句子组成一句自然的话,也就是自然语言,不能过于生硬。因为预训练的MLM就是自然语言上进行的。
显然,对于同一句话,构造的方式有很多种,即有多种不同的Pattern。然后更重要的是,我们需要构造预测token的候选空间,并且简历token到实际类别的映射关系,原文称之为Verbalizer。比如情感分类中,我们的候选空间是{很,不},映射关系可以是 很-->正面, 不-->负面。当然,候选的空间和实际类别不一定是一一映射,这很好理解,因为映射关系有可能存在{很,特,太} --> 正面,{不,难} --> 负面等等情况,所以以上很显然,以上这种转换只适用于候选空间有限的任务,说白了,就是只用来做选择题,常见任务就是分类。
所以对于以上这种情况,原论文的处理方式是:
1. 对于每一种Pattern,单独用训练集finetune一个MLM模型出来
2. 然后用不同的pattern对应的模型进行集成,得到融合模型
3. 用融合模型预测为标注数据的伪标
4. 用伪标签数据再finetune一个常规的(非MLM)模型