MLM

掩码语言模型 (MLM) 是 BERT 预训练的过程。已经表明,在您自己的数据上继续 MLM 可以提高性能(参见Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks)。在我们的TSDAE 论文中,我们还表明 MLM 是学习句子嵌入的强大预训练策略。当您在某些专业领域工作时,尤其如此。

注意: 仅运行 MLM 不会产生良好的句子嵌入。但是您可以首先使用 MLM 在您的特定领域数据上调整您喜欢的 transformer 模型。然后,您可以使用您拥有的标记数据或使用其他数据集(如NLIParaphrasesSTS)微调模型。

MLM working

运行 MLM

train_mlm.py 脚本提供了一个简单的选项来在您的数据上运行 MLM。您可以通过以下方式运行此脚本

python train_mlm.py distilbert-base path/train.txt

您还可以提供一个可选的开发数据集

python train_mlm.py distilbert-base path/train.txt path/dev.txt

train.txt / dev.txt 中的每一行都被解释为 transformer 网络的输入,即一个句子或段落。

有关如何使用 huggingface transformers 运行 MLM 的更多信息,请参阅语言模型训练示例