minor issues in modeling_clip.py
While working on the PR [Add TFCLIPModel](https://github.com/huggingface/transformers/pull/13967), I observed a few minor issues in [modeling_clip.py](https://github.com/huggingface/transformers/blob/master/src/transformers/models/clip/modeling_clip.py):

1. Miss `@dataclass` decorators before https://github.com/huggingface/transformers/blob/d5b82bb70c2e8c4b184a6f2a7d1c91d7fd156956/src/transformers/models/clip/modeling_clip.py#L74
This causes `None` elements included in the tuple form. 
2. typo in `CLIPVisionTransformer.pre_layrnorm`
https://github.com/huggingface/transformers/blob/d5b82bb70c2e8c4b184a6f2a7d1c91d7fd156956/src/transformers/models/clip/modeling_clip.py#L738
3. In
https://github.com/huggingface/transformers/blob/d5b82bb70c2e8c4b184a6f2a7d1c91d7fd156956/src/transformers/models/clip/modeling_clip.py#L291
- `layer_head_mask` not in the arguments
- shape of `hidden_states` is incorrect, I think
4. https://github.com/huggingface/transformers/blob/d5b82bb70c2e8c4b184a6f2a7d1c91d7fd156956/src/transformers/models/clip/modeling_clip.py#L500
 I am not sure why there is  `embed_tokens` here.
5. https://github.com/huggingface/transformers/blob/d5b82bb70c2e8c4b184a6f2a7d1c91d7fd156956/src/transformers/models/clip/modeling_clip.py#L520
Here `inputs_embeds` is a required argument instead of being `optional`.

6. There are a few places `model(...)` in `test_modeling_clip.py` without being inside `with torch.no_grad():`.

## Who can help
@patil-suraj 


Hi @ydshieh !
Wow,  thank you for finding these issues 😄 

1. Yes it should have `@dataclass` decorator

2. Unfortunately we can't fix the typo now because if we change it we won't be able to load the weights 😕 

3.  `layer_head_mask` is not implemented for CLIP. And yes `hidden_states` shape should be `(bs, seq_len, hidden_size)`

4. `embed_tokens` shouldn't be there

5.  `inputs_embeds` is required because the encoder is used by both the vision and text modules, where we compute the embeddings and then pass that to the encoder. This is because the encoder is similar for both modalities.

6. Argg, this should be fixed.<|||||>About 5, yes, but on the doc, it's mentioned as optional. That's what I mean.

About 2, I agree. So I am going to use the same name for TFCLIP.