run_qa.py fails evaluating on Squad2
Author: timpal0l
Pull request: no

## 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.6.0.dev0
- Platform: Linux-5.4.0-66-generic-x86_64-with-debian-bullseye-sid
- Python version: 3.7.10
- PyTorch version (GPU?): 1.7.0 (True)
- Tensorflow version (GPU?): not installed (NA)
- Using GPU in script?: Quadro RTX 8000 (Cuda 11)
- Using distributed or parallel set-up in script?: No

### Who can help
@patrickvonplaten, _benchmarks_, @sgugger _maintained examples_ 

## Information

Model I am using [bert-base-multilingual-cased](https://huggingface.co/bert-base-multilingual-cased):

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:
* [x] an official GLUE/SQUaD task: (give the name)
* [ ] my own task or dataset: (give details below)

## To reproduce

Steps to reproduce the behavior:

```
python run_qa.py \
  --model_name_or_path bert-base-multilingual-cased \
  --dataset_name squad_v2 \
  --do_train \
  --do_eval \
  --per_device_train_batch_size 12 \
  --learning_rate 3e-5 \
  --num_train_epochs 2 \
  --max_seq_length 384 \
  --doc_stride 128 \
  --output_dir models/mbert-squad2
```
## Expected behavior

The code should print the metrics for the Squad2 dev set.

## Output
```
  File "run_qa.py", line 609, in <module>
    main()
  File "run_qa.py", line 582, in main
    metrics = trainer.evaluate()
  File "/home/tim/repos/transformers/examples/question-answering/trainer_qa.py", line 63, in evaluate
    metrics = self.compute_metrics(eval_preds)
  File "run_qa.py", line 543, in compute_metrics
    return metric.compute(predictions=p.predictions, references=p.label_ids)
  File "/home/tim/anaconda3/envs/exp/lib/python3.7/site-packages/datasets/metric.py", line 403, in compute
    output = self._compute(predictions=predictions, references=references, **kwargs)
  File "/home/tim/.cache/huggingface/modules/datasets_modules/metrics/squad/c0855591f1a2c2af8b7949e3146b9c86a6b7f536b4154019b03472639d310181/squad.py", line 109, in _compute
    score = evaluate(dataset=dataset, predictions=pred_dict)
  File "/home/tim/.cache/huggingface/modules/datasets_modules/metrics/squad/c0855591f1a2c2af8b7949e3146b9c86a6b7f536b4154019b03472639d310181/evaluate.py", line 68, in evaluate
    exact_match += metric_max_over_ground_truths(exact_match_score, prediction, ground_truths)
  File "/home/tim/.cache/huggingface/modules/datasets_modules/metrics/squad/c0855591f1a2c2af8b7949e3146b9c86a6b7f536b4154019b03472639d310181/evaluate.py", line 53, in metric_max_over_ground_truths
    return max(scores_for_ground_truths)
ValueError: max() arg is an empty sequence
```


Comments:
You need to pass along `--version_2_with_negative` when using this script with a dataset that has samples with no answers (like squad v2).

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.