【问题标题】:Input format for BERT fine-tuning on corpusBERT 在语料库上微调的输入格式
【发布时间】:2020-11-26 15:19:24
【问题描述】:

我想使用以下 git repo 在特定语言域上微调 BERT:

https://github.com/cedrickchee/pytorch-pretrained-BERT/blob/master/examples/lm_finetuning/README.md

关于输入格式,它说:

此文件夹中的脚本需要一个文件作为输入,包括 未标记的文本,每行一个句子,一个空行 文档之间。句子分裂的原因是那部分 BERT 的训练涉及下一个句子目标,其中 模型必须预测两个文本序列是否是连续文本 是否来自同一个文档,为了避免使任务过于简单, 序列之间的分割点总是在 a 的末尾 句子。因此,文件中的换行符对于标记是必要的 可以分割文本的点。

在这方面,它们对文档意味着什么?据我了解,用于微调的.txt 文件仅包含大量特定领域的文本,每行一个句子。可以肯定的是,如果我想在特定语言域上微调 BERT,使用此存储库是否正确?

感谢您的帮助!

【问题讨论】:

    标签: python nlp bert-language-model transformer


    【解决方案1】:

    您正在谈论的脚本是继续预训练的正确脚本。原始 BERT 使用下一句预测作为辅助目标。当提供一对句子(由[SEP] 标记分隔)时,[CLS](第一个)标记的嵌入用作分类器的输入,用于判断句子是否在连贯的文本中相邻与否。

    这就是空行的作用:在文档边界上,句子不能相邻。

    但是,下一句目标的贡献是有争议的。例如,RoBERTa 认为它是多余的,仅使用掩码语言建模目标 a 仍然比原始 BERT 获得更好的表示质量。

    【讨论】:

      猜你喜欢
      • 2021-01-16
      • 2020-06-10
      • 2020-05-16
      • 2021-03-25
      • 2020-06-03
      • 2020-10-10
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多