GPT-2 attention_mask reshaping uses input_ids first dimension
# 🐛 Bug

## Information

Model I am using (Bert, XLNet ...): GPT-2

## To reproduce
Use attention_mask in **GPT2LMHead**, while feeding **inputs_embeds** instead of **input_ids**
The code fails because line 427 of modeling_gpt2.py uses input_ids first dimension to reshape the mask
```
        if attention_mask is not None:
            batch_size = input_ids.shape[0]
            attention_mask = attention_mask.view(batch_size, -1)
```
I fix it by changing **input_ids.shape[0]** to **attention_mask.shape[0]**, but I think it would be more correct to obtain single batch_size from one of the available input formats.
**Update**
   I think `batch_size = input_shape[0]` is the best way
- `transformers` version: **master**
- Python version: 3.7
- PyTorch version (GPU?):1.4


Hey @lazarevskiVsg, thanks a lot for pointing this out!
It should be fixed now :-) 