FlauBERT 是一个在非常庞大且异质的法语语料库上进行训练的法语BERT模型。使用新的国家科学研究中心(CNRS) Jean Zay 超级计算机训练不同大小的模型。
FlauBERT 还附带了 FLUE :用于法语NLP系统的评估设置,类似于流行的GLUE基准测试。目标是在将来实现更多可重现的实验,并在法语语言上共享模型和进展。有关更多详细信息,请参阅 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 版本为