英文

MultiBERTs,中间检查点 - 种子4,步骤2000k

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

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

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

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

模型描述

此模型是在对英语的 BERT-base uncased 进行再现时捕获的:它是一个在大量英语数据上预训练的Transformer模型,使用掩码语言建模(MLM)和下一个句子预测(NSP)目标。

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

  • 我们使用512序列长度预训练了MultiBERTs模型200万步(而不是使用128然后512序列长度的100万步预训练)。
  • 我们使用了Wikipedia和Books Corpus的另一个版本,最初是为 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_2000k')
model = TFBertModel.from_pretrained("google/multiberts-seed_4-step_2000k")
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_2000k')
model = BertModel.from_pretrained("google/multiberts-seed_4-step_2000k")
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}
}