最近整理预训练模型,又复习看了几篇BERT变体的论文,无外乎都是从「模型架构、MASK方式、预训练目标」入手,实话实说,感觉没有太大的创新。而且这类模型大部分只发布了英文版本,市面上也没有可用的中文版本,在中文上的效果不得而知。 不过思考一下作者们基于BERT作各种优化背后的原因和动机,是件十分有趣的事情,也当开拓一下思路。所以这篇博客记录一下,主要包括SpanBERT、MPNet、MASS、BART这四个模型,其中SpanBERT、MPNet是进一步优化NLU任务,MASS、BART是为了优化NLG任务。 SpanBERT论文全称及链接:《SpanBERT: Improving Pre-training by Representing and Predicting Spans》[1] 与BERT不同,SpanBERT主要是在MASK策略和预训练目标上,如下图所示
消融实验比较了Masking的策略,包括
从实验看到,SpanBERT的效果是最好的,带给我们的思考是「不要纠结于mask的是一个完成的词,还是完成的短语,还是完整的实体?只要mask的是一段连续的Span即可」。
从实验结果可以看到,去到NSP任务,采样的时候从单个文档得到segment,增加SBO任务都能带来效果的提升。 MPNet论文全称及链接:《MPNet: Masked and Permuted Pre-training for Language Understanding》[2] 论文的开头,就直接指出BERT的Output Dependency缺点和XLNet的Input Consistency缺点,
这里吐槽一下,Input Consistency在大部分论文里不应该是BERT的问题吗?因为BERT的输入带有【MASK】 token,但在下游任务时,输入是没有【MASK】 token的,但在这篇论文里反正成为了PLM的问题,当然,PLM也有这种问题,但感觉没有BERT的那么严重。。。 进一步的,作者把BERT和PLM都放入到一个统一的架构中来,如下图所示, 然后,作者提出MPNet来改进Output Dependency和Input Consistency问题,具体的如下图所示, 图中, 是permuted后待预测的token,假如现在要预测的是 ,按PLM来说,是看不到 的信息的,但这里经过巧妙的设计,让预测 时, 也作为输入,相当于模型在预测 时,也能看到 的位置信息,从而解决Input Consistency问题,作者把这称为position compensation。除此之外,在预测 时,也能利用到 作为输入,从而解决Output Dependency问题。 消融实验
MASS论文全称及链接:《MASS: Masked Sequence to Sequence Pre-training for Language Generation》[3] MASS主要是弥补BERT对于NLG任务的不足,这一类对于NLG任务的优化,大部分采用的是encoder-doceder的架构,因为这种架构天然适合于作生成任务。 MASS也不例如,采用的同样是encoder-decoder架构。 任务是「给定一个句子,从里面抽取一个片段,encoder端输入被抽取片段后的句子,docoder输出预测该片段」。 具体的如下图所示,图中 为句子序列,从里面抽取出片段 (或者说把它们mask掉),encoder的输出端变成 ,decoder的输出目标就是被抽取的片段 ,注意哦,「decoder的输入端是不包括没被mask的token的哦」。 作者对这任务作了很漂亮的解释
作者还比较了当mask片段的长度不同的,MASS就变成我们所熟悉的模型。如当被mask的片段长度 时,MASS变成成BERT,当 (m为句子序列长度),MASS变成了GPT,如下图所示。 消融实验
从下图的实验结果可以看出MASS效果是最好的。 BART论文全称及链接:《BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension》[4] 同MASS一样,同样是为了优化NLG任务,所以采用的是encoder-decoder架构,整体思路分两步:
如下图所示,(a)和(b)分别是BERT和GPT的预训练目标,(c)是BART的预训练目标,对原序列ABCDE进行噪声处理,这里采用了shuffle和token infilling。 实际上,作者在论文中比较过几种noising function,包括
作者经过实验,最后采用的是Text Infilling和Sentence Permutation相结合。 除此之外,虽然BART的提出是为了弥补BERT在NLG任务中的不足,但是作者也通过实验论证了,BART在NLU任务中也能取得不俗的表现。下图为BART应用于NLU任务和NLG任务的例子。 |
|