[`GPT-J`] Fix causal mask dtype
# What does this PR do?

Fixes https://github.com/huggingface/transformers/issues/23136

When going for `low_cpu_mem_usage` each parameter is force-casted to the expected dtype, which is force-set to `torch.float16` for 8bit models.

Therefore, for 8bit models (and also half-precision models) the causal mask is always force casted to float16 as it is part of the model's state dict, hence expected to be loaded from the Hub if the mask is available on the state dict.

The fix is to add `persistant=False` and add a field `_keys_to_ignore_on_unexpected` (for removing the warnings) to avoid loading that causal mask from the state dict and assign it to the buffer, and all causal masks that are saved as buffers should do the same to avoid unexpected behaviors.

cc @sgugger 
_The documentation is not available anymore as the PR was closed or merged._