Load tuned model without downloading from huggingface
I have the following model which I have tuned for a classification task.
```python
BASE_MODEL = "distilbert-base-multilingual-cased"

class Model(nn.Module):
    def __init__(self, nc, p=0.1):
        super().__init__()
        self.base = AutoModel.from_pretrained(BASE_MODEL)
        in_features = 768 # self.base.pooler.dense.out_features
        self.dropout = nn.Dropout(p=p)
        self.fc = nn.Linear(in_features, nc, bias=False)
        
    def forward(self, x):
        out = self.base(**x)[0]
        out = out[:, 0, :]
        out = self.dropout(out)
        return self.fc(out)
```

However, the way that I load the model currently is by doing:
```python
model = Model(nc)
model.load_state_dict(torch.load(TUNED_MODEL_PATH))
```
The first line above causes `distibert` to be downloaded again and then my weights overwrite the model. I was hoping that there is a way of just getting the base architecture without downloading any weights.

I tried doing `self.base = DistilBertModel(DistilBertConfig())`. However, when loading the tuned model, it gives the error `size mismatch for base.embeddings.word_embeddings.weight: copying a param with shape torch.Size([119547, 768]) from checkpoint, the shape in current model is torch.Size([30522, 768]).`. I believe this is due to the fact that I am using **a multilingual** model.

Side questions: 
- Where does the AutoTokenizer/ AutoModel download the relevant files to?
- Also apologies for posting here instead of the forum. For some reason it won't let me login with the huggingface credentials.

Version: transformers==3.1.0

 Instead of doing `self.base = DistilBertModel(DistilBertConfig())` you can do `self.base = DistilBertModel(DistilBertConfig(vocab_size=119547))`.
