CTRL's `config.json` on HF Hub is missing a `model_type`
Author: nostalgebraist
Pull request: no

The [`config.json` for CTRL](https://huggingface.co/ctrl/blob/main/config.json) on the Model Hub is missing the key `model_type`.

As a result, passing the model repo as a path to `AutoModel.from_pretrained` will fail in some cases.

## To reproduce

Clone the model repo and `cd` into it:

```
git lfs install
git clone https://huggingface.co/ctrl
cd ctrl
```

Then, in a python session, try to load it:

```python
>>> import transformers
>>> model = transformers.AutoModel.from_pretrained(".")
ValueError: Unrecognized model in .. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: layoutlmv2, beit, rembert, visual_bert, canine, roformer, clip, bigbird_pegasus, deit, luke, detr, gpt_neo, big_bird, speech_to_text, vit, wav2vec2, m2m_100, convbert, led, blenderbot-small, retribert, ibert, mt5, t5, mobilebert, distilbert, albert, bert-generation, camembert, xlm-roberta, pegasus, marian, mbart, megatron-bert, mpnet, bart, blenderbot, reformer, longformer, roberta, deberta-v2, deberta, flaubert, fsmt, squeezebert, hubert, bert, openai-gpt, gpt2, transfo-xl, xlnet, xlm-prophetnet, prophetnet, xlm, ctrl, electra, encoder-decoder, funnel, lxmert, dpr, layoutlm, rag, tapas, splinter
```

## Relation to string matching

The problem does not occur if the substring "ctrl" appears in the argument of `from_pretrained`.  This happens because of the string-matching fallback on [this line](https://github.com/huggingface/transformers/blob/master/src/transformers/models/auto/configuration_auto.py#L524) of `AutoConfig`.

For example, the above will work properly if we skip the `cd ctrl` step, and then load the model with `model = transformers.AutoModel.from_pretrained("ctrl/")`.  This points to the same path on the file system, so it is counter-intuitive that the two would differ.

Using the model name (rather than a path) works, for the same reason.  I.e. `model = transformers.AutoModel.from_pretrained("ctrl")`

#### Why string matching?

Beyond this specific bug, I am a little confused why the string-matching logic in `AutoConfig` is necessary / useful:

- If the config.json file is well-formed, then it shouldn't be necessary.
- If the file is malformed, as in this case, the string matching works around the issue in some cases but not others.
  - The difference between these cases is the result of internal library code, and is opaque to the end user, leading to confusion.

Are there other examples, besides CTRL, where the string matching provides value?

## Expected behavior

`transformers.AutoModel.from_pretrained` loads CTRL whenever it is passed a local path to the repo, no matter what the path looks like as a string.

## 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.10.0
- Platform: Linux-5.4.104+-x86_64-with-Ubuntu-18.04-bionic
- Python version: 3.7.11
- PyTorch version (GPU?): 1.9.0+cu102 (False)
- Tensorflow version (GPU?): 2.6.0 (False)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: No
- Using distributed or parallel set-up in script?: No

### Who can help

Tagging @LysandreJik since they helped out with a bug in CTRL's vocab file https://github.com/huggingface/transformers/issues/11088

## Information

Model I am using (Bert, XLNet ...): CTRL

The problem arises when using:
* [ ] the official example scripts: (give details below)
* [x] my own modified scripts: (give details below)

The tasks I am working on is:
N/A
* [ ] an official GLUE/SQUaD task: (give the name)
* [ ] my own task or dataset: (give details below)


Comments:
Thanks a lot for opening an issue @nostalgebraist, there is indeed an issue with the configuration file. Updating it.

It should be fixed now with [`huggingface@07e9f73d`](https://huggingface.co/ctrl/commit/07e9f73d6b0d0dda24506e8ad9ad4fb5cf87f4c9). Thanks again for your report!