Argument to set GPT2 inner dimension
Author: TevenLeScao
Pull request: yes

Contrary to most models in the lib, GPT2 currently does not support user-chosen feedforward dimension values. This PR allows the user to choose one. By default the value is `None`; when that is the case, the model reverts to the default `4 * n_embd`.

Comments:
Ignore the failing test, will be patched by https://github.com/huggingface/transformers/pull/6287

# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=h1) Report
> Merging [#6296](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/d5bc32ce92ace9aaec7752e0b89d51ba18903a1b&el=desc) will **decrease** coverage by `0.64%`.
> The diff coverage is `100.00%`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/6296/graphs/tree.svg?width=650&height=150&src=pr&token=9qOlN6Hb1c)](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #6296      +/-   ##
==========================================
- Coverage   79.56%   78.91%   -0.65%     
==========================================
  Files         147      147              
  Lines       27125    27128       +3     
==========================================
- Hits        21581    21409     -172     
- Misses       5544     5719     +175     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/configuration\_gpt2.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2dwdDIucHk=) | `97.29% <100.00%> (+0.07%)` | :arrow_up: |
| [src/transformers/modeling\_gpt2.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19ncHQyLnB5) | `85.96% <100.00%> (+0.04%)` | :arrow_up: |
| [src/transformers/modeling\_tf\_gpt2.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl9ncHQyLnB5) | `71.84% <100.00%> (+0.08%)` | :arrow_up: |
| [src/transformers/tokenization\_xlm.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25feGxtLnB5) | `16.26% <0.00%> (-66.67%)` | :arrow_down: |
| [src/transformers/tokenization\_openai.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fb3BlbmFpLnB5) | `71.21% <0.00%> (-12.88%)` | :arrow_down: |
| [src/transformers/tokenization\_transfo\_xl.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fdHJhbnNmb194bC5weQ==) | `33.56% <0.00%> (-8.93%)` | :arrow_down: |
| [src/transformers/generation\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9nZW5lcmF0aW9uX3RmX3V0aWxzLnB5) | `86.46% <0.00%> (+5.76%)` | :arrow_up: |
| [src/transformers/tokenization\_bart.py](https://codecov.io/gh/huggingface/transformers/pull/6296/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fYmFydC5weQ==) | `95.77% <0.00%> (+35.21%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=footer). Last update [d5bc32c...becd6aa](https://codecov.io/gh/huggingface/transformers/pull/6296?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


> Good for me in general.
> Think naming can be improved:
> Would prefer the name to be either `intermediate_size` as in `BertConfig` or `feed_forward_size` as in `ReformerConfig`.

As discussed with @patrickvonplaten in the real world, since gpt2 already doesn't have the same names as the other models, might as well have a name that's consistent with the other gpt2 parameters.