模型:
google/multiberts-seed_0-step_1000k
MultiBERTs是一个检查点集合和统计库,旨在支持对BERT进行稳健的研究。我们提供了25个BERT-base模型,使用与 the original BERT model 相似的超参数进行训练,但使用不同的随机种子,导致初始权重和训练示例的顺序有所变化。目的是区分适用于特定构件(即模型的特定实例)的发现与适用于更一般过程的发现。
我们还提供了在预训练过程中捕获的140个中间检查点(对前5次运行保存了28个检查点)。
这些模型最初是通过 http://goo.gle/multiberts 发布的。我们在论文 The MultiBERTs: BERT Reproductions for Robustness Analysis 中对它们进行了描述。
这是模型#0,捕获在步骤1000k(最大:2000k,即2M步)。
这个模型是在 BERT-base uncased 的复现中捕获的,用于英语:它是一个在大型英语数据语料库上使用掩码语言模型(MLM)和下一个句子预测(NSP)目标进行预训练的Transformers模型。
完全训练模型的预期用途、限制、训练数据和训练过程与 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_1000k') model = TFBertModel.from_pretrained("google/multiberts-seed_0-step_1000k") 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_1000k') model = BertModel.from_pretrained("google/multiberts-seed_0-step_1000k") 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} }