Issue getting prediction_scores from TransfoXLHeadLM model when labels are provided
## Environment info
<!-- You can run the command `transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->

- `transformers` version: 4.5.1
- Platform: Colab
- Python version: 3.8.1
- PyTorch version (GPU?): 1.8.1+cu101 (Yes), same bug reproduced on CPU side (windows 10)
- Tensorflow version (GPU?): 
- Using GPU in script?: Yes
- Using distributed or parallel set-up in script?: No

### Who can help
@patrickvonplaten

## Information

Model I am using (Bert, XLNet ...): TransfoXL

The problem arises when using:
* [x] the official example scripts: (give details below)
* [ ] my own modified scripts: (give details below)

The tasks I am working on is:
* [ ] an official GLUE/SQUaD task: (give the name)
* [x] my own task or dataset: (give details below)
Slightly modified example from TransfoXL docs (https://huggingface.co/transformers/model_doc/gpt2.html#gpt2lmheadmodel)

## To reproduce

Steps to reproduce the behavior:

```python
import torch
from transformers import TransfoXLTokenizer, TransfoXLLMHeadModel

tokenizer = TransfoXLTokenizer.from_pretrained('transfo-xl-wt103')
model = TransfoXLLMHeadModel.from_pretrained('transfo-xl-wt103')



with torch.no_grad():
	inputs = tokenizer("Hello, my dog is cute", return_tensors="pt",)
	print(inputs)
	outputs = model(inputs["input_ids"],return_dict=True,labels=inputs["input_ids"])

	print(outputs['prediction_scores'])
```

## Expected behavior
```outputs['prediction_scores']``` should return a torch.FloatTensor, not ```()```. In this example
```
tensor([[[ -4.4980,  -4.7363,  -3.8697,  ..., -18.4604, -20.6320, -15.2920],
         [ -4.0868,  -3.7895,  -2.9193,  ..., -19.4917, -20.0318, -15.7870],
         [ -4.4769,  -4.7728,  -1.5619,  ..., -21.3586, -22.2751, -18.7071],
         [ -6.1670,  -6.8841,  -0.6857,  ..., -21.4503, -22.3682, -19.5937],
         [ -7.3567,  -3.1381,  -2.7641,  ..., -18.3717, -20.6145, -17.4109],
         [ -7.1151,  -6.4929,  -0.9753,  ..., -21.8517, -21.9864, -20.3518]]])
```
is returned correctly when ```labels=None``` but not when ```labels=inputs["input_ids"]```. I've tested almost identical example in GPT2 and it did return (albeit unnormalized) logits regardless of whether labels are provided or not.
Hey @RedneckedCrake,

I think I agree with you here! It should be a very easy fix simply by change this line: https://github.com/huggingface/transformers/blob/6ee1a4fd3e80feef8fe7dc65aabb4c5270524f8a/src/transformers/models/transfo_xl/modeling_transfo_xl.py#L1100. Would you like to give it a try to fix it?<|||||>This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md) are likely to be ignored.