英文

MultiBERTs,中期检查点 - Seed 4,步骤20k

MultiBERTs是一组检查点和统计库,用于支持对BERT的稳健研究。我们提供了25个BERT-base模型,这些模型使用与 the original BERT model 相似的超参数进行训练,但使用不同的随机种子,导致初始权重和训练实例的顺序发生变化。目的是区分适用于特定构件(即模型的特定实例)的发现,与适用于更一般过程的发现。

我们还提供了140个在预训练过程中捕获的中期检查点(我们保存了前5次运行的28个检查点)。

这些模型最初是通过 http://goo.gle/multiberts 发布的。我们在我们的论文 The MultiBERTs: BERT Reproductions for Robustness Analysis 中对它们进行了描述。

这是模型#4,在步骤20k(最大值:2000k,即2M步骤)处捕获。

模型描述

该模型是在 BERT-base uncased 的复现中捕获的,用于英文:它是一个在大量英文数据的基础上进行预训练的Transformers模型,使用了掩码语言建模(MLM)和下一个句子预测(NSP)目标。

完全训练模型的预期用途、限制、训练数据和训练程序类似于 BERT-base uncased 。与原始模型的两个主要区别:

  • 我们使用序列长度为512进行了200万步的MultiBERTs模型预训练(而不是使用序列长度为128然后512进行百万步的训练)。
  • 我们使用了一个由 Turc et al., 2019 最初收集的维基百科和图书语料库的替代版本。

这是一次尽力复制的尝试,因此可能会有与原始模型不同的地方未被注意到。MultiBERTs在GLUE上的性能经过完全训练后往往与原始BERT相当,但我们在SQuAD的开发集上发现了显著差异(MultiBERTs的性能优于原始BERT)。详情请参阅我们的 technical report

如何使用

使用 BERT-base uncased 中的代码,以下是基于Tensorflow的示例:

from transformers import BertTokenizer, TFBertModel
tokenizer = BertTokenizer.from_pretrained('google/multiberts-seed_4-step_20k')
model = TFBertModel.from_pretrained("google/multiberts-seed_4-step_20k")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)

PyTorch版本:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained('google/multiberts-seed_4-step_20k')
model = BertModel.from_pretrained("google/multiberts-seed_4-step_20k")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)

引用信息

@article{sellam2021multiberts,
  title={The MultiBERTs: BERT Reproductions for Robustness Analysis},
  author={Thibault Sellam and Steve Yadlowsky and Jason Wei and Naomi Saphra and Alexander D'Amour and Tal Linzen and Jasmijn Bastings and Iulia Turc and Jacob Eisenstein and Dipanjan Das and Ian Tenney and Ellie Pavlick},
  journal={arXiv preprint arXiv:2106.16163},
  year={2021}
}