MLM

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

注意:仅运行 MLM 不会产生好的句子嵌入。但您可以首先使用 MLM 在您的领域特定数据上微调您喜欢的 Transformer 模型。然后,您可以使用您拥有的带标签数据或使用其他数据集(如NLI释义STS)来微调模型。

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 网络的单个输入,即一个句子或一个段落。

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