bert.rst 4.45 KB
Newer Older
1
2
3
BERT
----------------------------------------------------

Lysandre's avatar
Lysandre committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Overview
~~~~~~~~~~~~~~~~~~~~~

The BERT model was proposed in `BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding <https://arxiv.org/abs/1810.04805>`__
by Jacob Devlin, Ming-Wei Chang, Kenton Lee and Kristina Toutanova. It's a bidirectional transformer
pre-trained using a combination of masked language modeling objective and next sentence prediction
on a large corpus comprising the Toronto Book Corpus and Wikipedia.

The abstract from the paper is the following:

*We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations
from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional
representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result,
the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models
for a wide range of tasks, such as question answering and language inference, without substantial task-specific
architecture modifications.*

*BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural
language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI
accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute
improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).*

Tips:

- BERT is a model with absolute position embeddings so it's usually advised to pad the inputs on
  the right rather than the left.
30
31
- BERT was trained with the masked language modeling (MLM) and next sentence prediction (NSP) objectives. It is efficient at predicting masked
  tokens and at NLU in general, but is not optimal for text generation.
Lysandre's avatar
Lysandre committed
32

33
34
The original code can be found `here <https://github.com/google-research/bert>`_.

Lysandre's avatar
Lysandre committed
35
BertConfig
36
37
~~~~~~~~~~~~~~~~~~~~~

38
.. autoclass:: transformers.BertConfig
39
    :members:
40
41


Lysandre's avatar
Lysandre committed
42
BertTokenizer
43
~~~~~~~~~~~~~~~~~~~~~
44

45
.. autoclass:: transformers.BertTokenizer
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
51
52
53
54
55
56
BertTokenizerFast
~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.BertTokenizerFast
    :members:


57
58
59
60
61
62
63
Bert specific outputs
~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.modeling_bert.BertForPretrainingOutput
    :members:


Lysandre's avatar
Lysandre committed
64
BertModel
65
66
~~~~~~~~~~~~~~~~~~~~

67
.. autoclass:: transformers.BertModel
68
69
70
    :members:


Lysandre's avatar
Lysandre committed
71
BertForPreTraining
72
73
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

74
.. autoclass:: transformers.BertForPreTraining
75
76
77
    :members:


Lysandre's avatar
Lysandre committed
78
BertForMaskedLM
79
80
~~~~~~~~~~~~~~~~~~~~~~~~~~

81
.. autoclass:: transformers.BertForMaskedLM
82
83
84
    :members:


Lysandre's avatar
Lysandre committed
85
BertForNextSentencePrediction
86
87
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

88
.. autoclass:: transformers.BertForNextSentencePrediction
89
90
91
    :members:


Lysandre's avatar
Lysandre committed
92
BertForSequenceClassification
93
94
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

95
.. autoclass:: transformers.BertForSequenceClassification
96
97
98
    :members:


Lysandre's avatar
Lysandre committed
99
BertForMultipleChoice
100
101
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

102
.. autoclass:: transformers.BertForMultipleChoice
103
104
105
    :members:


Lysandre's avatar
Lysandre committed
106
BertForTokenClassification
107
108
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

109
.. autoclass:: transformers.BertForTokenClassification
110
111
112
    :members:


Lysandre's avatar
Lysandre committed
113
BertForQuestionAnswering
114
115
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

116
.. autoclass:: transformers.BertForQuestionAnswering
117
118
    :members:

LysandreJik's avatar
LysandreJik committed
119

Lysandre's avatar
Lysandre committed
120
TFBertModel
LysandreJik's avatar
LysandreJik committed
121
122
~~~~~~~~~~~~~~~~~~~~

123
.. autoclass:: transformers.TFBertModel
LysandreJik's avatar
LysandreJik committed
124
125
126
    :members:


Lysandre's avatar
Lysandre committed
127
TFBertForPreTraining
LysandreJik's avatar
LysandreJik committed
128
129
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

130
.. autoclass:: transformers.TFBertForPreTraining
LysandreJik's avatar
LysandreJik committed
131
132
133
    :members:


Lysandre's avatar
Lysandre committed
134
TFBertForMaskedLM
LysandreJik's avatar
LysandreJik committed
135
136
~~~~~~~~~~~~~~~~~~~~~~~~~~

137
.. autoclass:: transformers.TFBertForMaskedLM
LysandreJik's avatar
LysandreJik committed
138
139
140
    :members:


Lysandre's avatar
Lysandre committed
141
TFBertForNextSentencePrediction
LysandreJik's avatar
LysandreJik committed
142
143
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

144
.. autoclass:: transformers.TFBertForNextSentencePrediction
LysandreJik's avatar
LysandreJik committed
145
146
147
    :members:


Lysandre's avatar
Lysandre committed
148
TFBertForSequenceClassification
LysandreJik's avatar
LysandreJik committed
149
150
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

151
.. autoclass:: transformers.TFBertForSequenceClassification
LysandreJik's avatar
LysandreJik committed
152
153
154
    :members:


Lysandre's avatar
Lysandre committed
155
TFBertForMultipleChoice
LysandreJik's avatar
LysandreJik committed
156
157
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

158
.. autoclass:: transformers.TFBertForMultipleChoice
LysandreJik's avatar
LysandreJik committed
159
160
161
    :members:


Lysandre's avatar
Lysandre committed
162
TFBertForTokenClassification
LysandreJik's avatar
LysandreJik committed
163
164
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

165
.. autoclass:: transformers.TFBertForTokenClassification
LysandreJik's avatar
LysandreJik committed
166
167
168
    :members:


Lysandre's avatar
Lysandre committed
169
TFBertForQuestionAnswering
LysandreJik's avatar
LysandreJik committed
170
171
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

172
.. autoclass:: transformers.TFBertForQuestionAnswering
LysandreJik's avatar
LysandreJik committed
173
174
    :members: