passing config file to train with on multiple gpus
Author: rabeehkarimimahabadi
Pull request: no

## Environment info
- transformers 3.5.1
- Python version: 3.7
- PyTorch version (GPU?): 1.6 
- Tensorflow version (GPU?): - 
- Using GPU in script?: yes 
- Using distributed or parallel set-up in script?: yes 

### Who can help
 Trainer: @sgugger
 T5: @patrickvonplaten
 FSMT: @stas00
 examples/seq2seq: @patil-suraj
 documentation: @sgugger

## Information
Hi, I want to run finetune_trainer with multiple gpus with a config file, I am using the following command: 

`export BS=4; CUDA_VISIBLE_DEVICES=0,1  USE_TF=0   python -m torch.distributed.launch --nproc_per_node=2 --master_port=9910  finetune_t5_trainer.py configs/experiments/test.json
`
 getting this error, looks like config file is not passed properly in this case, the command on one gpu works, could you tell me please how I can call the codes with config, it would be great to have it in the read me. thanks 

```
inetune_t5_trainer.py: error: the following arguments are required: --model_name_or_path, --output_dir
usage: finetune_t5_trainer.py [-h] --model_name_or_path MODEL_NAME_OR_PATH
                              [--not_load_t5_checkpoint]
                              [--config_name CONFIG_NAME]
                              [--tokenizer_name TOKENIZER_NAME]
                              [--cache_dir CACHE_DIR] [--freeze_encoder]
                              [--freeze_embeds] [--freeze_model_but_lm_head]
                              [--unfreeze_lm_head]
                              [--freeze_model_but_task_embeddings]
                              [--unfreeze_layer_norms] [--sampling]
                              [--tasks TASKS [TASKS ...]]
                              [--eval_tasks EVAL_TASKS [EVAL_TASKS ...]]
                              [--adapters ADAPTERS [ADAPTERS ...]]
                              [--max_source_length MAX_SOURCE_LENGTH]
                              [--max_target_length MAX_TARGET_LENGTH]
                              [--val_max_target_length VAL_MAX_TARGET_LENGTH]
                              [--test_max_target_length TEST_MAX_TARGET_LENGTH]
                              [--n_train N_TRAIN] [--n_val N_VAL]
                              [--n_test N_TEST] [--eval_beams EVAL_BEAMS]
                              [--no_ignore_pad_token_for_loss]
                              [--n_finetune N_FINETUNE] --output_dir
                              OUTPUT_DIR [--overwrite_output_dir] [--do_train]
                              [--do_eval] [--do_predict]
                              [--evaluate_during_training]
                              [--evaluation_strategy {EvaluationStrategy.NO,EvaluationStrategy.STEPS,EvaluationStrategy.EPOCH}]
                              [--prediction_loss_only]
                              [--per_device_train_batch_size PER_DEVICE_TRAIN_BATCH_SIZE]
                              [--per_device_eval_batch_size PER_DEVICE_EVAL_BATCH_SIZE]
                              [--per_gpu_train_batch_size PER_GPU_TRAIN_BATCH_SIZE]
                              [--per_gpu_eval_batch_size PER_GPU_EVAL_BATCH_SIZE]
                              [--gradient_accumulation_steps GRADIENT_ACCUMULATION_STEPS]
                              [--eval_accumulation_steps EVAL_ACCUMULATION_STEPS]
                              [--learning_rate LEARNING_RATE]
                              [--weight_decay WEIGHT_DECAY]
                              [--adam_beta1 ADAM_BETA1]
                              [--adam_beta2 ADAM_BETA2]
                              [--adam_epsilon ADAM_EPSILON]
                              [--max_grad_norm MAX_GRAD_NORM]
                              [--num_train_epochs NUM_TRAIN_EPOCHS]
                              [--max_steps MAX_STEPS]
                              [--warmup_steps WARMUP_STEPS]
                              [--logging_dir LOGGING_DIR]
                              [--logging_first_step]
                              [--logging_steps LOGGING_STEPS]
                              [--save_steps SAVE_STEPS]
                              [--save_total_limit SAVE_TOTAL_LIMIT]
                              [--no_cuda] [--seed SEED] [--fp16]
                              [--fp16_opt_level FP16_OPT_LEVEL]
                              [--local_rank LOCAL_RANK]
                              [--tpu_num_cores TPU_NUM_CORES]
                              [--tpu_metrics_debug] [--debug]
                              [--dataloader_drop_last]
                              [--eval_steps EVAL_STEPS]
                              [--dataloader_num_workers DATALOADER_NUM_WORKERS]
                              [--past_index PAST_INDEX] [--run_name RUN_NAME]
                              [--disable_tqdm DISABLE_TQDM]
                              [--no_remove_unused_columns]
                              [--label_names LABEL_NAMES [LABEL_NAMES ...]]
                              [--load_best_model_at_end]
                              [--metric_for_best_model METRIC_FOR_BEST_MODEL]
                              [--greater_is_better GREATER_IS_BETTER]
                              [--label_smoothing LABEL_SMOOTHING]
                              [--sortish_sampler] [--predict_with_generate]
                              [--adafactor]
                              [--encoder_layerdrop ENCODER_LAYERDROP]
                              [--decoder_layerdrop DECODER_LAYERDROP]
                              [--dropout DROPOUT]
                              [--attention_dropout ATTENTION_DROPOUT]
                              [--lr_scheduler LR_SCHEDULER]
                              [--fixed_length_emb]
                              [--encoder_projection ENCODER_PROJECTION]
                              [--encoder_pooling ENCODER_POOLING]
                              [--projection_length PROJECTION_LENGTH]
                              [--only_projection_bottleneck]
                              [--concat_projection_token]
                              [--gcs_bucket GCS_BUCKET]
                              [--temperature TEMPERATURE] [--train_adapters]
                              [--do_finetune] [--parametric_task_embedding]
                              [--eval_output_dir EVAL_OUTPUT_DIR]
                              [--generate_classifier_weights]
                              [--adapter_config_name ADAPTER_CONFIG_NAME]
                              [--task_embedding_dir TASK_EMBEDDING_DIR]
                              [--task_embedding_dim TASK_EMBEDDING_DIM]
                              [--add_layer_norm_before_adapter]
                              [--no_add_layer_norm_after_adapter]
                              [--hidden_dim HIDDEN_DIM]
                              [--reduction_factor REDUCTION_FACTOR]
                              [--train_task_embeddings]
                              [--non_linearity NON_LINEARITY]
                              [--projected_task_embedding_dim PROJECTED_TASK_EMBEDDING_DIM]
                              [--no_add_adapters_in_decoder]
finetune_t5_trainer.py: error: the following arguments are required: --model_name_or_path, --output_dir
Traceback (most recent call last):
  File "/opt/conda/envs/internship/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/conda/envs/internship/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/opt/conda/envs/internship/lib/python3.7/site-packages/torch-1.7.0-py3.7-linux-x86_64.egg/torch/distributed/launch.py", line 260, in <module>
    main()
  File "/opt/conda/envs/internship/lib/python3.7/site-packages/torch-1.7.0-py3.7-linux-x86_64.egg/torch/distributed/launch.py", line 256, in main
    cmd=cmd)
subprocess.CalledProcessError: Command '['/opt/conda/envs/internship/bin/python', '-u', 'finetune_t5_trainer.py', '--local_rank=1', 'configs/experiments/test.json']' returned non-zero exit status 2.
```



Comments:
this does not work since finetuner_trainer.py gets config as only one argument and local_rank is also passed with this command, is there an easy fix for this without parsing arguments from config? thanks 

I solved  it with updating finetune_trainer accepting --local_rank + config file