MLM

掩码语言模型(Masked Language Model,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 网络的一个输入,即一个句子或一个段落。

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