xlm.rst 5.7 KB
Newer Older
1
XLM
Sylvain Gugger's avatar
Sylvain Gugger committed
2
-----------------------------------------------------------------------------------------------------------------------
3

Lysandre's avatar
Lysandre committed
4
Overview
Sylvain Gugger's avatar
Sylvain Gugger committed
5
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
6

Sylvain Gugger's avatar
Sylvain Gugger committed
7
8
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
9

Lysandre's avatar
Lysandre committed
10
- a causal language modeling (CLM) objective (next token prediction),
Sylvain Gugger's avatar
Sylvain Gugger committed
11
12
- 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
13
14
15
16

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
17
18
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
19
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
20
21
22
23
24
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
25

Lysandre's avatar
Lysandre committed
26
Tips:
Lysandre's avatar
Lysandre committed
27

Lysandre's avatar
Lysandre committed
28
29
- 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
30
31
- 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
32

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

Lysandre's avatar
Lysandre committed
35
36

XLMConfig
Sylvain Gugger's avatar
Sylvain Gugger committed
37
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38

39
.. autoclass:: transformers.XLMConfig
40
41
    :members:

Lysandre's avatar
Lysandre committed
42
XLMTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
43
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44

45
.. autoclass:: transformers.XLMTokenizer
Lysandre Debut's avatar
Lysandre Debut committed
46
47
    :members: build_inputs_with_special_tokens, get_special_tokens_mask,
        create_token_type_ids_from_sequences, save_vocabulary
48

49
50

XLM specific outputs
Sylvain Gugger's avatar
Sylvain Gugger committed
51
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
53
54
55
56

.. autoclass:: transformers.modeling_xlm.XLMForQuestionAnsweringOutput
    :members:


Lysandre's avatar
Lysandre committed
57
XLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
58
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59

60
.. autoclass:: transformers.XLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
61
    :members: forward
62
63


Lysandre's avatar
Lysandre committed
64
XLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
65
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66

67
.. autoclass:: transformers.XLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
68
    :members: forward
69
70


Lysandre's avatar
Lysandre committed
71
XLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
72
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73

74
.. autoclass:: transformers.XLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
75
    :members: forward
76
77


78
XLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
79
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80
81

.. autoclass:: transformers.XLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
82
    :members: forward
83
84
85


XLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
86
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87
88

.. autoclass:: transformers.XLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
89
    :members: forward
90
91


Lysandre's avatar
Lysandre committed
92
XLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
93
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
94
95

.. autoclass:: transformers.XLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
96
    :members: forward
Lysandre's avatar
Lysandre committed
97
98


Lysandre's avatar
Lysandre committed
99
XLMForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101

102
.. autoclass:: transformers.XLMForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
103
    :members: forward
LysandreJik's avatar
LysandreJik committed
104
105


Lysandre's avatar
Lysandre committed
106
TFXLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
107
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
108

thomwolf's avatar
thomwolf committed
109
.. autoclass:: transformers.TFXLMModel
Sylvain Gugger's avatar
Sylvain Gugger committed
110
    :members: call
LysandreJik's avatar
LysandreJik committed
111
112


Lysandre's avatar
Lysandre committed
113
TFXLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
114
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
115

116
.. autoclass:: transformers.TFXLMWithLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
117
    :members: call
LysandreJik's avatar
LysandreJik committed
118
119


Lysandre's avatar
Lysandre committed
120
TFXLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
121
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
122

123
.. autoclass:: transformers.TFXLMForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
124
    :members: call
LysandreJik's avatar
LysandreJik committed
125
126


Sylvain Gugger's avatar
Sylvain Gugger committed
127
TFXLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
128
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
129
130

.. autoclass:: transformers.TFXLMForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
131
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
132
133
134


TFXLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
135
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
136
137

.. autoclass:: transformers.TFXLMForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
138
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
139
140
141



Lysandre's avatar
Lysandre committed
142
TFXLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
143
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
144

145
.. autoclass:: transformers.TFXLMForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
146
    :members: call