如何使用 Huggingface 使用自定义(原始文本)域特定数据集训练 BERT?

时间:2021-03-28 12:59:43

标签: python nlp pytorch bert-language-model huggingface-transformers

我想用一些自己的数据集训练/微调 BERT 模型,这些数据集只包含来自特定领域的原始数据,类似于 BioBERT。在第一步中,我只想用这些原始数据训练 BERT,而不用任何特定的 NLP 任务进行微调。所以,我想建立一个基础,我可以用它来微调特定任务的带注释的训练数据,例如 NER 等。 这可能以我计划的方式进行吗?

我尝试使用 Huggingface 的示例脚本:https://github.com/huggingface/transformers/tree/master/examples/language-modeling

我通过以下方式使用了 run_mlm 脚本:

python run_mlm.py \
    --model_name_or_path bert-base-uncased\
    --train_file /path/to/text_file.txt \
    --do_train \
    --output_dir /out

我得到了一些输出,但如何评估生成的模型? 有一些我想尝试但失败的内在评估方法,比如词相似或词类比。

如果你能帮助我解决我的问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

要评估屏蔽语言模型,有两种策略:

  • 内在评估,您在问题中提到。这通常以困惑度作为指标来完成,并在 BERT 等论文中有所提及。
  • 外部评估:这是对 GLUE 等基准集的微调。

尽管您要求使用内在评估方法,但我还是建议您执行一些微调任务。这可以是 GLUE,也可以是您的 NER 任务。