Louis Martin
email: louismartin@fb.combenjamin.muller

Benjamin Muller

Pedro Javier Ortiz Suárez

Yoann Dupont

Laurent Romary

Villemonte Éric

La De

Djamé Clergerie

Benoît Seddah

Sagot

Pedro Javier

Éric Villemonte De La Clergerie

Djamé Seddah

Benoît Sagot
email: benoit.sagot@inria.fryoa.dupont@gmail.com

CamemBERT: a Tasty French Language Model

niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

Pretrained word representations have a long history in Natural Language Processing (NLP), from noncontextual [START_REF] Peter | Class-based n-gram models of natural language[END_REF][START_REF] Kubota | A framework for learning predictive structures from multiple tasks and unlabeled data[END_REF][START_REF] Mikolov | Distributed representations of words and phrases and their compositionality[END_REF][START_REF] Pennington | Glove: Global vectors for word representation[END_REF] to contextual word embeddings [START_REF] Peters | Deep contextualized word representations[END_REF][START_REF] Akbik | Contextual string embeddings for sequence labeling[END_REF]. Word representations are usually obtained by training language model architectures on large amounts of textual data and then fed as an input to more complex task-specific architectures. More recently, these specialized architectures have been replaced altogether by large-scale pretrained language models which are fine-tuned for each application considered. This shift has resulted in large improvements in performance over a wide * Equal contribution. Order determined alphabetically. range of tasks [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF][START_REF] Radford | Language models are unsupervised multitask learners[END_REF][START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF][START_REF] Raffel | Exploring the limits of transfer learning with a unified text-to-text transformer[END_REF].

These transfer learning methods exhibit clear advantages over more traditional task-specific approaches. In particular, they can be trained in an unsupervized manner, thereby taking advantage of the information contained in large amounts of raw text. Yet they come with implementation challenges, namely the amount of data and computational resources needed for pretraining, which can reach hundreds of gigabytes of text and require hundreds of GPUs [START_REF] Yang | Xlnet: Generalized autoregressive pretraining for language understanding[END_REF][START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF]. This has limited the availability of these state-of-the-art models to the English language, at least in the monolingual setting. This is particularly inconvenient as it hinders their practical use in NLP systems. It also prevents us from investigating their language modelling capacity, for instance in the case of morphologically rich languages.

Although multilingual models give remarkable results, they are often larger, and their results, as we will observe for French, can lag behind their monolingual counterparts for high-resource languages.

In order to reproduce and validate results that have so far only been obtained for English, we take advantage of the newly available multilingual corpora OSCAR (Ortiz Suárez et al., 2019) to train a monolingual language model for French, dubbed CamemBERT. We also train alternative versions of CamemBERT on different smaller corpora with different levels of homogeneity in genre and style in order to assess the impact of these parameters on downstream task performance. CamemBERT uses the RoBERTa architecture [START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF], an improved variant of the high-performing and widely used BERT architecture [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF].

We evaluate our model on four different downstream tasks for French: part-of-speech (POS) tagging, dependency parsing, named entity recognition (NER) and natural language inference (NLI).

CamemBERT improves on the state of the art in all four tasks compared to previous monolingual and multilingual approaches including mBERT, XLM and XLM-R, which confirms the effectiveness of large pretrained language models for French.

We make the following contributions:

• First release of a monolingual RoBERTa model for the French language using recently introduced large-scale open source corpora from the Oscar collection and first outside the original BERT authors to release such a large model for an other language than English. 1

• We achieve state-of-the-art results on four downstream tasks: POS tagging, dependency parsing, NER and NLI, confirming the effectiveness of BERT-based language models for French.

• We demonstrate that small and diverse training sets can achieve similar performance to large-scale corpora, by analysing the importance of the pretraining corpus in terms of size and domain.

2 Previous work

Contextual Language Models

From non-contextual to contextual word embeddings The first neural word vector representations were non-contextualized word embeddings, most notably word2vec [START_REF] Mikolov | Distributed representations of words and phrases and their compositionality[END_REF], GloVe [START_REF] Pennington | Glove: Global vectors for word representation[END_REF] and fastText [START_REF] Mikolov | Ad-vances in pre-training distributed word representations[END_REF], which were designed to be used as input to task-specific neural architectures.

Contextualized word representations such as ELMo [START_REF] Peters | Deep contextualized word representations[END_REF] and flair [START_REF] Akbik | Contextual string embeddings for sequence labeling[END_REF], improved the representational power of word embeddings by taking context into account. Among other reasons, they improved the performance of models on many tasks by handling words polysemy. This paved the way for larger contextualized models that replaced downstream architectures altogether in most tasks. Trained with language modeling objectives, these approaches range from LSTMbased architectures such as [START_REF] Dai | Semisupervised sequence learning[END_REF], to the successful transformer-based architectures such as GPT2 [START_REF] Radford | Language models are unsupervised multitask learners[END_REF], BERT [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF], RoBERTa [START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF] and more recently ALBERT [START_REF] Lan | ALBERT: A lite BERT for selfsupervised learning of language representations[END_REF] and T5 [START_REF] Raffel | Exploring the limits of transfer learning with a unified text-to-text transformer[END_REF].

Non-English contextualized models Following the success of large pretrained language models, they were extended to the multilingual setting with multilingual BERT (hereafter mBERT) [START_REF] Devlin | Multilingual bert[END_REF], a single multilingual model for 104 different languages trained on Wikipedia data, and later XLM [START_REF] Lample | Cross-lingual language model pretraining[END_REF], which significantly improved unsupervized machine translation. More recently XLM-R [START_REF] Conneau | Unsupervised cross-lingual representation learning at scale[END_REF], extended XLM by training on 2.5TB of data and outperformed previous scores on multilingual benchmarks. They show that multilingual models can obtain results competitive with monolingual models by leveraging higher quality data from other languages on specific downstream tasks.

A few non-English monolingual models have been released: ELMo models for Japanese, Portuguese, German and Basque2 and BERT for Simplified and Traditional Chinese [START_REF] Devlin | Multilingual bert[END_REF] and German [START_REF] Chan | German bert[END_REF].

However, to the best of our knowledge, no particular effort has been made toward training models for languages other than English at a scale similar to the latest English models (e.g. RoBERTa trained on more than 100GB of data).

BERT and RoBERTa Our approach is based on RoBERTa [START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF] which itself is based on BERT [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF]. BERT is a multi-layer bidirectional Transformer encoder trained with a masked language modeling (MLM) objective, inspired by the Cloze task [START_REF] Wilson | cloze procedure": A new tool for measuring readability[END_REF]. It comes in two sizes: the BERT BASE architecture and the BERT LARGE architecture. The BERT BASE architecture is 3 times smaller and therefore faster and easier to use while BERT LARGE achieves increased performance on downstream tasks. RoBERTa improves the original implementation of BERT by identifying key design choices for better performance, using dynamic masking, removing the next sentence prediction task, training with larger batches, on more data, and for longer.

Downstream evaluation tasks

In this section, we present the four downstream tasks that we use to evaluate CamemBERT, namely: Part-Of-Speech (POS) tagging, dependency parsing, Named Entity Recognition (NER) and Natural Language Inference (NLI). We also present the baselines that we will use for comparison.

Tasks POS tagging is a low-level syntactic task, which consists in assigning to each word its corresponding grammatical category. Dependency parsing consists in predicting the labeled syntactic tree in order to capture the syntactic relations between words.

For both of these tasks we run our experiments using the Universal Dependencies (UD)3 framework and its corresponding UD POS tag set [START_REF] Petrov | A universal part-of-speech tagset[END_REF] and UD treebank collection (Nivre et al., 2018), which was used for the CoNLL 2018 shared task [START_REF] Seker | Universal morpho-syntactic parsing and the contribution of lexica: Analyzing the onlp lab submission to the conll 2018 shared task[END_REF]. We perform our evaluations on the four freely available French UD treebanks in UD v2.2: GSD [START_REF] Mcdonald | Universal dependency annotation for multilingual parsing[END_REF], Sequoia4 [START_REF] Candito | Le corpus sequoia : annotation syntaxique et exploita-tion pour l'adaptation d'analyseur par pont lexical (the sequoia corpus : Syntactic annotation and use for a parser lexical domain adaptation method)[END_REF][START_REF] Candito | Deep syntax annotation of the sequoia french treebank[END_REF], Spoken [START_REF] Lacheret | Rhapsodie: a prosodicsyntactic treebank for spoken French[END_REF][START_REF] Bawden | Correcting and validating syntactic dependency in the spoken French treebank rhapsodie[END_REF] 5 , and ParTUT [START_REF] Sanguinetti | PartTUT: The Turin University Parallel Treebank[END_REF]. A brief overview of the size and content of each treebank can be found in Table 1. We also evaluate our model in NER, which is a sequence labeling task predicting which words refer to real-world objects, such as people, locations, artifacts and organisations. We use the French Treebank6 (FTB) [START_REF] Abeillé | Building a Treebank for French[END_REF] in its 2008 version introduced by [START_REF] Candito | Improving generative statistical parsing with semisupervised word clustering[END_REF] and with NER annotations by [START_REF] Sagot | Annotation référentielle du corpus arboré de Paris 7 en entités nommées (referential named entity annotation of the paris 7 french treebank)[END_REF]. The FTB contains more than 11 thousand entity mentions distributed among 7 different entity types. A brief overview of the FTB can also be found in Table 1.

••••••••••••••••••• Medical, News Sequoia 68,615 3,099 Non-fiction, Wiki •••••••••••••••••••• Spoken 34,972 2,786 Spoken •••••••••••••••••••• ParTUT 27,658 1,020 Legal, News, Wikis •••••••••••••••••••• FTB 350,
Finally, we evaluate our model on NLI, using the French part of the XNLI dataset [START_REF] Conneau | XNLI: evaluating cross-lingual sentence representations[END_REF]. NLI consists in predicting whether a hypothesis sentence is entailed, neutral or contradicts a premise sentence. The XNLI dataset is the exten-sion of the Multi-Genre NLI (MultiNLI) corpus [START_REF] Williams | A broad-coverage challenge corpus for sentence understanding through inference[END_REF] to 15 languages by translating the validation and test sets manually into each of those languages. The English training set is machine translated for all languages other than English. The dataset is composed of 122k train, 2490 development and 5010 test examples for each language. As usual, NLI performance is evaluated using accuracy.

Baselines In dependency parsing and POStagging we compare our model with:

• mBERT: The multilingual cased version of BERT (see Section 2.1). We fine-tune mBERT on each of the treebanks with an additional layer for POS-tagging and dependency parsing, in the same conditions as our Camem-BERT model.

• XLM MLM-TLM : A multilingual pretrained language model from [START_REF] Lample | Cross-lingual language model pretraining[END_REF], which showed better performance than mBERT on NLI. We use the version available in the Hugging's Face transformer library [START_REF] Wolf | Huggingface's transformers: State-of-the-art natural language processing[END_REF]; like mBERT, we fine-tune it in the same conditions as our model. • UDPipe Future [START_REF] Straka | Udpipe 2.0 prototype at conll 2018 ud shared task[END_REF]: An LSTMbased model ranked 3 rd in dependency parsing and 6 th in POS tagging at the CoNLL 2018 shared task [START_REF] Seker | Universal morpho-syntactic parsing and the contribution of lexica: Analyzing the onlp lab submission to the conll 2018 shared task[END_REF]. We report the scores from Kondratyuk (2019) paper.

• UDPipe Future + mBERT + Flair [START_REF] Straka | Evaluating contextualized embeddings on 54 languages in POS tagging, lemmatization and dependency parsing[END_REF]: The original UDPipe Future implementation using mBERT and Flair as feature-based contextualized word embeddings. We report the scores from [START_REF] Straka | Evaluating contextualized embeddings on 54 languages in POS tagging, lemmatization and dependency parsing[END_REF] paper.

In French, no extensive work has been done on NER due to the limited availability of annotated corpora. Thus we compare our model with the only recent available baselines set by [START_REF] Dupont | Exploration de traits pour la reconnaissance d'entit'es nomm'ees du français par apprentissage automatique[END_REF], who trained both CRF [START_REF] Lafferty | Conditional random fields: Probabilistic models for segmenting and labeling sequence data[END_REF] and BiLSTM-CRF [START_REF] Lample | Neural architectures for named entity recognition[END_REF] architectures on the FTB and enhanced them using heuristics and pretrained word embeddings. Additionally, as for POS and dependency parsing, we compare our model to a fine-tuned version of mBERT for the NER task.

For XNLI, we provide the scores of mBERT which has been reported for French by [START_REF] Wu | Beto, bentz, becas: The surprising cross-lingual effectiveness of BERT[END_REF]. We report scores from XLM MLM-TLM (described above), the best model from [START_REF] Lample | Cross-lingual language model pretraining[END_REF]. We also report the results of XLM-R [START_REF] Conneau | Unsupervised cross-lingual representation learning at scale[END_REF].

CamemBERT: a French Language Model

In this section, we describe the pretraining data, architecture, training objective and optimisation setup we use for CamemBERT.

Training data

Pretrained language models benefits from being trained on large datasets [START_REF] Devlin | Multilingual bert[END_REF][START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF][START_REF] Raffel | Exploring the limits of transfer learning with a unified text-to-text transformer[END_REF]. We therefore use the French part of the OSCAR corpus (Ortiz Suárez et al., 2019), a pre-filtered and pre-classified version of Common Crawl. 7

OSCAR is a set of monolingual corpora extracted from Common Crawl snapshots. It follows the same approach as [START_REF] Grave | Learning word vectors for 157 languages[END_REF] by using a language classification model based on the fastText linear classifier [START_REF] Grave | Bag of tricks for efficient text classification[END_REF][START_REF] Joulin | Fasttext.zip: Compressing text classification models[END_REF] pretrained on Wikipedia, Tatoeba and SETimes, which supports 176 languages. No other filtering is done. We use a non-shuffled version of the French data, which amounts to 138GB of raw text and 32.7B tokens after subword tokenization.

Pre-processing

We segment the input text data into subword units using SentencePiece [START_REF] Kudo | Sentencepiece: A simple and language independent subword tokenizer and detokenizer for neural text processing[END_REF].

SentencePiece is an extension of Byte-Pair encoding (BPE) [START_REF] Sennrich | Neural machine translation of rare words with subword units[END_REF] and WordPiece [START_REF] Kudo | Subword regularization: Improving neural network translation models with multiple subword candidates[END_REF] that does not require pre-tokenization (at the word or token level), thus removing the need for language-specific tokenisers. We use a vocabulary size of 32k subword tokens. These subwords are learned on 10 7 sentences sampled randomly from the pretraining dataset. We do not use subword regularisation (i.e. sampling from multiple possible segmentations) for the sake of simplicity.

7 https://commoncrawl.org/about/

Language Modeling

Transformer Similar to RoBERTa and BERT, CamemBERT is a multi-layer bidirectional Transformer [START_REF] Vaswani | Attention is all you need[END_REF]. Given the widespread usage of Transformers, we do not describe them here and refer the reader to [START_REF] Vaswani | Attention is all you need[END_REF]. CamemBERT uses the original architectures of BERT BASE (12 layers, 768 hidden dimensions, 12 attention heads, 110M parameters) and BERT LARGE (24 layers, 1024 hidden dimensions, 16 attention heads, 335M parameters).

CamemBERT is very similar to RoBERTa, the main difference being the use of whole-word masking and the usage of SentencePiece tokenization [START_REF] Kudo | Sentencepiece: A simple and language independent subword tokenizer and detokenizer for neural text processing[END_REF] instead of WordPiece [START_REF] Schuster | Japanese and korean voice search[END_REF].

Pretraining Objective We train our model on the Masked Language Modeling (MLM) task.

Given an input text sequence composed of N tokens x 1 , ..., x N , we select 15% of tokens for possible replacement. Among those selected tokens, 80% are replaced with the special <MASK> token, 10% are left unchanged and 10% are replaced by a random token. The model is then trained to predict the initial masked tokens using cross-entropy loss. Following the RoBERTa approach, we dynamically mask tokens instead of fixing them statically for the whole dataset during preprocessing. This improves variability and makes the model more robust when training for multiple epochs.

Since we use SentencePiece to tokenize our corpus, the input tokens to the model are a mix of whole words and subwords. An upgraded version of BERT8 and [START_REF] Joshi | Spanbert: Improving pre-training by representing and predicting spans[END_REF] have shown that masking whole words instead of individual subwords leads to improved performance. Whole-word Masking (WWM) makes the training task more difficult because the model has to predict a whole word rather than predicting only part of the word given the rest. We train our models using WWM by using whitespaces in the initial untokenized text as word delimiters.

WWM is implemented by first randomly sampling 15% of the words in the sequence and then considering all subword tokens in each of this 15% for candidate replacement. This amounts to a proportion of selected tokens that is close to the original 15%. These tokens are then either replaced by <MASK> tokens (80%), left unchanged (10%) or replaced by a random token.

Subsequent work has shown that the next sentence prediction (NSP) task originally used in BERT does not improve downstream task performance [START_REF] Lample | Cross-lingual language model pretraining[END_REF][START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF], thus we also remove it.

Optimisation Following [START_REF] Liu | Roberta: A robustly optimized BERT pretraining approach[END_REF], we optimize the model using Adam (Kingma and Ba, 2014) (β 1 = 0.9, β 2 = 0.98) for 100k steps with large batch sizes of 8192 sequences, each sequence containing at most 512 tokens. We enforce each sequence to only contain complete paragraphs (which correspond to lines in the our pretraining dataset).

Pretraining We use the RoBERTa implementation in the fairseq library [START_REF] Ott | fairseq: A fast, extensible toolkit for sequence modeling[END_REF]. Our learning rate is warmed up for 10k steps up to a peak value of 0.0007 instead of the original 0.0001 given our large batch size, and then fades to zero with polynomial decay. Unless otherwise specified, our models use the BASE architecture, and are pretrained for 100k backpropagation steps on 256 Nvidia V100 GPUs (32GB each) for a day. We do not train our models for longer due to practical considerations, even though the performance still seemed to be increasing.

Using CamemBERT for downstream tasks

We use the pretrained CamemBERT in two ways. In the first one, which we refer to as fine-tuning, we fine-tune the model on a specific task in an endto-end manner. In the second one, referred to as feature-based embeddings or simply embeddings, we extract frozen contextual embedding vectors from CamemBERT. These two complementary approaches shed light on the quality of the pretrained hidden representations captured by CamemBERT.

Fine-tuning For each task, we append the relevant predictive layer on top of CamemBERT's architecture. Following the work done on BERT [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF], for sequence tagging and sequence labeling we append a linear layer that respectively takes as input the last hidden representation of the <s> special token and the last hidden representation of the first subword token of each word. For dependency parsing, we plug a bi-affine graph predictor head as inspired by [START_REF] Dozat | Deep biaffine attention for neural dependency parsing[END_REF]. We refer the reader to this article for more details on this module. We fine-tune on XNLI by adding a classification head composed of one hidden layer with a non-linearity and one linear projection layer, with input dropout for both. We fine-tune CamemBERT independently for each task and each dataset. We optimize the model using the Adam optimiser (Kingma and Ba, 2014) with a fixed learning rate. We run a grid search on a combination of learning rates and batch sizes. We select the best model on the validation set out of the 30 first epochs. For NLI we use the default hyperparameters provided by the authors of RoBERTa on the MNLI task. 9 Although this might have pushed the performances even further, we do not apply any regularisation techniques such as weight decay, learning rate warm-up or discriminative finetuning, except for NLI. We show that fine-tuning CamemBERT in a straightforward manner leads to state-of-the-art results on all tasks and outperforms the existing BERT-based models in all cases. The POS tagging, dependency parsing, and NER experiments are run using Hugging Face's Transformer library extended to support CamemBERT and dependency parsing [START_REF] Wolf | Huggingface's transformers: State-of-the-art natural language processing[END_REF]. The NLI experiments use the fairseq library following the RoBERTa implementation.

Embeddings Following [START_REF] Straková | Neural architectures for nested NER through linearization[END_REF] and [START_REF] Straka | Evaluating contextualized embeddings on 54 languages in POS tagging, lemmatization and dependency parsing[END_REF] for mBERT and the English BERT, we make use of CamemBERT in a feature-based embeddings setting. In order to obtain a representation for a given token, we first compute the average of each sub-word's representations in the last four layers of the Transformer, and then average the resulting sub-word vectors.

We evaluate CamemBERT in the embeddings setting for POS tagging, dependency parsing and NER; using the open-source implementations of [START_REF] Straka | Evaluating contextualized embeddings on 54 languages in POS tagging, lemmatization and dependency parsing[END_REF] [START_REF] Dupont | Exploration de traits pour la reconnaissance d'entit'es nomm'ees du français par apprentissage automatique[END_REF] 85.57 mBERT (fine-tuned) 87.35

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• CamemBERT (fine-
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
CamemBERT (fine-tuned) 89.08 LSTM+CRF+CamemBERT (embeddings) 89.55 [START_REF] Conneau | Unsupervised cross-lingual representation learning at scale[END_REF] 80.1 270M

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• CamemBERT (fine-tuned) 82.5 110M
Supplement: LARGE models XLM-RLARGE [START_REF] Conneau | Unsupervised cross-lingual representation learning at scale[END_REF] 85.2 550M POS tagging and dependency parsing For POS tagging and dependency parsing, we compare CamemBERT with other models in the two settings: fine-tuning and as feature-based embeddings.

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• CamemBERTLARGE (fine-tuned) 85.7 335M
We report the results in Table 2.

CamemBERT reaches state-of-the-art scores on all treebanks and metrics in both scenarios. The two approaches achieve similar scores, with a slight advantage for the fine-tuned version of CamemBERT, thus questioning the need for complex task-specific architectures such as UDPipe Future.

Despite a much simpler optimisation process and no task specific architecture, fine-tuning Camem-BERT outperforms UDify on all treebanks and sometimes by a large margin (e.g. +4.15% LAS on Sequoia and +5.37 LAS on ParTUT). Camem-BERT also reaches better performance than other multilingual pretrained models such as mBERT and XLM MLM-TLM on all treebanks.

CamemBERT achieves overall slightly better results than the previous state-of-the-art and task-specific architecture UDPipe Future+mBERT +Flair, except for POS tagging on Sequoia and POS tagging on Spoken, where CamemBERT lags by 0.03% and 0.14% UPOS respectively. UDPipe Fu-ture+mBERT +Flair uses the contextualized string embeddings Flair [START_REF] Akbik | Contextual string embeddings for sequence labeling[END_REF], which are in fact pretrained contextualized character-level word embeddings specifically designed to handle misspelled words as well as subword structures such as prefixes and suffixes. This design choice might explain the difference in score for POS tagging with CamemBERT, especially for the Spoken treebank where words are not capitalized, a factor that might pose a problem for CamemBERT which was trained on capitalized data, but that might be properly handle by Flair on the UDPipe Future+mBERT +Flair model.

Named-Entity Recognition

For NER, we similarly evaluate CamemBERT in the fine-tuning setting and as input embeddings to the task specific architecture LSTM+CRF. We report these scores in Table 3.

In both scenarios, CamemBERT achieves higher F1 scores than the traditional CRF-based architectures, both non-neural and neural, and than finetuned multilingual BERT models. 11Using CamemBERT as embeddings to the traditional LSTM+CRF architecture gives slightly higher scores than by fine-tuning the model (89.08 vs. 89.55). This demonstrates that although CamemBERT can be used successfully without any task-specific architecture, it can still produce high quality contextualized embeddings that might be useful in scenarios where powerful downstream architectures exist.

Natural Language Inference On the XNLI benchmark, we compare CamemBERT to previous state-of-the-art multilingual models in the finetuning setting. In addition to the standard Camem-BERT model with a BASE architecture, we train another model with the LARGE architecture, referred to as CamemBERT LARGE , for a fair comparison with XLM-R LARGE . This model is trained with the CCNet corpus, described in Sec. 6, for 100k steps. 12 We expect that training the model for longer would yield even better performance.

CamemBERT reaches higher accuracy than its BASE counterparts reaching +5.6% over mBERT, +2.3 over XLM MLM-TLM , and +2.4 over XLM-R BASE . CamemBERT also uses as few as half as many parameters (110M vs. 270M for XLM-R BASE ).

CamemBERT LARGE achieves a state-of-the-art accuracy of 85.7% on the XNLI benchmark, as opposed to 85.2, for the recent XLM-R LARGE .

CamemBERT uses fewer parameters than multilingual models, mostly because of its smaller vocabulary size (e.g. 32k vs. 250k for XLM-R). Two elements might explain the better performance of CamemBERT over XLM-R. Even though XLM-R was trained on an impressive amount of data (2.5TB), only 57GB of this data is in French, whereas we used 138GB of French data. Additionally XLM-R also handles 100 languages, and the authors show that when reducing the number of languages to 7, they can reach 82.5% accuracy for French XNLI with their BASE architecture.

Summary of CamemBERT's results

Camem-BERT improves the state of the art for the 4 downstream tasks considered, thereby confirming on French the usefulness of Transformer-based models. We obtain these results when using Camem-BERT as a fine-tuned model or when used as contextual embeddings with task-specific architectures. This questions the need for more complex downstream architectures, similar to what was shown for English [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF]. Additionally, this suggests that CamemBERT is also able to produce high-quality representations out-of-the-box without further tuning.

Impact of corpus origin and size

In this section we investigate the influence of the homogeneity and size of the pretraining corpus on downstream task performance. With this aim, we train alternative version of CamemBERT by varying the pretraining datasets. For this experiment, we fix the number of pretraining steps to 100k, and allow the number of epochs to vary accordingly (more epochs for smaller dataset sizes). All models use the BASE architecture.

In order to investigate the need for homogeneous clean data versus more diverse and possibly noisier data, we use alternative sources of pretraining data in addition to OSCAR:

• Wikipedia, which is homogeneous in terms of genre and style. We use the official 2019 French Wikipedia dumps13 . We remove HTML tags and tables using Giuseppe Attardi's WikiExtractor.14

• CCNet [START_REF] Wenzek | CCNet: Extracting High Quality Monolingual Datasets from Web Crawl Data[END_REF], a dataset extracted from Common Crawl with a different filtering process than for OSCAR. It was built using a language model trained on Wikipedia, in order to filter out bad quality texts such as code or tables. 15 As this filtering step biases the noisy data from Common Crawl to more Wikipedia-like text, we expect CCNet to act as a middle ground between the unfiltered "noisy" OSCAR dataset, and the "clean" Wikipedia dataset. As a result of the different filtering processes, CCNet contains longer documents on average compared to OSCAR with smaller-and often noisier-documents weeded out.

Table 6 summarizes statistics of these different corpora.

In order to make the comparison between these three sources of pretraining data, we randomly sample 4GB of text (at the document level) from OS-CAR and CCNet, thereby creating samples of both Common-Crawl-based corpora of the same size as the French Wikipedia. These smaller 4GB samples also provides us a way to investigate the impact of pretraining data size. Downstream task performance for our alternative versions of CamemBERT are provided in Table 5. The upper section reports scores in the fine-tuning setting while the lower section reports scores for the embeddings.

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• OSCAR 138GB 98
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• OSCAR 138GB

Common Crawl vs. Wikipedia?

Table 5 clearly shows that models trained on the 4GB versions of OSCAR and CCNet (Common Crawl) perform consistently better than the the one trained on the French Wikipedia. This is true both in the fine-tuning and embeddings setting. Unsurprisingly, the gap is larger on tasks involving texts whose genre and style are more divergent from those of Wikipedia, such as tagging and parsing on the Spoken treebank. The performance gap is also very large on the XNLI task, probably as a consequence of the larger diversity of Common-Crawl-based corpora in terms of genres and topics. XNLI is indeed based on multiNLI which covers a range of genres of spoken and written text.

The downstream task performances of the models trained on the 4GB version of CCNet and OS-CAR are much more similar. 16 16 We provide the results of a model trained on the whole CCNet corpus in the Appendix. The conclusions are similar when comparing models trained on the full corpora: downstream results are similar when using OSCAR or CCNet.

How much data do you need?

An unexpected outcome of our experiments is that the model trained "only" on the 4GB sample of OS-CAR performs similarly to the standard Camem-BERT trained on the whole 138GB OSCAR. The only task with a large performance gap is NER, where "138GB" models are better by 0.9 F1 points. This could be due to the higher number of named entities present in the larger corpora, which is beneficial for this task. On the contrary, other tasks don't seem to gain from the additional data.

In other words, when trained on corpora such as OSCAR and CCNet, which are heterogeneous in terms of genre and style, 4GB of uncompressed text is large enough as pretraining corpus to reach state-of-the-art results with the BASE architecure, better than those obtained with mBERT (pretrained on 60GB of text). 17 This calls into question the need to use a very large corpus such as OSCAR or CCNet when training a monolingual Transformerbased language model such as BERT or RoBERTa. Not only does this mean that the computational (and therefore environmental) cost of training a state-of-the-art language model can be reduced, but it also means that CamemBERT-like models can be trained for all languages for which a Common-Crawl-based corpus of 4GB or more can be created. OSCAR is available in 166 languages, and provides such a corpus for 38 languages. Moreover, it is possible that slightly smaller corpora (e.g. down to 1GB) could also prove sufficient to train highperforming language models. We obtained our results with BASE architectures. Further research is needed to confirm the validity of our findings on larger architectures and other more complex natural language understanding tasks. However, even with a BASE architecture and 4GB of training data, the validation loss is still decreasing beyond 100k steps (and 400 epochs). This suggests that we are still under-fitting the 4GB pretraining dataset, training longer might increase downstream performance.

Discussion

Since the pre-publication of this work [START_REF] Martin | CamemBERT: a Tasty French Language Model[END_REF], many monolingual language models have appeared, e.g. [START_REF] Le | Flaubert: Unsupervised language model pre-training for french[END_REF][START_REF] Virtanen | Multilingual is not enough: Bert for finnish[END_REF][START_REF] Delobelle | RobBERT: a Dutch RoBERTabased Language Model[END_REF], for as much as 30 languages [START_REF] Nozza | What the [mask]? making sense of language-specific BERT models[END_REF]. In almost all tested configurations they displayed better results than multilingual language models such as mBERT [START_REF] Pires | How multilingual is multilingual bert?[END_REF]. Interestingly, [START_REF] Le | Flaubert: Unsupervised language model pre-training for french[END_REF] showed that using their FlauBert, a RoBERTa-based language model for French, which was trained on less but more edited data, in conjunction to Camem-BERT in an ensemble system could improve the performance of a parsing model and establish a new state-of-the-art in constituency parsing of French, highlighting thus the complementarity of both models. 18 As it was the case for English when BERT was first released, the availability of similar scale language models for French enabled interesting applications, such as large scale anonymization of legal texts, where CamemBERT-based models established a new state-of-the-art on this task [START_REF] Benesty | Ner algo benchmark: spacy, flair, m-bert and camembert on anonymizing french commercial legal cases[END_REF], or the first large question answering experiments on a French Squad data set that was released very recently [START_REF] Martin D'hoffschmidt | Fquad: French question answering dataset[END_REF] where the authors matched human performance using CamemBERT LARGE . Being the first pre-trained language model that used the opensource Common Crawl Oscar corpus and given its impact on the community, CamemBERT paved the way for many works on monolingual language models that followed. Furthermore, the availability of all its training data favors reproducibility and is a step towards better understanding such models. In that spirit, we make the models used in our experiments available via our website and via the huggingface and fairseq APIs, in addition to the base CamemBERT model.

Conclusion

In this work, we investigated the feasibility of training a Transformer-based language model for lan-guages other than English. Using French as an example, we trained CamemBERT, a language model based on RoBERTa. We evaluated Camem-BERT on four downstream tasks (part-of-speech tagging, dependency parsing, named entity recognition and natural language inference) in which our best model reached or improved the state of the art in all tasks considered, even when compared to strong multilingual models such as mBERT, XLM and XLM-R, while also having fewer parameters.

Our experiments demonstrate that using web crawled data with high variability is preferable to using Wikipedia-based data. In addition we showed that our models could reach surprisingly high performances with as low as 4GB of pretraining data, questioning thus the need for large scale pretraining corpora. This shows that state-of-the-art Transformer-based language models can be trained on languages with far fewer resources than English, whenever a few gigabytes of data are available. This paves the way for the rise of monolingual contextual pre-trained language-models for under-resourced languages. The question of knowing whether pretraining on small domain specific content will be a better option than transfer learning techniques such as fine-tuning remains open and we leave it for future work.

Pretrained on pure open-source corpora, Camem-BERT is freely available and distributed with the MIT license via popular NLP libraries (fairseq and huggingface) as well as on our website camembert-model.fr.

A Impact of Whole-Word Masking

In Table 8, we compare models trained using the traditional subword masking with whole-word masking. Whole-Word Masking positively impacts downstream performances for NLI (although only by 0.5 points of accuracy). To our surprise, this Whole-Word Masking scheme does not benefit much lower level task such as Name Entity Recognition, POS tagging and Dependency Parsing.

B Impact of model size

Table 8 compares models trained with the BASE and LARGE architectures. These models were trained with the CCNet corpus (135GB) for practical reasons. We confirm the positive influence of larger models on the NLI and NER tasks. The LARGE architecture leads to respectively 19.7% error reduction and 23.7%. To our surprise, on POS tagging and dependency parsing, having three time more parameters doesn't lead to a significant difference compared to the BASE model. [START_REF] Tenney | BERT rediscovers the classical NLP pipeline[END_REF] and [START_REF] Jawahar | What does BERT learn about the structure of language[END_REF] have shown that low-level syntactic capabilities are learnt in lower layers of BERT while higher level semantic representations are found in upper layers of BERT. POS tagging and dependency parsing probably do not benefit from adding more layers as the lower layers of the BASE architecture already capture what is necessary to complete these tasks.

C Impact of training dataset

D Impact of number of steps

Figure 1 displays the evolution of downstream task performance with respect to the number of steps. All scores in this section are averages from at least 4 runs with different random seeds. For POS tagging and dependency parsing, we also average the scores on the 4 treebanks. We evaluate our model at every epoch (1 epoch equals 8360 steps). We report the masked language modelling perplexity along with downstream performances. Figure 1, suggests that the more complex the task the more impactful the number of steps is. We observe an early plateau for dependency parsing and NER at around 22k steps, while for NLI, even if the marginal improvement with regard to pretraining steps becomes smaller, the performance is still slowly increasing at 100k steps.

In Table 8, we compare two models trained on CCNet, one for 100k steps and the other for 500k steps to evaluate the influence of the total number of steps. The model trained for 500k steps does not increase the scores much from just training for 100k steps in POS tagging and parsing. The increase is slightly higher for XNLI (+0.84).

Those results suggest that low level syntactic representation are captured early in the language model training process while it needs more steps to extract complex semantic information as needed for NLI.

Figure 1 :

 1 Figure 1: Impact of number of pretraining steps on downstream performance for CamemBERT..

  and Straková et al. (2019). 10

		GSD	SEQUOIA	SPOKEN	PARTUT
	MODEL	UPOS LAS	UPOS LAS	UPOS LAS	UPOS LAS
	mBERT (fine-tuned)	97.48	89.73	98.41	91.24	96.02	78.63	97.35	91.37
	XLMMLM-TLM (fine-tuned)	98.13	90.03	98.51	91.62	96.18	80.89	97.39	89.43
	UDify (Kondratyuk, 2019)	97.83	91.45	97.89	90.05	96.23	80.01	96.12	88.06
	UDPipe Future (Straka, 2018)	97.63	88.06	98.79	90.73	95.91	77.53	96.93	89.63
	+ mBERT + Flair (emb.) (Straka et al., 2019)	97.98	90.31	99.32	93.81	97.23	81.40	97.64	92.47

Table 2 :

 2 POS and dependency parsing scores on 4 French treebanks, reported on test sets assuming gold tokenization and segmentation (best model selected on validation out of 4). Best scores in bold, second best underlined.

	tuned)	98.18	92.57	99.29	94.20	96.99	81.37	97.65	93.43
	UDPipe Future + CamemBERT (embeddings)	97.96	90.57	99.25	93.89	97.09	81.81	97.50	92.32
	Model	F1
	SEM (CRF) (Dupont, 2017)	85.02
	LSTM-CRF

Table 3 :

 3 NER scores on the FTB (best model selected on validation out of 4). Best scores in bold, second best underlined.

	Model	Acc. #Params
	mBERT (Devlin et al., 2019)	76.9	175M
	XLMMLM-TLM (Lample and Conneau, 2019) 80.2	250M
	XLM-RBASE

Table 4 :

 4 NLI

accuracy on the French XNLI test set (best model selected on validation out of 10). Best scores in bold, second best underlined.

Table 5 :

 5 Results on the four tasks using language models pre-trained on data sets of varying homogeneity and size, reported on validation sets (average of 4 runs for POS tagging, parsing and NER, average of 10 runs for NLI).

			98.18	92.77	99.14	94.24	97.26	82.44	96.52	89.89	97.77	89.84	91.83	-
	Corpus	Size	#tokens #docs		Tokens/doc
						Percentiles:
					5% 50% 95%
	Wikipedia	4GB	990M	1.4M	102 363 2530
	CCNet	135GB	31.9B	33.1M 128	414 2869
	OSCAR	138GB	32.7B	59.4M	28	201 1946

Table 6 :

 6 Statistics on the pretraining datasets used.

  Table 8 compares models trained on CCNet and on OSCAR. The major difference between the two datasets is the additional filtering step of CCNet that favors Wikipedia-Like texts. The model pretrained on OSCAR gets slightly better results on POS tagging and dependency parsing, but gets a

Table 7 :

 7 Performance reported on Test sets for all trained models (average over multiple fine-tuning seeds).

					GSD	SEQUOIA	SPOKEN	PARTUT	NER	NLI
	DATASET MASKING	ARCH. #STEPS	UPOS LAS	UPOS LAS	UPOS LAS	UPOS LAS	F1	ACC.
	Fine-tuning
	OSCAR	Subword	BASE	100k	98.25	92.29	99.25	93.70	96.95	79.96	97.73	92.68	89.23	81.18
	OSCAR	Whole-word	BASE	100k	98.21	92.30	99.21	94.33	96.97	80.16	97.78	92.65	89.11	81.92
	CCNET	Subword	BASE	100k	98.02	92.06	99.26	94.13	96.94	80.39	97.55	92.66	89.05	81.77
	CCNET	Whole-word	BASE	100k	98.03	92.43	99.18	94.26	96.98	80.89	97.46	92.33	89.27	81.92
	CCNET	Whole-word	BASE	500k	98.21	92.43	99.24	94.60	96.69	80.97	97.65	92.48	89.08	83.43
	CCNET	Whole-word LARGE	100k	98.01	91.09	99.23	93.65	97.01	80.89	97.41	92.59	89.39	85.29
	Embeddings (with UDPipe Future (tagging, parsing) or LSTM+CRF (NER))
	OSCAR	Subword	BASE	100k	98.01	90.64	99.27	94.26	97.15	82.56	97.70	92.70	90.25	-
	OSCAR	Whole-word	BASE	100k	97.97	90.44	99.23	93.93	97.08	81.74	97.50	92.28	89.48	-
	CCNET	Subword	BASE	100k	97.87	90.78	99.20	94.33	97.17	82.39	97.54	92.51	89.38	-
	CCNET	Whole-word	BASE	100k	97.96	90.76	99.23	94.34	97.04	82.09	97.39	92.82	89.85	-
	CCNET	Whole-word	BASE	500k	97.84	90.25	99.14	93.96	97.01	82.17	97.27	92.28	89.07	-
	CCNET	Whole-word LARGE	100k	98.01	90.70	99.23	94.01	97.04	82.18	97.31	92.28	88.76	-

Table 8 :

 8 Comparing scores on the Validation sets of different design choices. POS tagging and parsing datasets are averaged. (average over multiple fine-tuning seeds).

https://allennlp.org/elmo

https://universaldependencies.org

https://deep-sequoia.inria.fr

Speech transcript uncased that includes annotated disfluencies without punctuation

6 This dataset has only been stored and used on Inria's servers after signing the research-only agreement.

https://github.com/google-research/ bert/blob/master/README.md

Evaluation of CamemBERTIn this section, we measure the performance of our models by evaluating them on the four aforementioned tasks: POS tagging, dependency parsing, NER and NLI.[START_REF] Ott | fairseq: A fast, extensible toolkit for sequence modeling[END_REF] More details at https://github.com/pytorch/ fairseq/blob/master/examples/roberta/ README.glue.md.10 UDPipe Future is available at https://github. com/CoNLL-UD-2018/UDPipe-Future, and the code for nested NER is available at https://github.com/ ufal/acl2019_nested_ner.

XLMMLM-TLM is a lower-case model. Case is crucial for NER, therefore we do not report its low performance (84.37%)

We train our LARGE model with the CCNet corpus for practical reasons. Given that BASE models reach similar performance when using OSCAR or CCNet as pretraining corpus (Appendix Table8), we expect an OSCAR LARGE model to reach comparable scores.

https://dumps.wikimedia.org/ backup-index.html.

https://github.com/attardi/ wikiextractor.

We use the HEAD split, which corresponds to the top 33% of documents in terms of filtering perplexity.

The OSCAR-4GB model gets slightly better XNLI accuracy than the full OSCAR-138GB model(81.88 vs. 81.55). This might be due to the random seed used for pretraining, as each model is pretrained only once.

We refer the reader to[START_REF] Le | Flaubert: Unsupervised language model pre-training for french[END_REF] for a comprehensive benchmark and details therein.

Acknowledgments

We want to thank Clémentine Fourrier for her proofreading and insightful comments, and Alix Chagué for her great logo. This work was partly funded by three French National funded projects granted to Inria and other partners by the Agence Nationale de la Recherche, namely projects PARSITI (ANR-16-CE33-0021), SoSweet (ANR-15-CE38-0011) and BASNUM (ANR-18-CE38-0003), as well as by the last author's chair in the PRAIRIE institute funded by the French national agency ANR as part of the "Investissements d'avenir" programme under the reference ANR-19-P3IA-0001.

https://camembert-model.

Appendix

In the appendix, we analyse different design choices of CamemBERT (Table 8), namely with respect to the use of whole-word masking, the training dataset, the model size, and the number of training steps in complement with the analyses of the impact of corpus origin an size (Section 6. In all the ablations, all scores come from at least 4 averaged runs. For POS tagging and dependency parsing, we average the scores on the 4 treebanks. We also report all averaged test scores of our different models in Table 7.