小编tlq*_*lqn的帖子

如何在 MLM 和 NSP 的新领域从头开始训练 BERT?

我\xe2\x80\x99m 尝试使用我自己的数据集和 HuggingFace 库从头开始训练 BERT 模型。我想以一种与原始 BERT 模型完全相同的架构来训练模型。

\n

在原始论文中,它指出:\xe2\x80\x9cBERT 在两个任务上进行训练:预测随机掩码标记(MLM)和预测两个句子是否相互跟随(NSP)。SCIBERT 遵循与 BERT 相同的架构,但在科学文本上进行了预训练。\xe2\x80\x9d

\n

I\xe2\x80\x99m 试图了解如何在上述两个任务上训练模型。目前,我初始化模型如下:

\n
from transformers import BertForMaskedLM\nmodel = BertForMaskedLM(config=config)\n
Run Code Online (Sandbox Code Playgroud)\n

然而,它仅适用于 MLM,而不适用于 NSP。我怎样才能用 NSP 初始化和训练模型,或者也许我原来的方法就很好?

\n

我的假设是

\n
    \n
  1. 初始化BertForPreTraining(对于 MLM 和 NSP),或者

    \n
  2. \n
  3. 完成训练后BertForMaskedLM,初始化相同的模型并再次训练BertForNextSentencePrediction(但这种方法\xe2\x80\x99s计算和\n资源将花费两倍\xe2\x80\xa6)

    \n
  4. \n
\n

I\xe2\x80\x99m 不确定哪一个是正确的方法。任何见解或建议将不胜感激。

\n

nlp transformer-model deep-learning bert-language-model huggingface-transformers

12
推荐指数
2
解决办法
1万
查看次数