changing the attention head size in MultiBert
## 🐛 Bug

<!-- Important information -->
I'm trying to use a MultiBERT model with not all 12 attention heads but just 8 attention heads. so, in config file, I changed the following keys
    config.num_attention_heads = 8
    config.hidden_size = 512
    config.pooler_fc_size = 512

I assumed similar to layer size that we have flexibility in changing it, we may have a similar freedom in changing the head size. however, the run_xnli.py code throws the following error. 



>         size mismatch for bert.encoder.layer.11.output.LayerNorm.bias: copying a param with shape torch.Size([768]) from checkpoint, the shape in curr
> ent model is torch.Size([512]).
>         size mismatch for bert.pooler.dense.weight: copying a param with shape torch.Size([768, 768]) from checkpoint, the shape in current model is t
> orch.Size([512, 512]).
>         size mismatch for bert.pooler.dense.bias: copying a param with shape torch.Size([768]) from checkpoint, the shape in current model is torch.Si
> ze([512]).



Model I am using MultiBERT. 

Language I am using the model on (English, Chinese....):

The problem arise when using:
* [X ] the official example scripts: (give details)
* [ ] my own modified scripts: (give details)

The tasks I am working on is:
* [X ] an official GLUE/SQUaD task: run_xnli.py
* [ ] my own task or dataset: (give details)

## To Reproduce

Steps to reproduce the behavior:

1. get the run_xnli.py script and added the following config change codes 
    config.num_attention_heads = 8
    config.hidden_size = 512
    config.pooler_fc_size = 512
    config.pooler_num_attention_heads = 8



## Environment

* OS: windows 
* Python version: 3.6
* PyTorch version: 1.1 
* PyTorch Transformers version (or branch): 2.2.1 
* Using GPU ? yes
* Distributed or parallel setup ? parallel 
* Any other relevant information:

## Additional context

<!-- Add any other context about the problem here. -->

I got it working