Error in GPT2 while using gradient checkpointing.
## 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` version: 4.2.0
- Platform: Linux | 5.4.0-60-generic | 18.04.1-Ubuntu SMP | x86_64
- Python version: 3.7.7
- PyTorch version (GPU?): 1.7.1
- Tensorflow version (GPU?):
- Using GPU in script?:
- Using distributed or parallel set-up in script?:

### Who can help
 @LysandreJik

## Information

Model I am using: GPT2

The problem arises when using:
* GPT2LMHeadModel with config `gradient_checkpointing: True` 

When using GPT2 pretrained model, with the latest releases (4.x), `gpt2_modeling.py` fails due to the behavior arising from pytorch. It was due to the fact that `torch.utils.checkpoint.checkpoint` import is malfunctioning, see [this](https://discuss.pytorch.org/t/attributeerror-module-torch-utils-has-no-attribute-checkpoint/101543) discussion, but I tried with python3.8 as well, and the problem still occured. When I observe the other scripts for modeling on different models (like BERT, etc.) the import statement for `checkpoint` is handled successfully, but GPT2 script fails. It is discussed that the problem arises due to the import behaviour of python.

```
    File
    "/home/username/.miniconda3/envs/prj/lib/python3.7/site-packages/torch/nn/modules/module.py", line
    727, in _call_impl
    result = self.forward(*input, **kwargs)
    File
    "/home/username/.miniconda3/envs/prj/lib/python3.7/site-packages/transformers/models/gpt2/modeling_gpt2.py", line
    901, in forward
    return_dict = return_dict,
    File
    "/home/username/.miniconda3/envs/prj/lib/python3.7/site-packages/torch/nn/modules/module.py", line
    727, in _call_impl
    result = self.forward(*input, **kwargs)
    File
    "/home/username/.miniconda3/envs/prj/lib/python3.7/site-packages/transformers/models/gpt2/modeling_gpt2.py", line
    728, in forward
    outputs = torch.utils.checkpoint.checkpoint(
            AttributeError: module 'torch.utils' has no attribute 'checkpoint'
```

## Suggestion
in `modeling_gpt2.py` add this import `import torch.utils.checkpoint`.
Hitting this issue as well.