

TITLE
Add BartForCausalLM analogs to `ProphetNetForCausalLM`

COMMENTS
4

REACTIONS
+1: 0
-1: 0
laugh: 0
hooray: 0
heart: 0
rocket: 0
eyes: 0

BODY
# 🚀 Feature request

Bart is a seq2seq model, but there might be applications where one would like to use only the pre-trained BartDecoder in an EncoderDecoder setting with a "long" encoder, such as 

```python

from transformers import EncoderDecoderModel

model = EncoderDecoderModel("allenai/longformer-large-4096", "facebook/bart-large")

# fine-tune model ...
```

This is already possible for ProphetNet:

```python
from transformers import EncoderDecoderModel
import torch

model = EncoderDecoderModel.from_encoder_decoder_pretrained("allenai/longformer-large-4096", "microsoft/prophetnet-large-uncased")

input_ids = torch.tensor([10 * [1]])
labels = torch.tensor([10 * [0]])
loss = model(input_ids, decoder_input_ids=labels, labels=labels).loss
loss.backward()
```


, but not yet for Bart. This "Good first/second issue" is about implemented a `BartForCausalLM` analogs to the one in ProphetNet here:
https://github.com/huggingface/transformers/blob/9cc9f4122e2a1027a6011951e3c6629a0f1b6c3e/src/transformers/models/prophetnet/modeling_prophetnet.py#L1882

To verify that the feature works as expected, one should make sure that the following tests are added:
- A `BartStandaloneDecoderModelTest` class as is done in https://github.com/huggingface/transformers/blob/9cc9f4122e2a1027a6011951e3c6629a0f1b6c3e/tests/test_modeling_prophetnet.py#L1072
- And an encoder-decoder test class as it's done here: https://github.com/huggingface/transformers/blob/9cc9f4122e2a1027a6011951e3c6629a0f1b6c3e/tests/test_modeling_encoder_decoder.py#L758


<!-- A clear and concise description of the feature proposal.
     Please provide a link to the paper and code in case they exist. -->

## Motivation

mentioned above for Long-range seq2seq warm-starting e.g.

## Your contribution

I'm more than happy to guide someone through this issue!
It's a bit more advanced so I'll give it both "Good first issue" and "Good second issue".

You can claim the issue by writing it below and/or opening a PR :-) 
