模型库 / google-bert/bert-base-multilingual-cased

bert-base-multilingual-cased

google-bert fill-mask transformers multilingual af sq
google-bert/bert-base-multilingual-cased
4,498,947
下载量
587
收藏数
9
浏览量
apache-2.0
许可

简介

基于掩码语言建模(MLM)目标,在维基百科规模最大的前104种语言上预训练的模型。该模型首次发表于此论文,并在此仓库中首次发布。此模型区分大小写:例如,它能够识别"english"与"English"之间的差异。

模型卡片

许可协议 apache-2.0
语言
multilingual af sq ar an hy ast az ba eu bar be bn inc bs br bg my ca ceb ce zh cv hr cs da nl en et fi fr gl ka de el gu ht he hi hu is io id ga it ja jv kn kk ky ko la lv lt roa nds lm mk mg ms ml mr mn min ne new nb nn oc fa pms pl pt pa ro ru sco sr hr scn sk sl aze es su sw sv tl tg th ta tt te tr uk ud uz vi vo war cy fry pnb yo
数据集
wikipedia

模型配置

模型类型 bert
架构 BertForMaskedLM

模型详情

已翻译

BERT multilingual base model (cased)

基于掩码语言建模(MLM)目标,在包含最大规模Wikipedia的104种语言上预训练的模型。
该模型在此论文中提出,并首次发布在
此仓库中。本模型区分大小写:它能识别
"english"和"English"之间的差异。

免责声明:发布BERT的团队并未为该模型编写模型卡,因此本模型卡由
Hugging Face团队编写。

模型描述

BERT是一个transformer模型,以自监督方式在大型多语言语料库上进行预训练。这意味着
它仅基于原始文本进行预训练,没有任何人工标注(因此可以使用大量
公开数据),并通过自动流程从这些文本中生成输入和标签。更具体地说,
它通过两个目标进行预训练:

  • 掩码语言建模(MLM):给定一个句子,模型随机遮蔽输入中15%的词,然后
    将整个被遮蔽的句子输入模型,并需要预测被遮蔽的词。这与传统的
    循环神经网络(RNN)不同,后者通常逐个词处理,也与GPT等自回归模型不同,
    后者在内部遮蔽未来的token。这种方法使模型能够学习句子的双向表示。
  • 下一句预测(NSP):在预训练期间,模型将两个被遮蔽的句子拼接作为输入。有时
    它们对应原始文本中相邻的句子,有时则不是。模型随后需要
    预测这两个句子是否前后相连。

通过这种方式,模型学习了训练集中语言的内部表示,可用于
提取下游任务所需的特征:例如,如果你有一个带标签的句子数据集,你可以
使用BERT模型生成的特征作为输入来训练一个标准分类器。

预期用途与局限性

你可以将原始模型用于掩码语言建模或下一句预测,但它主要面向
在下游任务上进行微调。请参阅模型中心查找
你感兴趣任务的微调版本。

请注意,该模型主要面向需要利用整个句子(可能被遮蔽)进行决策的任务进行微调,
例如序列分类、token分类或问答。对于文本生成等任务,
你应该考虑GPT2等模型。

如何使用

你可以直接使用带有掩码语言建模pipeline的模型:

>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='bert-base-multilingual-cased')
>>> unmasker("Hello I'm a [MASK] model.")

[{'sequence': "[CLS] Hello I'm a model model. [SEP]",
  'score': 0.10182085633277893,
  'token': 13192,
  'token_str': 'model'},
 {'sequence': "[CLS] Hello I'm a world model. [SEP]",
  'score': 0.052126359194517136,
  'token': 11356,
  'token_str': 'world'},
 {'sequence': "[CLS] Hello I'm a data model. [SEP]",
  'score': 0.048930276185274124,
  'token': 11165,
  'token_str': 'data'},
 {'sequence': "[CLS] Hello I'm a flight model. [SEP]",
  'score': 0.02036019042134285,
  'token': 23578,
  'token_str': 'flight'},
 {'sequence': "[CLS] Hello I'm a business model. [SEP]",
  'score': 0.020079681649804115,
  'token': 14155,
  'token_str': 'business'}]

以下是如何在PyTorch中使用该模型获取给定文本的特征:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-multilingual-cased')
model = BertModel.from_pretrained("bert-base-multilingual-cased")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)

以及在TensorFlow中:

from transformers import BertTokenizer, TFBertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-multilingual-cased')
model = TFBertModel.from_pretrained("bert-base-multilingual-cased")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)

训练数据

BERT模型在Wikipedia规模最大的104种语言上进行了预训练。你可以在
此处找到完整列表。

训练流程

预处理

文本经过小写化处理,并使用WordPiece进行token化,共享词汇表大小为110,000。Wikipedia规模较大的语言被欠采样,
资源较少的语言则被过采样。对于中文、日文汉字和韩文汉字等没有空格的语言,
每个字符周围会添加一个CJK Unicode块。

模型的输入格式如下:

[CLS] Sentence A [SEP] Sentence B [SEP]

以0.5的概率,句子A和句子B对应原始语料中两个连续的句子,
在其他情况下,则是语料中的另一个随机句子。请注意,这里所谓的"句子"是指
一段连续的文本,通常比单个句子更长。唯一的限制是这两个"句子"的
组合长度不超过512个token。

每个句子的遮蔽流程细节如下:
- 15%的token被遮蔽。
- 在80%的情况下,被遮蔽的token被替换为[MASK]
- 在10%的情况下,被遮蔽的token被替换为(与原文不同的)随机token。
- 在剩余的10%情况下,被遮蔽的token保持不变。

BibTeX条目与引用信息

@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}
}

标签

tf jax bert multilingual af sq ar an

操作


详细信息

厂商
google-bert
任务
fill-mask
框架
transformers
模型类型
bert
许可(HF)
apache-2.0
语言
multilingual, af, sq, ar, an, hy, ast, az, ba, eu, bar, be, bn, inc, bs, br, bg, my, ca, ceb, ce, zh, cv, hr, cs, da, nl, en, et, fi, fr, gl, ka, de, el, gu, ht, he, hi, hu, is, io, id, ga, it, ja, jv, kn, kk, ky, ko, la, lv, lt, roa, nds, lm, mk, mg, ms, ml, mr, mn, min, ne, new, nb, nn, oc, fa, pms, pl, pt, pa, ro, ru, sco, sr, hr, scn, sk, sl, aze, es, su, sw, sv, tl, tg, th, ta, tt, te, tr, uk, ud, uz, vi, vo, war, cy, fry, pnb, yo