GPT-J Models Cannot Load If Tokens Have Been Resized Using resize_token_embeddings Method
## Environment info
<!-- You can run the command `transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->

- `transformers` versions: 4.11.1, 4.11.3
- Platform: Ubuntu 18.04, Windows
- Python version: 3.7.5

### Who can help
@patil-suraj @patrickvonplaten, @LysandreJik @stas00

## Information

Something seems to be wrong in the serialization of GPTJ models. They are not behaving like other models in the library. After loading a GPTJ model using `.from_pretrained`, calling `model.resize_token_embeddings` and saving the model using `.save_pretrained`, it is not possible to load a GPTJ model again using `.from_pretrained`. Is there a workaround that's suggested? 

This error is thrown:

```
RuntimeError: Error(s) in loading state_dict for GPTJForCausalLM:
	size mismatch for lm_head.weight: copying a param with shape torch.Size([50400, 4096]) from checkpoint, the shape in current model is torch.Size([54001, 4096]).
	size mismatch for lm_head.bias: copying a param with shape torch.Size([50400]) from checkpoint, the shape in current model is torch.Size([54001]).
```

## To reproduce

```
from transformers import GPTJForCausalLM
model = GPTJForCausalLM.from_pretrained("EleutherAI/gpt-j-6B")
model.resize_token_embeddings(54001)
model.save_pretrained("model_dir")
model = GPTJForCausalLM.from_pretrained("model_dir")
```

## Expected behavior

The model should be loaded correctly if the token embeddings have been changed in the standard way.

@patil-suraj Changing the two methods below in modeling_gptj.py fixes the problem, but it needs to fine-tune longer than other gpt-style models (2 epochs vs. 1), so I'm not sure that this is correct. Please advise.

Methods updated:

```
def get_output_embeddings(self):
    return self.lm_head

def set_output_embeddings(self, new_embeddings):
    self.lm_head = new_embeddings
```<|||||>@alexorona We also need to set `tie_word_embeddings=False` in `config`, because GPT-J does not share word embeddings with `lm_head`. It was not set by default, so when we resize the embeddings, the weights get tied, maybe this could be the issue.