flaubert commited on
Commit
7a0951b
1 Parent(s): e9011df

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +98 -0
README.md ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: fr
3
+ license: mit
4
+ datasets:
5
+ - flaubert
6
+ metrics:
7
+ - flue
8
+ tags:
9
+ - bert
10
+ - language-model
11
+ - flaubert
12
+ - flue
13
+ - french
14
+ - flaubert-small
15
+ - cased
16
+ ---
17
+
18
+ # FlauBERT: Unsupervised Language Model Pre-training for French
19
+
20
+ **FlauBERT** is a French BERT trained on a very large and heterogeneous French corpus. Models of different sizes are trained using the new CNRS (French National Centre for Scientific Research) [Jean Zay](http://www.idris.fr/eng/jean-zay/ ) supercomputer.
21
+
22
+ Along with FlauBERT comes [**FLUE**](https://github.com/getalp/Flaubert/tree/master/flue): an evaluation setup for French NLP systems similar to the popular GLUE benchmark. The goal is to enable further reproducible experiments in the future and to share models and progress on the French language.For more details please refer to the [official website](https://github.com/getalp/Flaubert).
23
+
24
+ ## FlauBERT models
25
+
26
+ | Model name | Number of layers | Attention Heads | Embedding Dimension | Total Parameters |
27
+ | :------: | :---: | :---: | :---: | :---: |
28
+ | `flaubert-small-cased` | 6 | 8 | 512 | 54 M |
29
+ | `flaubert-base-uncased` | 12 | 12 | 768 | 137 M |
30
+ | `flaubert-base-cased` | 12 | 12 | 768 | 138 M |
31
+ | `flaubert-large-cased` | 24 | 16 | 1024 | 373 M |
32
+
33
+ **Note:** `flaubert-small-cased` is partially trained so performance is not guaranteed. Consider using it for debugging purpose only.
34
+
35
+ ## Using FlauBERT with Hugging Face's Transformers
36
+
37
+ ```python
38
+ import torch
39
+ from transformers import FlaubertModel, FlaubertTokenizer
40
+
41
+ # Choose among ['flaubert/flaubert_small_cased', 'flaubert/flaubert_base_uncased',
42
+ # 'flaubert/flaubert_base_cased', 'flaubert/flaubert_large_cased']
43
+ modelname = 'flaubert/flaubert_base_cased'
44
+
45
+ # Load pretrained model and tokenizer
46
+ flaubert, log = FlaubertModel.from_pretrained(modelname, output_loading_info=True)
47
+ flaubert_tokenizer = FlaubertTokenizer.from_pretrained(modelname, do_lowercase=False)
48
+ # do_lowercase=False if using cased models, True if using uncased ones
49
+
50
+ sentence = "Le chat mange une pomme."
51
+ token_ids = torch.tensor([flaubert_tokenizer.encode(sentence)])
52
+
53
+ last_layer = flaubert(token_ids)[0]
54
+ print(last_layer.shape)
55
+ # torch.Size([1, 8, 768]) -> (batch size x number of tokens x embedding dimension)
56
+
57
+ # The BERT [CLS] token correspond to the first hidden state of the last layer
58
+ cls_embedding = last_layer[:, 0, :]
59
+ ```
60
+
61
+ **Notes:** if your `transformers` version is <=2.10.0, `modelname` should take one
62
+ of the following values:
63
+
64
+ ```
65
+ ['flaubert-small-cased', 'flaubert-base-uncased', 'flaubert-base-cased', 'flaubert-large-cased']
66
+ ```
67
+
68
+
69
+ ## References
70
+
71
+ If you use FlauBERT or the FLUE Benchmark for your scientific publication, or if you find the resources in this repository useful, please cite one of the following papers:
72
+
73
+ [LREC paper](http://www.lrec-conf.org/proceedings/lrec2020/pdf/2020.lrec-1.302.pdf)
74
+ ```
75
+ @InProceedings{le2020flaubert,
76
+ author = {Le, Hang and Vial, Lo\"{i}c and Frej, Jibril and Segonne, Vincent and Coavoux, Maximin and Lecouteux, Benjamin and Allauzen, Alexandre and Crabb\'{e}, Beno\^{i}t and Besacier, Laurent and Schwab, Didier},
77
+ title = {FlauBERT: Unsupervised Language Model Pre-training for French},
78
+ booktitle = {Proceedings of The 12th Language Resources and Evaluation Conference},
79
+ month = {May},
80
+ year = {2020},
81
+ address = {Marseille, France},
82
+ publisher = {European Language Resources Association},
83
+ pages = {2479--2490},
84
+ url = {https://www.aclweb.org/anthology/2020.lrec-1.302}
85
+ }
86
+ ```
87
+
88
+ [TALN paper](https://hal.archives-ouvertes.fr/hal-02784776/)
89
+ ```
90
+ @inproceedings{le2020flaubert,
91
+ title = {FlauBERT: des mod{\`e}les de langue contextualis{\'e}s pr{\'e}-entra{\^\i}n{\'e}s pour le fran{\c{c}}ais},
92
+ author = {Le, Hang and Vial, Lo{\"\i}c and Frej, Jibril and Segonne, Vincent and Coavoux, Maximin and Lecouteux, Benjamin and Allauzen, Alexandre and Crabb{\'e}, Beno{\^\i}t and Besacier, Laurent and Schwab, Didier},
93
+ booktitle = {Actes de la 6e conf{\'e}rence conjointe Journ{\'e}es d'{\'E}tudes sur la Parole (JEP, 31e {\'e}dition), Traitement Automatique des Langues Naturelles (TALN, 27e {\'e}dition), Rencontre des {\'E}tudiants Chercheurs en Informatique pour le Traitement Automatique des Langues (R{\'E}CITAL, 22e {\'e}dition). Volume 2: Traitement Automatique des Langues Naturelles},
94
+ pages = {268--278},
95
+ year = {2020},
96
+ organization = {ATALA}
97
+ }
98
+ ```