"...mmclassification-0.24.1/tools/deployment/test.py" did not exist on "b21b0c01b6991c6437a8f110a4db902cc2ea0325"
xlm.rst 6.31 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

Sylvain Gugger's avatar
Sylvain Gugger committed
45
The original code can be found `here <https://github.com/facebookresearch/XLM/>`__.
46

Lysandre's avatar
Lysandre committed
47
48

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

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

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

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

61
62

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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



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

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