transformers的TFBertForMaskedLM。

TFBertForMaskedLM

这个类一样属于一个基类,主要是做Mask预测的,也就是说你可以对句子随机进行遮蔽(Mask),当然,这也是Bert预训练的任务之一(另一个是NSP,不过越来越多的实验表明,NSP并不是一个好的预训练任务——至少现在不是,可能是由于NSP的loss计算或者什么原因)。

直接分析源码吧

源码

记得之前提过的TFBertForPreTraining吗?对比一下两段源码:

TFBertForMaskedLM:

init:

call:

TFBertForPreTraining:

init:

call:

可以看出来, TFBertForMaskedLM 就是 TFBertForPreTraining 的青春版,并且可以预料的到,还有另一个青春版是专门做NSP任务的。

演示

做一个简单演示,可以观察到模型可以正确的预测Mask掉位置正确的输出。


0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注