TrainingArguments are ignored?!
## Environment info
- `transformers` version: 3.0.2
- Platform: Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic
- Python version: 3.6.9
- PyTorch version (GPU?): 1.6.0+cu101 (True)
- Tensorflow version (GPU?): 2.3.0 (True)
- Using GPU in script?: yes
- Using distributed or parallel set-up in script?: no

### Who can help
Trainer: @sgugger

## Information

Hey, I'm using `01_how-to-train.ipynb` to get a feeling for the object oriented way of training a bert model from scratch. Until now I've been using the scripts offered by offical bert repository. My target is to train all of my future Transformer models with your Huggingface interface (from scratch and of course fine tuning too).

I used `max_steps = 500_000` but it gets completely ignored. After training is started the output says:
```
Iteration: 11639/422095 [1:52:03<70:16:42, 1.62it/s]
Epoch 0/2 [00:00<?, ?it/s]
```
**Two epochs and 422095 iterations seems wrong!?** Official docs say _"max_steps = the total number of training steps to perform"_ Am I misinterpreting something?

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

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:
  * line by line dataset
  * training a bert language model from scratch (generating vocab, setting a config, ...)

## To reproduce

Use colab "01_how-to-train.ipynb" (https://colab.research.google.com/github/huggingface/blog/blob/master/notebooks/01_how_to_train.ipynb
) and change TrainingArguments to the following:
```
training_args = TrainingArguments(
    output_dir="./smallBERTa",
    overwrite_output_dir=True,
    do_train=True,
    warmup_steps=5000,
    max_steps=500000,
    per_gpu_train_batch_size=64,
    save_steps=10_000,
    save_total_limit=2,
)
```
Yes, I am passing the `training_args` to the `Trainer()` object.


## Expected behavior

I'm expecting to get 500.000 global training steps and just one epoch.

I don't see what's wrong? There are 422,095 iterations in one of your epochs, so to get to 500,000 you'll do one full epoch and the beginning of the second epoch. Training will stop after it has reached 500,000.

You can't have just one epoch since you need more iterations to reach the `max_steps` you have given. That argument overrides the number of epochs. <|||||>Then I can definitely say: I misinterpreted the logs. There was something like "global steps" when using BERT's pretrain script and the value was identical with the previously set "max_steps" parameter. Now I get it ... Thanks for clearing it up.