FlauBERT 是一个针对大规模异构法语语料库进行训练的法语BERT模型。使用法国国家科学研究中心(CNRS)的 Jean Zay 超级计算机训练了不同规模的模型。
随着FlauBERT一起来的是 FLUE :一套类似于流行的GLUE基准测试的法语NLP系统评估设置。目标是在将来实现更多可重现的实验,并共享关于法语语言的模型和进展。请参阅 official website 获取更多详细信息。
Model name | Number of layers | Attention Heads | Embedding Dimension | Total Parameters |
---|---|---|---|---|
flaubert-small-cased | 6 | 8 | 512 | 54 M |
flaubert-base-uncased | 12 | 12 | 768 | 137 M |
flaubert-base-cased | 12 | 12 | 768 | 138 M |
flaubert-large-cased | 24 | 16 | 1024 | 373 M |
注意:flaubert-small-cased 是部分训练,因此性能不能保证。仅用于调试目的。
import torch from transformers import FlaubertModel, FlaubertTokenizer # Choose among ['flaubert/flaubert_small_cased', 'flaubert/flaubert_base_uncased', # 'flaubert/flaubert_base_cased', 'flaubert/flaubert_large_cased'] modelname = 'flaubert/flaubert_base_cased' # Load pretrained model and tokenizer flaubert, log = FlaubertModel.from_pretrained(modelname, output_loading_info=True) flaubert_tokenizer = FlaubertTokenizer.from_pretrained(modelname, do_lowercase=False) # do_lowercase=False if using cased models, True if using uncased ones sentence = "Le chat mange une pomme." token_ids = torch.tensor([flaubert_tokenizer.encode(sentence)]) last_layer = flaubert(token_ids)[0] print(last_layer.shape) # torch.Size([1, 8, 768]) -> (batch size x number of tokens x embedding dimension) # The BERT [CLS] token correspond to the first hidden state of the last layer cls_embedding = last_layer[:, 0, :]
注意:如果您的 transformers 版本是