模型:
bert-large-cased-whole-word-masking-finetuned-squad
预训练模型,使用屏蔽语言建模(MLM)作为目标,在英语语言上进行训练。它在 this paper 白皮书中被介绍,并于 this repository 首次发布。此模型是带大小写的,它区分英语和English。
与其他BERT模型不同,此模型采用了新的技术:整词屏蔽(Whole Word Masking)。在这种情况下,与一个词对应的所有标记一次性被屏蔽。整体上的屏蔽率保持不变。
训练过程是相同的 - 每个屏蔽的WordPiece标记都是独立预测的。
在预训练完成后,此模型使用我们的微调脚本之一,在SQuAD数据集上进行了微调。有关此微调的更多信息,请参见下文。
声明:BERT发布团队没有为此模型编写模型卡,因此这个模型卡是由Hugging Face团队编写的。
BERT是一个基于transformer的模型,采用自监督方式在大规模英语语料库上进行预训练。这意味着它仅使用原始文本进行预训练,没有任何人工标注的方式(这就是为什么它可以使用大量公开可用的数据),使用自动处理方法从这些文本中生成输入和标签。更准确地说,它通过两个目标进行预训练:
这样,模型学习到了英语语言的内部表示,这可以用于提取用于下游任务的有用特征:如果你有一个带标签的句子数据集,你可以使用BERT模型生成的特征作为输入训练一个标准的分类器。
此模型具有以下配置:
这个模型应该被用作问答模型。你可以在问答流水线中使用它,或者在给定查询和上下文的情况下使用它输出原始结果。你可以在 transformers 文档 的 task summary 中看到其他用途。## 训练数据
BERT模型是在 BookCorpus 上进行了预训练的,该数据集包含了 11038 本未发表的书籍和 English Wikipedia 个(列表、表格和标题除外)。
对文本进行小写处理,并使用WordPiece和30000个词汇大小进行标记化。模型的输入形式如下:
[CLS] Sentence A [SEP] Sentence B [SEP]
有50%的概率,句子A和句子B对应于原始语料库中的两个连续句子,其他情况下,是语料库中的另一个随机句子。注意这里所说的句子是一个连续的文本片段,通常比单个句子更长。唯一的约束是两个“句子”的结果的长度小于512个标记。
每个句子的屏蔽过程的细节如下:
模型在Pod配置的4个云TPU上进行了训练(总共16个TPU芯片),训练时间为一百万步,每批次大小为256。序列长度在90%的步骤中限制为128个标记,在剩余的10%步骤中限制为512个标记。使用的优化器是Adam,学习率为1e-4,β1 = 0.9,β2 = 0.999,权重衰减为0.01,学习率热身进行了1万步,在之后的学习率进行线性衰减。
在预训练之后,此模型使用我们的微调脚本之一在SQuAD数据集上进行了微调。为了重现训练,您可以使用以下命令:
python -m torch.distributed.launch --nproc_per_node=8 ./examples/question-answering/run_qa.py \ --model_name_or_path bert-large-cased-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_cased_finetuned_squad/ \ --per_device_eval_batch_size=3 \ --per_device_train_batch_size=3 \
@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} }