xlm.rst 6.39 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.

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

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

Sylvain Gugger's avatar
Sylvain Gugger committed
19
20
The XLM model was proposed in `Cross-lingual Language Model Pretraining <https://arxiv.org/abs/1901.07291>`__ by
Guillaume Lample, Alexis Conneau. It's a transformer pretrained using one of the following objectives:
Lysandre's avatar
Lysandre committed
21

Lysandre's avatar
Lysandre committed
22
- a causal language modeling (CLM) objective (next token prediction),
Sylvain Gugger's avatar
Sylvain Gugger committed
23
24
- a masked language modeling (MLM) objective (BERT-like), or
- a Translation Language Modeling (TLM) object (extension of BERT's MLM to multiple language inputs)
Lysandre's avatar
Lysandre committed
25
26
27
28

The abstract from the paper is the following:

*Recent studies have demonstrated the efficiency of generative pretraining for English natural language understanding.
Sylvain Gugger's avatar
Sylvain Gugger committed
29
30
In this work, we extend this approach to multiple languages and show the effectiveness of cross-lingual pretraining. We
propose two methods to learn cross-lingual language models (XLMs): one unsupervised that only relies on monolingual
Lysandre's avatar
Lysandre committed
31
data, and one supervised that leverages parallel data with a new cross-lingual language model objective. We obtain
Sylvain Gugger's avatar
Sylvain Gugger committed
32
33
34
35
36
state-of-the-art results on cross-lingual classification, unsupervised and supervised machine translation. On XNLI, our
approach pushes the state of the art by an absolute gain of 4.9% accuracy. On unsupervised machine translation, we
obtain 34.3 BLEU on WMT'16 German-English, improving the previous state of the art by more than 9 BLEU. On supervised
machine translation, we obtain a new state of the art of 38.5 BLEU on WMT'16 Romanian-English, outperforming the
previous best approach by more than 4 BLEU. Our code and pretrained models will be made publicly available.*
Lysandre's avatar
Lysandre committed
37

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

Lysandre's avatar
Lysandre committed
40
41
- XLM has many different checkpoints, which were trained using different objectives: CLM, MLM or TLM. Make sure to
  select the correct objective for your task (e.g. MLM checkpoints are not suitable for generation).
Sylvain Gugger's avatar
Sylvain Gugger committed
42
43
- XLM has multilingual checkpoints which leverage a specific :obj:`lang` parameter. Check out the :doc:`multi-lingual
  <../multilingual>` page for more information.
Lysandre's avatar
Lysandre committed
44

45
46
This model was contributed by `thomwolf <https://huggingface.co/thomwolf>`__. The original code can be found `here
<https://github.com/facebookresearch/XLM/>`__.
47

Lysandre's avatar
Lysandre committed
48
49

XLMConfig
Sylvain Gugger's avatar
Sylvain Gugger committed
50
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51

52
.. autoclass:: transformers.XLMConfig
53
54
    :members:

Lysandre's avatar
Lysandre committed
55
XLMTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
56
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57

58
.. autoclass:: transformers.XLMTokenizer
Lysandre Debut's avatar
Lysandre Debut committed
59
60
    :members: build_inputs_with_special_tokens, get_special_tokens_mask,
        create_token_type_ids_from_sequences, save_vocabulary
61

62
63

XLM specific outputs
Sylvain Gugger's avatar
Sylvain Gugger committed
64
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65

Sylvain Gugger's avatar
Sylvain Gugger committed
66
.. autoclass:: transformers.models.xlm.modeling_xlm.XLMForQuestionAnsweringOutput
67
68
69
    :members:


Lysandre's avatar
Lysandre committed
70
XLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
71
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72

73
.. autoclass:: transformers.XLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
74
    :members: forward
75
76


Lysandre's avatar
Lysandre committed
77
XLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
78
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79

80
.. autoclass:: transformers.XLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
81
    :members: forward
82
83


Lysandre's avatar
Lysandre committed
84
XLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
85
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86

87
.. autoclass:: transformers.XLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
88
    :members: forward
89
90


91
XLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
92
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93
94

.. autoclass:: transformers.XLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
95
    :members: forward
96
97
98


XLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
99
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100
101

.. autoclass:: transformers.XLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
102
    :members: forward
103
104


Lysandre's avatar
Lysandre committed
105
XLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
106
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
107
108

.. autoclass:: transformers.XLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
109
    :members: forward
Lysandre's avatar
Lysandre committed
110
111


Lysandre's avatar
Lysandre committed
112
XLMForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
113
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114

115
.. autoclass:: transformers.XLMForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
116
    :members: forward
LysandreJik's avatar
LysandreJik committed
117
118


Lysandre's avatar
Lysandre committed
119
TFXLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
120
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
121

thomwolf's avatar
thomwolf committed
122
.. autoclass:: transformers.TFXLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
123
    :members: call
LysandreJik's avatar
LysandreJik committed
124
125


Lysandre's avatar
Lysandre committed
126
TFXLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
127
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
128

129
.. autoclass:: transformers.TFXLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
130
    :members: call
LysandreJik's avatar
LysandreJik committed
131
132


Lysandre's avatar
Lysandre committed
133
TFXLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
134
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
135

136
.. autoclass:: transformers.TFXLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
137
    :members: call
LysandreJik's avatar
LysandreJik committed
138
139


Sylvain Gugger's avatar
Sylvain Gugger committed
140
TFXLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
141
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
142
143

.. autoclass:: transformers.TFXLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
144
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
145
146
147


TFXLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
148
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
149
150

.. autoclass:: transformers.TFXLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
151
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
152
153
154



Lysandre's avatar
Lysandre committed
155
TFXLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
156
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
157

158
.. autoclass:: transformers.TFXLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
159
    :members: call