EBET易博后BERT时代:15个预训练模型对比分析与关键点探索(附链接)

  新闻资讯     |      2023-05-23 15:06

  本文对ELMo以来的15个代表性的预训练语言模型进行了多维度的对比和分析。

  在之前写过的《NLP的游戏规则从此改写?从word2vec,ELMo到BERT》一文中,介绍了从word2vec到ELMo再到BERT的发展路径。而在BERT出现之后的这大半年的时间里,模型预训练的方法又被Google、Facebook、微软、百度、OpenAI等极少数几个玩得起游戏的核心玩家反复迭代了若干版,一次次的刷新我们这些吃瓜群众的案板上的瓜。

  有没有感觉出瓜速度太快以至于吃速跟不上?不用担心,小编帮你们找来了这篇总结的恰到好处的文章,对ELMo以来的15个代表性的预训练语言模型进行了多维度的对比和分析。尤其是近期找工作的小伙伴们注意啦,这篇文章里面提出来的一些问题很适合作为面试考点(划掉,交流点)噢~

  七.预训练语言模型的未来一、不同视角下的预训练语言模型对比Q1:从不同维度对比【预训练语言模型】

  优点:本质为降噪自编码特征表示,通过引入噪声[MASK]构建MLM,获取上下文相关的双向特征表示;

  缺点:引入独立性假设,为联合概率的有偏估计,没有考虑预测[MASK]之间的相关性

  不适合直接处理生成任务,MLM预训练目标的设置造成预训练过程和生成过程不一致;

  预训练时的[MASK]噪声在finetune阶段不会出现,造成两阶段不匹配问题;

  都通过一些技巧解决finetune过程中的灾难性遗忘问题:如果预训练用的无监督数据和任务数据所在领域不同,逐层解冻带来的效果更明显[9];

  辅助目标(辅助目标对于大数据集有用,小数据反而有所下降,与SiATL相反),解决finetune过程中的灾难性遗忘;

  没有针对特定模型的精调流程:GPT2.0认为预训练中已包含很多特定任务所需的信息。

  这一部分对BERT的内核机制进行介绍,在回答“BERT为什么如此有效?”之前,首先介绍Transformer的内核机制。

  本质是self attention通过attention mask动态编码变长序列,解决长距离依赖、无位置偏差、可并行计算

  当输入信息的维度 d 比较高,点积模型的值通常有比较大方差,从而导致 softmax 函数的梯度会比较小。因此,缩放点积模型可以较好地解决这一问题。

  双线性点积模型,引入非对称性,更具健壮性(Attention mask对角元素值不一定是最大的,也就是说当前位置对自身的注意力得分不一定最高)。

  常用的Attention机制为加性模型和点积模型,理论上加性模型和点积模型的复杂度差不多,但是点积模型在实现上可以更好地利用矩阵乘积,从而计算效率更高(实际上,随着维度d的增大,加性模型会明显好于点积模型)。

  Transformer中先通过切头(spilt)再分别进行Scaled Dot-Product Attention,可以使进行点积计算的维度d不大(防止梯度消失),同时缩小attention mask矩阵。

  2)Position-wise Feed-Forward Networks

  到一个更大维度的特征空间,然后使用ReLU引入非线性进行筛选,最后恢复回原始维度。

  Transformer在抛弃了 LSTM 结构后,FFN 中的 ReLU成为了一个主要的提供非线性变换的单元。

  1. 由于BERT本身在预训练过程和生成过程的不一致,并没有做生成任务的相应机制,导致在生成任务上效果不佳,不能直接应用于生成任务。2. 如果将BERT或者GPT用于Seq2Seq的自然语言生成任务,可以分别进行预训练编码器和解码器,但是编码器-注意力-解码器结构没有被联合训练,BERT和GPT在条件生成任务中只是次优效果。五、BERT系列模型进展介绍

  Q12:针对BERT原生模型,后续的BERT系列模型是如何引入【知识】的?

  在预训练阶段引入知识(实际是预先识别出的实体),引入3种[MASK]策略预测:

  Basic-Level Masking:跟BERT一样,对subword进行mask,无法获取高层次语义;

  过程有很大的不同,会产生两个独立的向量空间。为解决上述问题,在有实体输入的位置,将实体向量和文本表示通过非线性变换进行融合,以融合词汇、句法和知识信息;

  引入改进的预训练目标 Denoising entity auto-encoder (DEA):要求模型能够根据给定的实体序列和文本序列来预测对应的实体;

  Q13:针对BERT原生模型,后续的BERT系列模型是如何引入【多任务学习机制】的?

  MTDNN是在下游任务引入多任务机制的,而ERNIE 2.0 是在预训练引入

  持续更新预训练模型,这种连续交替的学习范式不会使模型忘记之前学到的语言知识。

  将3大类任务的若干个子任务一起用于训练,引入新的任务时会将继续引入之前的任务,防止忘记之前已经学到的知识,具体是一个逐渐增加任务数量的过程[22]:

  Q14:针对BERT原生模型,后续的BERT系列模型是如何改进【mask策略】的?

  BERT WWM(Google):按照whole word维度进行mask,然后进行预测;

  ERNIE等系列:引入外部知识,按照entity维度进行mask,然后进行预测;

  SpanBert:不需要按照先验的词/实体/短语等边界信息进行mask,而是采取随机mask:

  采用Span Masking:根据几何分布,随机选择一段空间长度,之后再根据均匀分布随机选择起始位置,最后按照长度mask;通过采样,平均被遮盖长度是3.8 个词的长度;

  引入Span Boundary Objective:新的预训练目标旨在使被mask的Span 边界的词向量能学习到 Span中被mask的部分;新的预训练目标和MLM一起使用;

  注意:BERT WWM、ERNIE等系列、SpanBERT旨在隐式地学习预测词(mask部分本身的强相关性)之间的关系[23],而在 XLNet 中,是通过 PLM 加上自回归方式来显式地学习预测词之间关系;

  Q15:针对BERT原生模型,后续的BERT系列模型是如何进行【精细调参】的?

  在BERT系列模型后,Google发布的XLNet在问答、文本分类、自然语言理解等任务上都大幅超越BERT;XLNet的提出是对标准语言模型(自回归)的一个复兴[25],提出一个框架来连接语言建模方法和预训练方法。

  天然适合处理生成任务,但是无法对双向上下文进行表征,因此人们反而转向自编码思想的研究(如BERT系列模型);

  BERT系列模型引入独立性假设,没有考虑预测[MASK]之间的相关性;

  预训练时的[MASK]噪声在finetune阶段不会出现,造成两阶段不匹配问题;

  有什么办法能构建一个模型使得同时具有AR和AE的优点并且没有它们缺点呢?

  如果衡量序列中被建模的依赖关系的数量,标准的LM可以达到上界,不像MLM一样,LM不依赖于任何独立假设。借鉴 NADE[27]的思想,XLNet将标准的LM推广到PLM。

  将LM的顺序拆解推广到随机拆解,但是需要保留每个词的原始位置信息(PLM只是

  是共享的,PLM就一定可以学习到各种双向上下文;换句话说,当我们把所有可能的