Moving model from GPU -> CPU doesn't work
## 🐛 Bug

Hi,

I tried creating a model (doesn't matter which one from my experiments), moving it first to multiple GPUs and then back to CPU. But I think it doesn't work as intended.

The following is the code to reproduce the error:

```python
import torch
import torch.nn as nn
from transformers import BertTokenizer, BertModel

>>> model = BertModel.from_pretrained('bert-base-uncased')
>>> model.to('cuda:0')
>>> model = nn.DataParallel(model, device_ids=range(torch.cuda.device_count()))
>>> print(model.device_ids)
[0, 1]
>>> model.to('cpu')
>>> print(model.device_ids) # Still on GPUs
[0, 1]
```
`.to()` is not an in-place operation. You should use `model = model.to('cpu')`. If that doesn't work, it might be that you need to access the module as part of the DataParallel object, like this:

```python
model = model.module.to('cpu')
```<|||||>Ahh gotcha. Thanks for the quick reply!