roberta.rst 4.23 KB
Newer Older
LysandreJik's avatar
Doc  
LysandreJik committed
1
2
3
RoBERTa
----------------------------------------------------

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

Lysandre's avatar
Lysandre committed
7
The RoBERTa model was proposed in `RoBERTa: A Robustly Optimized BERT Pretraining Approach <https://arxiv.org/abs/1907.11692>`_
Lysandre's avatar
Lysandre committed
8
9
10
11
12
13
by Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer,
Veselin Stoyanov. It is based on Google's BERT model released in 2018.

It builds on BERT and modifies key hyperparameters, removing the next-sentence pretraining
objective and training with much larger mini-batches and learning rates.

Lysandre's avatar
Lysandre committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
The abstract from the paper is the following:

*Language model pretraining has led to significant performance gains but careful comparison between different
approaches is challenging. Training is computationally expensive, often done on private datasets of different sizes,
and, as we will show, hyperparameter choices have significant impact on the final results. We present a replication
study of BERT pretraining (Devlin et al., 2019) that carefully measures the impact of many key hyperparameters and
training data size. We find that BERT was significantly undertrained, and can match or exceed the performance of
every model published after it. Our best model achieves state-of-the-art results on GLUE, RACE and SQuAD. These
results highlight the importance of previously overlooked design choices, and raise questions about the source
of recently reported improvements. We release our models and code.*

Tips:

- This implementation is the same as :class:`~transformers.BertModel` with a tiny embeddings tweak as well as a
  setup for Roberta pretrained models.
Lysandre's avatar
Lysandre committed
29
30
31
- RoBERTa has the same architecture as BERT, but uses a byte-level BPE as a tokenizer (same as GPT-2) and uses a
  different pre-training scheme.
- RoBERTa doesn't have `token_type_ids`, you don't need to indicate which token belongs to which segment. Just separate your segments with the separation token `tokenizer.sep_token` (or `</s>`)
Lysandre's avatar
Lysandre committed
32
- `Camembert <./camembert.html>`__ is a wrapper around RoBERTa. Refer to this page for usage examples.
Lysandre's avatar
Lysandre committed
33

34
35
36
The original code can be found `here <https://github.com/pytorch/fairseq/tree/master/examples/roberta>`_.


Lysandre's avatar
Lysandre committed
37
RobertaConfig
LysandreJik's avatar
Doc  
LysandreJik committed
38
39
~~~~~~~~~~~~~~~~~~~~~

40
.. autoclass:: transformers.RobertaConfig
LysandreJik's avatar
Doc  
LysandreJik committed
41
42
43
    :members:


Lysandre's avatar
Lysandre committed
44
RobertaTokenizer
LysandreJik's avatar
Doc  
LysandreJik committed
45
46
~~~~~~~~~~~~~~~~~~~~~

47
.. autoclass:: transformers.RobertaTokenizer
Lysandre Debut's avatar
Lysandre Debut committed
48
49
    :members: build_inputs_with_special_tokens, get_special_tokens_mask,
        create_token_type_ids_from_sequences, save_vocabulary
LysandreJik's avatar
Doc  
LysandreJik committed
50
51


52
53
54
55
56
57
58
RobertaTokenizerFast
~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.RobertaTokenizerFast
    :members: build_inputs_with_special_tokens


Lysandre's avatar
Lysandre committed
59
RobertaModel
LysandreJik's avatar
Doc  
LysandreJik committed
60
61
~~~~~~~~~~~~~~~~~~~~

62
.. autoclass:: transformers.RobertaModel
LysandreJik's avatar
Doc  
LysandreJik committed
63
64
65
    :members:


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

.. autoclass:: transformers.RobertaForCausalLM
    :members:


Lysandre's avatar
Lysandre committed
73
RobertaForMaskedLM
LysandreJik's avatar
Doc  
LysandreJik committed
74
75
~~~~~~~~~~~~~~~~~~~~~~~~~~

76
.. autoclass:: transformers.RobertaForMaskedLM
LysandreJik's avatar
Doc  
LysandreJik committed
77
78
79
    :members:


Lysandre's avatar
Lysandre committed
80
RobertaForSequenceClassification
LysandreJik's avatar
Doc  
LysandreJik committed
81
82
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

83
.. autoclass:: transformers.RobertaForSequenceClassification
LysandreJik's avatar
Doc  
LysandreJik committed
84
    :members:
LysandreJik's avatar
LysandreJik committed
85
86


87
88
89
90
91
92
93
RobertaForMultipleChoice
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.RobertaForMultipleChoice
    :members:


Lysandre's avatar
Lysandre committed
94
95
96
97
98
99
RobertaForTokenClassification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.RobertaForTokenClassification
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
100
101
102
103
104
105
106
107

RobertaForQuestionAnswering
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.RobertaForQuestionAnswering
    :members:


Lysandre's avatar
Lysandre committed
108
TFRobertaModel
LysandreJik's avatar
LysandreJik committed
109
110
~~~~~~~~~~~~~~~~~~~~

111
.. autoclass:: transformers.TFRobertaModel
LysandreJik's avatar
LysandreJik committed
112
113
114
    :members:


Lysandre's avatar
Lysandre committed
115
TFRobertaForMaskedLM
LysandreJik's avatar
LysandreJik committed
116
117
~~~~~~~~~~~~~~~~~~~~~~~~~~

118
.. autoclass:: transformers.TFRobertaForMaskedLM
LysandreJik's avatar
LysandreJik committed
119
120
121
    :members:


Lysandre's avatar
Lysandre committed
122
TFRobertaForSequenceClassification
LysandreJik's avatar
LysandreJik committed
123
124
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

125
.. autoclass:: transformers.TFRobertaForSequenceClassification
LysandreJik's avatar
LysandreJik committed
126
    :members:
Lysandre's avatar
Lysandre committed
127
128


Sylvain Gugger's avatar
Sylvain Gugger committed
129
130
131
132
133
134
135
TFRobertaForMultipleChoice
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.TFRobertaForMultipleChoice
    :members:


Lysandre's avatar
Lysandre committed
136
137
138
139
140
TFRobertaForTokenClassification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.TFRobertaForTokenClassification
    :members:
Sylvain Gugger's avatar
Sylvain Gugger committed
141
142
143
144
145
146
147


TFRobertaForQuestionAnswering
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.TFRobertaForQuestionAnswering
    :members: