"src/transformers/models/jamba/modeling_jamba.py" did not exist on "f9a98c476c3a92beaba3b20e51f1ff49417231a6"
xlnet.rst 8.1 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
XLNet
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
21
22
23
The XLNet model was proposed in `XLNet: Generalized Autoregressive Pretraining for Language Understanding
<https://arxiv.org/abs/1906.08237>`_ by Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov,
Quoc V. Le. XLnet is an extension of the Transformer-XL model pre-trained using an autoregressive method to learn
bidirectional contexts by maximizing the expected likelihood over all permutations of the input sequence factorization
order.
Lysandre's avatar
Lysandre committed
24

Lysandre's avatar
Lysandre committed
25
26
27
28
29
30
The abstract from the paper is the following:

*With the capability of modeling bidirectional contexts, denoising autoencoding based pretraining like BERT achieves
better performance than pretraining approaches based on autoregressive language modeling. However, relying on
corrupting the input with masks, BERT neglects dependency between the masked positions and suffers from a
pretrain-finetune discrepancy. In light of these pros and cons, we propose XLNet, a generalized autoregressive
Sylvain Gugger's avatar
Sylvain Gugger committed
31
32
33
34
35
pretraining method that (1) enables learning bidirectional contexts by maximizing the expected likelihood over all
permutations of the factorization order and (2) overcomes the limitations of BERT thanks to its autoregressive
formulation. Furthermore, XLNet integrates ideas from Transformer-XL, the state-of-the-art autoregressive model, into
pretraining. Empirically, under comparable experiment settings, XLNet outperforms BERT on 20 tasks, often by a large
margin, including question answering, natural language inference, sentiment analysis, and document ranking.*
Lysandre's avatar
Lysandre committed
36

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

Sylvain Gugger's avatar
Sylvain Gugger committed
39
40
41
42
43
44
- The specific attention pattern can be controlled at training and test time using the :obj:`perm_mask` input.
- Due to the difficulty of training a fully auto-regressive model over various factorization order, XLNet is pretrained
  using only a sub-set of the output tokens as target which are selected with the :obj:`target_mapping` input.
- To use XLNet for sequential decoding (i.e. not in fully bi-directional setting), use the :obj:`perm_mask` and
  :obj:`target_mapping` inputs to control the attention span and outputs (see examples in
  `examples/text-generation/run_generation.py`)
Lysandre's avatar
Lysandre committed
45
- XLNet is one of the few models that has no sequence length limit.
Lysandre's avatar
Lysandre committed
46

47
48
This model was contributed by `thomwolf <https://huggingface.co/thomwolf>`__. The original code can be found `here
<https://github.com/zihangdai/xlnet/>`__.
49

Lysandre's avatar
Lysandre committed
50

Lysandre's avatar
Lysandre committed
51
XLNetConfig
Sylvain Gugger's avatar
Sylvain Gugger committed
52
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53

54
.. autoclass:: transformers.XLNetConfig
55
56
57
    :members:


Lysandre's avatar
Lysandre committed
58
XLNetTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
59
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60

61
.. autoclass:: transformers.XLNetTokenizer
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
64
65


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

.. autoclass:: transformers.XLNetTokenizerFast
    :members:


73
XLNet specific outputs
Sylvain Gugger's avatar
Sylvain Gugger committed
74
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75

Sylvain Gugger's avatar
Sylvain Gugger committed
76
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetModelOutput
77
78
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
79
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetLMHeadModelOutput
80
81
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
82
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetForSequenceClassificationOutput
83
84
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
85
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetForMultipleChoiceOutput
86
87
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
88
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetForTokenClassificationOutput
89
90
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
91
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetForQuestionAnsweringSimpleOutput
92
93
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
94
.. autoclass:: transformers.models.xlnet.modeling_xlnet.XLNetForQuestionAnsweringOutput
95
96
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
97
.. autoclass:: transformers.models.xlnet.modeling_tf_xlnet.TFXLNetModelOutput
Sylvain Gugger's avatar
Sylvain Gugger committed
98
99
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
100
.. autoclass:: transformers.models.xlnet.modeling_tf_xlnet.TFXLNetLMHeadModelOutput
Sylvain Gugger's avatar
Sylvain Gugger committed
101
102
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
103
.. autoclass:: transformers.models.xlnet.modeling_tf_xlnet.TFXLNetForSequenceClassificationOutput
Sylvain Gugger's avatar
Sylvain Gugger committed
104
105
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
106
.. autoclass:: transformers.models.xlnet.modeling_tf_xlnet.TFXLNetForMultipleChoiceOutput
Sylvain Gugger's avatar
Sylvain Gugger committed
107
108
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
109
.. autoclass:: transformers.models.xlnet.modeling_tf_xlnet.TFXLNetForTokenClassificationOutput
Sylvain Gugger's avatar
Sylvain Gugger committed
110
111
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
112
.. autoclass:: transformers.models.xlnet.modeling_tf_xlnet.TFXLNetForQuestionAnsweringSimpleOutput
Sylvain Gugger's avatar
Sylvain Gugger committed
113
114
    :members:

115

Lysandre's avatar
Lysandre committed
116
XLNetModel
Sylvain Gugger's avatar
Sylvain Gugger committed
117
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118

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


Lysandre's avatar
Lysandre committed
123
XLNetLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
124
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
125

126
.. autoclass:: transformers.XLNetLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
127
    :members: forward
128
129


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

133
.. autoclass:: transformers.XLNetForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
134
    :members: forward
135
136


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

Sylvain Gugger's avatar
Sylvain Gugger committed
140
.. autoclass:: transformers.XLNetForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
141
    :members: forward
Lysandre's avatar
Lysandre committed
142
143


Sylvain Gugger's avatar
Sylvain Gugger committed
144
XLNetForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
145
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
146

Sylvain Gugger's avatar
Sylvain Gugger committed
147
.. autoclass:: transformers.XLNetForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
148
    :members: forward
Lysandre's avatar
Lysandre committed
149
150


Lysandre's avatar
Lysandre committed
151
XLNetForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
152
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre's avatar
Lysandre committed
153
154

.. autoclass:: transformers.XLNetForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
155
    :members: forward
Lysandre's avatar
Lysandre committed
156
157


Lysandre's avatar
Lysandre committed
158
XLNetForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
159
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
160

161
.. autoclass:: transformers.XLNetForQuestionAnswering
Sylvain Gugger's avatar
Sylvain Gugger committed
162
    :members: forward
LysandreJik's avatar
LysandreJik committed
163
164


Lysandre's avatar
Lysandre committed
165
TFXLNetModel
Sylvain Gugger's avatar
Sylvain Gugger committed
166
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
167

168
.. autoclass:: transformers.TFXLNetModel
Sylvain Gugger's avatar
Sylvain Gugger committed
169
    :members: call
LysandreJik's avatar
LysandreJik committed
170
171


Lysandre's avatar
Lysandre committed
172
TFXLNetLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
173
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
174

175
.. autoclass:: transformers.TFXLNetLMHeadModel
Sylvain Gugger's avatar
Sylvain Gugger committed
176
    :members: call
LysandreJik's avatar
LysandreJik committed
177
178


Lysandre's avatar
Lysandre committed
179
TFXLNetForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
180
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
181

182
.. autoclass:: transformers.TFXLNetForSequenceClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
183
    :members: call
LysandreJik's avatar
LysandreJik committed
184
185


Sylvain Gugger's avatar
Sylvain Gugger committed
186
TFLNetForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
187
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
188
189

.. autoclass:: transformers.TFXLNetForMultipleChoice
Sylvain Gugger's avatar
Sylvain Gugger committed
190
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
191
192
193


TFXLNetForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
194
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
195
196

.. autoclass:: transformers.TFXLNetForTokenClassification
Sylvain Gugger's avatar
Sylvain Gugger committed
197
    :members: call
Sylvain Gugger's avatar
Sylvain Gugger committed
198
199


Lysandre's avatar
Lysandre committed
200
TFXLNetForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
201
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
202

203
.. autoclass:: transformers.TFXLNetForQuestionAnsweringSimple
Sylvain Gugger's avatar
Sylvain Gugger committed
204
    :members: call