`do_eval` is True when setting `do_predict`=True
Author: yana-xuyan
Pull request: no
Labels: name: bug

### System Info

```shell
- `transformers` version: 4.12.3
- Platform: Linux-3.10.0-1062.el7.x86_64-x86_64-with-centos-7.7.1908-Core
- Python version: 3.7.13
- PyTorch version (GPU?): 1.7.1 (True)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: Yes
- Using distributed or parallel set-up in script?: No
```


### Who can help?

@patil-suraj @sgugger 

### Information

- [X] The official example scripts
- [X] My own modified scripts

### Tasks

- [X] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [X] My own task or dataset (give details below)

### Reproduction

This problem happens generally to me after I started to use transformers>=4.12.3. To easily reproduce the issue, we can use the text summarization example. After training the model, we remove `--do_train` and `--do_eval` and add `--do_predict`. However, the model will run ``evaluation'' first before running ``prediction''. I checked the source of this issue and it seems to be the data parsing issue from this line: https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L214.
Before running this line, the value of `do_eval` is still False. However, it turns out to be True afterward.

### Expected behavior

```shell
When only setting `--do_predict`, the model should not parse `do_eval` to be True.
```


Comments:
Hi, could you post a code-snippet to reproduce this. I just tried this command and it works as expected and does not run eval.

```bash
python examples/pytorch/summarization/run_summarization.py \
    --model_name_or_path t5-small \
    --do_predict \
    --dataset_name xsum \         
    --source_prefix "summarize: " \
    --output_dir /tmp/tst-summarization \
    --per_device_train_batch_size=4 \
    --per_device_eval_batch_size=4 \
    --overwrite_output_dir \
    --predict_with_generate
```

The above command works great for me! I just found that usually I just modify the script for prediction by removing `--do_train` and `--do_eval` and add `--do_predict` without changing the other commands. However, seems this is causing the problem. When running the command below, this issue happens.

```
python examples/pytorch/summarization/run_summarization.py \
    --model_name_or_path t5-small \
    --do_predict \
    --dataset_name xsum \         
    --source_prefix "summarize: " \
    --output_dir /tmp/tst-summarization \
    --per_device_train_batch_size=4 \
    --per_device_eval_batch_size=4 \
    --overwrite_output_dir \
    --predict_with_generate
    --save_strategy epoch \
    --evaluation_strategy epoch
```

in your command you have set `evaluation_strategy` to `epoch` and `do_eval` defaults to `True` if `evaluation_strategy` is set. cf
https://github.com/huggingface/transformers/blob/28d0048218ad7bce69510b16024510afba0daed2/src/transformers/training_args.py#L114-L118

Got it. Thank you very much for your fast response! Have a nice day!