模型:
google/multiberts-seed_0-step_20k
MultiBERTs是一个检查点集合和统计库,支持对BERT进行强大的研究。我们提供了25个BERT-base模型,这些模型与 the original BERT model 使用相似的超参数进行训练,但使用不同的随机种子,这会导致初始权重和训练实例的顺序发生变化。目的是区分适用于特定模型的发现(即特定模型的一个实例)与适用于更一般流程的发现。
我们还提供了140个在预训练过程中捕获的中间检查点(对于前5个运行,我们保存了28个检查点)。
这些模型最初通过 http://goo.gle/multiberts 发布。我们在我们的论文 The MultiBERTs: BERT Reproductions for Robustness Analysis 中对它们进行了描述。
这是模型#0,捕获在第20k步(最大值:2000k,即2M步)。
此模型是在对 BERT-base uncased 的复现过程中捕获的,用于英语:它是一个在大量英语数据上进行预训练的Transformer模型,使用了掩码语言模型(MLM)和下一个句子预测(NSP)目标。
完全训练的模型的预期用途,限制,训练数据和训练程序类似于 BERT-base uncased 。与原始模型有两个主要差异:
这是一个最大努力的复现,所以可能有与原始模型的差异未被注意到。MultiBERTs在完全训练后在GLUE上的性能往往与原始BERT相当,但我们发现在SQuAD的开发集上有显著差异(MultiBERTs优于原始BERT)。有关更多细节,请参阅我们的 technical report 。
使用根据 BERT-base uncased 的代码,以下是基于Tensorflow的示例:
from transformers import BertTokenizer, TFBertModel tokenizer = BertTokenizer.from_pretrained('google/multiberts-seed_0-step_20k') model = TFBertModel.from_pretrained("google/multiberts-seed_0-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_0-step_20k') model = BertModel.from_pretrained("google/multiberts-seed_0-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} }