model(**batch) returns loss dictionary that cant be divided by gradient_accu

Running summarization example with T5 small with the following command produces a dict divided by int error. 

to reproduce run: 

```
export TASK_NAME=mrpc

accelerate launch run_summarization_no_trainer.py \
    --model_name_or_path t5-small \
    --dataset_name cnn_dailymail \
    --dataset_config "3.0.0" \
    --source_prefix "summarize: " \
    --output_dir ~/tmp/tst-summarization
```

https://github.com/huggingface/transformers/blob/8be921f9de012d6f82f1cf4b2dcd4bdf2262071b/examples/pytorch/summarization/run_summarization_no_trainer.py#L521

```
----> 1 loss = loss / args.gradient_accumulation_steps
TypeError: unsupported operand type(s) for /: 'dict' and 'int'
```

**transformer version==4.9.2**
**GPU: Telsa V100 X 2**
**accelerate config:** 

```
compute_environment: LOCAL_MACHINE
deepspeed_config: {}
distributed_type: MULTI_GPU
fp16: true
machine_rank: 0
main_process_ip: null
main_process_port: null
main_training_function: main
num_machines: 1
num_processes: 1
``` 

should it be?: 
```       
outputs = model(**batch)
loss = outputs.loss['loss']
```
happy to do the PR, if confirmed.  
when using a single GPU the script works. 
ie, outputs.loss returns a shape (1,) that can be divided by int. 

what is the best way to use `outputs.loss` for multiple GPU settings? <|||||> This PR https://github.com/huggingface/accelerate/pull/149 will help you.