Key error while evaluating the Language Model finetuning
Author: graviraja
Pull request: no

# 🐛 Bug

## Information

Model I am using (Bert, XLNet ...): DistilBert

Language I am using the model on (English, Chinese ...): English

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)

## To reproduce

Steps to reproduce the behavior:

1. python run_language_modeling.py \
    --output_dir=output \
    --model_type=distilbert\
    --model_name_or_path=distilbert-base-uncased \
    --do_train \
    --train_data_file=$TRAIN_FILE \
    --do_eval \
    --eval_data_file=$TEST_FILE \
    --mlm

<!-- If you have code snippets, error messages, stack traces please provide them here as well.
     Important! Use code tags to correctly format your code. See https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting
     Do not use screenshots, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.-->
```code
05/27/2020 08:44:42 - INFO - __main__ -   *** Evaluate ***
05/27/2020 08:44:42 - INFO - transformers.trainer -   ***** Running Evaluation *****
05/27/2020 08:44:42 - INFO - transformers.trainer -     Num examples = 329
05/27/2020 08:44:42 - INFO - transformers.trainer -     Batch size = 8
Evaluation: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:04<00:00,  9.09it/s]
Traceback (most recent call last):
  File "run_language_modeling.py", line 281, in <module>
    main()
  File "run_language_modeling.py", line 259, in main
    perplexity = math.exp(eval_output["eval_loss"])
KeyError: 'eval_loss'

```

## Expected behavior

Evaluation of the validation data and output the perplexity.

Upon debugging the code, the eval_output doesn't have the key `eval_loss`

```code
-> perplexity = math.exp(eval_output["eval_loss"])
(Pdb) eval_output
{'loss': 1.8573534346762157}
```
Please change the key value accordingly. 
<!-- A clear and concise description of what you would expect to happen. -->

## 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: 2.9.0
- Platform: RHEL
- Python version: 3.6.9
- PyTorch version (GPU?): 1.4.0
- Tensorflow version (GPU?):
- Using GPU in script?: yes
- Using distributed or parallel set-up in script?: no


Comments:
Looks like your training script is out of sync with the library. Can you install the library from source, as documented in https://github.com/huggingface/transformers/tree/master/examples#important-note ?

Thanks, @julien-c building from source, solves the issue. 

I also find a problem about this......
If we set the lables_name ="labels" in the TrainerAugments, it would be wrong.
Because lables_name must be a list in TrainerAugments. If we set the labels_name = "labels", the function  prediction_steps() in Trainer will set  has_lables equal to None. For this line:
has_labels = all(inputs.get(k) is not None for k in self.label_names)  in Trainer.py 1462.