模型:
bert-large-uncased-whole-word-masking-finetuned-squad
BERT是在英语语言上进行预训练的模型,使用了遮蔽语言建模(MLM)目标。它于 this paper 发布,并首次在 this repository 发布。该模型是无大小写的:它不区分英语和English之间的区别。
与其他BERT模型不同,该模型采用了一种新技术:整词遮蔽(Whole Word Masking)。在这种情况下,一个单词对应的所有标记被同时遮蔽。总体的遮蔽率保持不变。
训练方式相同-预测每个遮蔽的WordPiece标记。
在预训练之后,该模型使用我们的微调脚本之一在SQuAD数据集上进行了微调。有关此微调的更多信息,请参见下文。
声明:发布BERT的团队并未为此模型编写模型卡片,因此此模型卡片是由Hugging Face团队编写的。
BERT是一个transformers模型,以自监督的方式在大量英语数据上进行了预训练。这意味着它只对原始文本进行了预训练,而没有任何人类以任何方式对其进行标注(这就是为什么它可以使用大量公开可用的数据),并利用自动化过程从这些文本中生成输入和标签。更确切地说,它以两个目标进行了预训练:
这样,模型学习了英语语言的内在表示,然后可以用于提取对下游任务有用的特征:如果你有一个带有标记句子的数据集,可以使用BERT模型生成的特征作为输入训练标准分类器。
此模型的配置如下:
这个模型应该用作问答模型。你可以将它用于问答流程中,或者在给定查询和上下文的情况下输出原始结果。你可以在transformers文档的 task summary 中看到其他用例。## 训练数据
BERT模型在 BookCorpus 上进行了预训练,该数据集包含11,038本未发表的书籍和 English Wikipedia (不包括列表、表格和标题)。
文本被转换为小写并使用WordPiece和30000个词汇进行分词。模型的输入形式如下:
[CLS] Sentence A [SEP] Sentence B [SEP]
以0.5的概率,句子A和句子B对应于原始语料库中的两个连续句子,在其他情况下,它是语料库中的另一个随机句子。注意,这里考虑的句子是文本的连续跨度,通常比一个单独的句子长。唯一的限制是两个"句子"的结果的长度总和小于512个标记。
每个句子的屏蔽过程的细节如下:
使用Pod配置的4台云TPU(总共16个TPU芯片)对模型进行了100万步的训练,批处理大小为256。对于90%的步骤,序列长度限制为128个标记,对于剩下的10%,为512。使用的优化器是Adam,学习率为1e-4, β 1 = 0.9 β_{1} = 0.9 β 1 = 0 . 9 和 β 2 = 0.999 β_{2} = 0.999 β 2 = 0 . 9 9 9 ,权重衰减为0.01,学习率预热10,000步,并在线性衰减之后衰减学习率。
在预训练之后,该模型使用我们的微调脚本之一对SQuAD数据集进行了微调。为了再现训练,您可以使用以下命令:
python -m torch.distributed.launch --nproc_per_node=8 ./examples/question-answering/run_qa.py \ --model_name_or_path bert-large-uncased-whole-word-masking \ --dataset_name squad \ --do_train \ --do_eval \ --learning_rate 3e-5 \ --num_train_epochs 2 \ --max_seq_length 384 \ --doc_stride 128 \ --output_dir ./examples/models/wwm_uncased_finetuned_squad/ \ --per_device_eval_batch_size=3 \ --per_device_train_batch_size=3 \
获得的结果如下:
f1 = 93.15 exact_match = 86.91
@article{DBLP:journals/corr/abs-1810-04805, author = {Jacob Devlin and Ming{-}Wei Chang and Kenton Lee and Kristina Toutanova}, title = {{BERT:} Pre-training of Deep Bidirectional Transformers for Language Understanding}, journal = {CoRR}, volume = {abs/1810.04805}, year = {2018}, url = {http://arxiv.org/abs/1810.04805}, archivePrefix = {arXiv}, eprint = {1810.04805}, timestamp = {Tue, 30 Oct 2018 20:39:56 +0100}, biburl = {https://dblp.org/rec/journals/corr/abs-1810-04805.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }