transformers的TFBertForMaskedLM。
TFBertForMaskedLM
这个类一样属于一个基类,主要是做Mask预测的,也就是说你可以对句子随机进行遮蔽(Mask),当然,这也是Bert预训练的任务之一(另一个是NSP,不过越来越多的实验表明,NSP并不是一个好的预训练任务——至少现在不是,可能是由于NSP的loss计算或者什么原因)。
直接分析源码吧
源码
记得之前提过的TFBertForPreTraining吗?对比一下两段源码:
TFBertForMaskedLM:
init:
call:
TFBertForPreTraining:
init:
call:
可以看出来, TFBertForMaskedLM 就是 TFBertForPreTraining 的青春版,并且可以预料的到,还有另一个青春版是专门做NSP任务的。
演示
做一个简单演示,可以观察到模型可以正确的预测Mask掉位置正确的输出。
0 条评论