Make use of our copy-consistency script for task-specific models
This is an intermediate issue, which is why it gets both the good first issue and good second issue tags.

We have an automated script to check when copies of the same code are consistent inside the library, which allows us to avoid subclassing and keep all code for one model's forward pass inside one file (see our [philosophy]() for more details on this).

The XxxModelForYyy are very similar to one another and should be able to leverage that functionality, so we can easily change only one file when there is a bug/docstring to tweak and all the others are updated. More precisely, models that have a pooler layer could probably base themselves on BERT and models that don't could be based on ELECTRA. The Seq2Seq models that are a bit particular could be based on BART.

To enable this, the checkpoint use in the decorator `@add_code_sample_docstrings` needs to be defined in a constant (otherwise it will end up being copied which we don't want) so to tackle this issue, your mission, should you accept it, will have two steps:

1. Define in all modeling files a `_CHECKPOINT_FOR_DOC` at the beginning (with `_TOKENIZER_FOR_DOC` and `_CONFIG_FOR_DOC`) that should then be used in all the XxxModelForYyy. 
2. Adds the relevant `# Copied from xxx with Xxx -> Yyy` whenever possible.
Hi @sgugger I'm up for the mission. After looking though the code I think I have a basic understanding of what you mean. However, would you be able to provide an example on one model just for clarification?  I'm a bit confused on the second step


>modeling_bert.py

```
_CONFIG_FOR_DOC = "BertConfig"
_TOKENIZER_FOR_DOC = "BertTokenizer"
_CHECKPOINT_FOR_DOC = "bert-base-uncased"
```
...

```
class BertForSequenceClassification(BertPreTrainedModel):
...
...
    @add_code_sample_docstrings(
        tokenizer_class=_TOKENIZER_FOR_DOC,
        checkpoint=_CHECKPOINT_FOR_DOC,
        output_type=SequenceClassifierOutput,
        config_class=_CONFIG_FOR_DOC,
    )


```

Thank you<|||||>I've given an example of the first step in the issue above. Sadly the second step can't fully work with our utils just yet, I need to make some adjustments to our internal tooling. If you want to begin on step 1 though, don't hesitate!