预训练模型之Huawei Nezha

好久没更新blog了,这十几天一直忙着在腾讯适应工作环境,互联网大厂的生活确实是挺忙的,建议对互联网大厂怀有幻想的小伙伴争取在读书的时候去实习体验一下,再康康自己适不适合这种生活。

好了,废话不多说,笔者今天更新一遍关于预训练模型的短文,讲一下集预训练模型所长的huawei nezha。

预训练模型bert原理与应用,笔者在之前已经做了比较详细的介绍了,这里就直接将nezha相对于bert到底改了哪些点。

BERT的原理与应用

1.1 相对位置编码

Bert的position embedding是直接初始化一个embedding,然后通过预训练去学的,而nezha是通过下面这个三角函数公式设置一个position embedding,也就是position embedding。

使用选择固定的正弦函数的好处:主要是因为它可以使模型外推到比训练中遇到的序列长的序列长度。

1.2 全词掩盖(Whole Word Masking,wwm)

这个策略和bert_wwm以及百度的ernie没啥差别,就是在生成预训练样本过程时,不再采用随机掩盖token的方式,而是随机掩盖词组的方式,这样能充分让模型学习词汇信息。

BERT与其他预训练模型

1.3 混合精度训练

该技术可以将训练速度提高2-3倍,还可以减少模型的空间消耗,从而可以在预训练过程中使用更大的batch。

1.4 LAMB Optimizer

《Large Batch Optimization for Deep Learning:Training BERT in 76 minutes》文章提出的一个优化器,它可以将预训练bert时间从三天降到76分钟,为此,nezha也用上了。

1.5 总结

虽说Nezha咋一看其实毫无亮点,只是将bert之后的所有预训练模型长处拼接在一起,但它的性能确实得到了不少得提升,这里还是建议大家去用一下。

至于为啥要写这篇blog,纯粹是笔者觉着自己好久没写长文,码字的感觉有点稀疏了,所以就花十几分钟对之前用过的nezha总结一下,练练手感。

2.求个赞

关注我的微信公众号【阿力阿哩哩】~不定期更新相关专业知识~

喜欢就点个赞吧~

你可能感兴趣的:(预训练模型之Huawei Nezha)