xlmroberta.rst 6.78 KB
Newer Older
Sylvain Gugger's avatar
Sylvain Gugger committed
1
2
3
4
5
6
7
8
9
10
11
12
.. 
    Copyright 2020 The HuggingFace Team. All rights reserved.

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
    an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
    specific language governing permissions and limitations under the License.

Lysandre's avatar
Lysandre committed
13
XLM-RoBERTa
Sylvain Gugger's avatar
Sylvain Gugger committed
14
-----------------------------------------------------------------------------------------------------------------------
Lysandre's avatar
Lysandre committed
15

Sylvain Gugger's avatar
Sylvain Gugger committed
16
Overview
Sylvain Gugger's avatar
Sylvain Gugger committed
17
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
18

Sylvain Gugger's avatar
Sylvain Gugger committed
19
20
21
22
23
The XLM-RoBERTa model was proposed in `Unsupervised Cross-lingual Representation Learning at Scale
<https://arxiv.org/abs/1911.02116>`__ by Alexis Conneau, Kartikay Khandelwal, Naman Goyal, Vishrav Chaudhary, Guillaume
Wenzek, Francisco Guzm谩n, Edouard Grave, Myle Ott, Luke Zettlemoyer and Veselin Stoyanov. It is based on Facebook's
RoBERTa model released in 2019. It is a large multi-lingual language model, trained on 2.5TB of filtered CommonCrawl
data.
Lysandre's avatar
Lysandre committed
24

Lysandre's avatar
Lysandre committed
25
The abstract from the paper is the following:
Lysandre's avatar
Lysandre committed
26

Sylvain Gugger's avatar
Sylvain Gugger committed
27
28
*This paper shows that pretraining multilingual language models at scale leads to significant performance gains for a
wide range of cross-lingual transfer tasks. We train a Transformer-based masked language model on one hundred
Lysandre's avatar
Lysandre committed
29
languages, using more than two terabytes of filtered CommonCrawl data. Our model, dubbed XLM-R, significantly
Sylvain Gugger's avatar
Sylvain Gugger committed
30
31
32
33
34
35
36
37
outperforms multilingual BERT (mBERT) on a variety of cross-lingual benchmarks, including +13.8% average accuracy on
XNLI, +12.3% average F1 score on MLQA, and +2.1% average F1 score on NER. XLM-R performs particularly well on
low-resource languages, improving 11.8% in XNLI accuracy for Swahili and 9.2% for Urdu over the previous XLM model. We
also present a detailed empirical evaluation of the key factors that are required to achieve these gains, including the
trade-offs between (1) positive transfer and capacity dilution and (2) the performance of high and low resource
languages at scale. Finally, we show, for the first time, the possibility of multilingual modeling without sacrificing
per-language performance; XLM-Ris very competitive with strong monolingual models on the GLUE and XNLI benchmarks. We
will make XLM-R code, data, and models publicly available.*
Lysandre's avatar
Lysandre committed
38

Lysandre's avatar
Lysandre committed
39
Tips:
Lysandre's avatar
Lysandre committed
40

Sylvain Gugger's avatar
Sylvain Gugger committed
41
42
- XLM-RoBERTa is a multilingual model trained on 100 different languages. Unlike some XLM multilingual models, it does
  not require :obj:`lang` tensors to understand which language is used, and should be able to determine the correct
Lysandre's avatar
Lysandre committed
43
  language from the input ids.
Sylvain Gugger's avatar
Sylvain Gugger committed
44
45
- This implementation is the same as RoBERTa. Refer to the :doc:`documentation of RoBERTa <roberta>` for usage examples
  as well as the information relative to the inputs and outputs.
Lysandre's avatar
Lysandre committed
46

47
48
This model was contributed by `stefan-it <https://huggingface.co/stefan-it>`__. The original code can be found `here
<https://github.com/pytorch/fairseq/tree/master/examples/xlmr>`__.
49
50


Lysandre's avatar
Lysandre committed
51
XLMRobertaConfig
Sylvain Gugger's avatar
Sylvain Gugger committed
52
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
53
54
55
56
57
58

.. autoclass:: transformers.XLMRobertaConfig
    :members:


XLMRobertaTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
59
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
60
61

.. autoclass:: transformers.XLMRobertaTokenizer
Lysandre Debut's avatar
Lysandre Debut committed
62
63
    :members: build_inputs_with_special_tokens, get_special_tokens_mask,
        create_token_type_ids_from_sequences, save_vocabulary
Lysandre's avatar
Lysandre committed
64
65


66
67
68
69
70
71
72
XLMRobertaTokenizerFast
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.XLMRobertaTokenizerFast
    :members:


Lysandre's avatar
Lysandre committed
73
XLMRobertaModel
Sylvain Gugger's avatar
Sylvain Gugger committed
74
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
75
76

.. autoclass:: transformers.XLMRobertaModel
Sylvain Gugger's avatar
Sylvain Gugger committed
77
    :members: forward
Lysandre's avatar
Lysandre committed
78
79


80
XLMRobertaForCausalLM
Sylvain Gugger's avatar
Sylvain Gugger committed
81
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83

.. autoclass:: transformers.XLMRobertaForCausalLM
Sylvain Gugger's avatar
Sylvain Gugger committed
84
    :members: forward
85
86


Lysandre's avatar
Lysandre committed
87
XLMRobertaForMaskedLM
Sylvain Gugger's avatar
Sylvain Gugger committed
88
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
89
90

.. autoclass:: transformers.XLMRobertaForMaskedLM
Sylvain Gugger's avatar
Sylvain Gugger committed
91
    :members: forward
Lysandre's avatar
Lysandre committed
92
93
94


XLMRobertaForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
95
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
96
97

.. autoclass:: transformers.XLMRobertaForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
98
    :members: forward
Lysandre's avatar
Lysandre committed
99
100
101


XLMRobertaForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
102
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
103
104

.. autoclass:: transformers.XLMRobertaForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
105
    :members: forward
Lysandre's avatar
Lysandre committed
106
107
108


XLMRobertaForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
109
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
110
111

.. autoclass:: transformers.XLMRobertaForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
112
    :members: forward
Lysandre's avatar
Lysandre committed
113

Lysandre's avatar
Lysandre committed
114

115
XLMRobertaForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
116
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117
118

.. autoclass:: transformers.XLMRobertaForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
119
    :members: forward
120
121


Lysandre's avatar
Lysandre committed
122
TFXLMRobertaModel
Sylvain Gugger's avatar
Sylvain Gugger committed
123
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
124
125

.. autoclass:: transformers.TFXLMRobertaModel
Sylvain Gugger's avatar
Sylvain Gugger committed
126
    :members: call
Lysandre's avatar
Lysandre committed
127
128
129


TFXLMRobertaForMaskedLM
Sylvain Gugger's avatar
Sylvain Gugger committed
130
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
131
132

.. autoclass:: transformers.TFXLMRobertaForMaskedLM
Sylvain Gugger's avatar
Sylvain Gugger committed
133
    :members: call
Lysandre's avatar
Lysandre committed
134
135
136


TFXLMRobertaForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
137
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
138
139

.. autoclass:: transformers.TFXLMRobertaForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
140
    :members: call
Lysandre's avatar
Lysandre committed
141
142


Sylvain Gugger's avatar
Sylvain Gugger committed
143
TFXLMRobertaForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
144
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
145
146

.. autoclass:: transformers.TFXLMRobertaForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
147
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
148
149


Lysandre's avatar
Lysandre committed
150
TFXLMRobertaForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
151
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
152
153

.. autoclass:: transformers.TFXLMRobertaForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
154
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
155
156
157


TFXLMRobertaForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
158
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
159
160

.. autoclass:: transformers.TFXLMRobertaForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
161
    :members: call