The new impl for CONFIG_MAPPING prevents users from adding any custom models
Author: munael
Pull request: no

## 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+
- Platform: Ubuntu 18.04
- Python version: 3.7.11
- PyTorch version (GPU?): N/A
- Tensorflow version (GPU?): N/A
- Using GPU in script?: N/A
- Using distributed or parallel set-up in script?: No.

### Who can help
<!-- Your issue will be replied to more quickly if you can figure out the right person to tag with @
 If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
 Please tag fewer than 3 people.
 -->


## Information

Model I am using (Bert, XLNet ...): _Custom_ model

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:
* [x] an official GLUE/SQUaD task: (give the name)
* [ ] my own task or dataset: (give details below)

## To reproduce

See: https://github.com/huggingface/transformers/blob/010965dcde8ce9526f6a7e6e2c3f36276c153708/src/transformers/models/auto/configuration_auto.py#L297

This was changed from the design in version `4.9` which used an `OrderedDict` instead of the new `_LazyConfigMapping`. The current design makes it so users cannot add their own custom models by assigning names and classes to the following registries (example: classification tasks):

- `CONFIG_MAPPING` in `transformers.models.auto.configuration_auto`, and
- `MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING` in `transformers.models.auto.modeling_auto`.

<!-- If you have code snippets, error messages, stack traces please provide them here as well.
     Important! Use code tags to correctly format your code. See https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting
     Do not use screenshots, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.-->

## Expected behavior

Either a mechanism to add custom `Config`s (and the corresponding models) with documentation for it, or documentation for whatever other recommended method. Possibly that already exists, but I haven't found it yet.

<!-- A clear and concise description of what you would expect to happen. -->

@sgugger 

Comments:
Adding a config/model/tokenizer to those constants wasn't really supported before (but I agree it may have worked in some situations). A mechanism to add a custom model/config/tokenizer is on the roadmap!
Slightly different but which may be of interest, we are also starting to implement support for custom modeling (soon config and tokenizer) files on the Hub in #13467

Also related to https://github.com/huggingface/transformers/issues/10256#issuecomment-916482519

@sgugger , is the roadmap shared anywhere publicly? I have searched but could not find it. The reason I'm asking is because we are also interested in adding custom (customized) models.

No there is no public roadmap, this is internal only because it evolves constantly with the feature requests we receive :-)
Like I said, there should be something available for this pretty soon!

Related https://github.com/huggingface/transformers/issues/13591

@sgugger Updating just broke my codebase :) 

Any reasons why you cannot allow users to modify the registry? At the end of the day, it's something that will do on their own without affecting the entire library...

Can we please revert this? Because currently the latest version of HF fixes an important [issue](https://github.com/huggingface/transformers/issues/12904).

@sgugger @LysandreJik any updates on this? Thanks!

Hello @aleSuglia, @sgugger is working on that API here: https://github.com/huggingface/transformers/pull/13989

It should land in the next few days.