Error when loading weights with a different 'projection_dim' in DPRQuestionEncoder
## Environment info
```
- `transformers` version: 4.10.0
- Platform: Linux-5.4.104+-x86_64-with-Ubuntu-18.04-bionic
- Python version: 3.7.11
- PyTorch version (GPU?): 1.9.0+cu102 (True)
- Tensorflow version (GPU?): 2.6.0 (True)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: No
- Using distributed or parallel set-up in script?: No
```

### Who can help
research_projects/rag: @patrickvonplaten, @lhoestq

## To reproduce

```
from transformers import DPRQuestionEncoder, DPRConfig

model_name = "voidful/dpr-question_encoder-bert-base-multilingual"

config = DPRConfig.from_pretrained(model_name)
config.projection_dim = 512

model = DPRQuestionEncoder.from_pretrained(model_name, config=config)
```

# Error
```
NotImplementedError                       Traceback (most recent call last)
<ipython-input-16-0256969428e8> in <module>()
     11 config.projection_dim = 512
     12 
---> 13 model = DPRQuestionEncoder.from_pretrained(model_name, config=config)

2 frames
/usr/local/lib/python3.7/dist-packages/transformers/modeling_utils.py in _init_weights(self, module)
    577         Initialize the weights. This method should be overridden by derived class.
    578         """
--> 579         raise NotImplementedError(f"Make sure `_init_weigths` is implemented for {self.__class__}")
    580 
    581     def tie_weights(self):

NotImplementedError: Make sure `_init_weigths` is implemented for <class 'transformers.models.dpr.modeling_dpr.DPRQuestionEncoder'>
```

## Expected behavior

Be able to change `config.projection_dim` without errors.

This is indeed an error and should be fixed by the PR linked above