Create dummy models
# What does this PR do?

This is a new script based on [a previous one](https://gist.github.com/LysandreJik/39058fe6fa8771f74dda7e789a6f63ea#file-create_dummy_models-py)

In the comment, links to 3 reports are provided.

### (Probably) To Do:
- As we shrink the tokenizer vocab size, the special tokens (bos/eos/pad etc.) might change too. I think we should also try to update the attributes in `tiny_config` whose names end with `__token_id`.
- We should probably provide an option to upload to Hub.

### Remark

Currently, if we can not shrink the tokenizer's vocab size for a model type, we still build models for it but give a warning in the report. We should not use them for pipeline testing though (which is what our pipeline testing does so far)

### Current states

- #### These need to be treated specially
    - EncoderDecoder
    - VisionEncoderDecoder
    - SpeechEncoderDecoderModel
    - VisionTextDualEncoder

- #### Some of the following need to check, but others are expected not to work
    - BertGeneration
    - Camembert
    - DecisionTransformer [This model doesn't require any processor -> need to allow this case]
    - ~~DonutSwin~~
    - Esm
    - MarianForCausalLM
    - MT5
    - ~~PegasusX~~
    - QDQBert
    - ReformerModelWithLMHead
    - Speech2Text2ForCausalLM
    - TimeSeriesTransformer [This model doesn't require any processor -> need to allow this case]
    - TrajectoryTransformer
    - TrOCRForCausalLM
    - ~~ViTMSN~~
    - ~~Wav2Vec2Conformer~~
    - XLMProphetNet
    - XLMRoberta
_The documentation is not available anymore as the PR was closed or merged._<|||||>Here are the 3 formats of the reports

[simple_report.txt](https://github.com/huggingface/transformers/files/9872354/simple_report.txt)
[failed_report.json](https://github.com/huggingface/transformers/files/9872355/failed_report.txt)
[tiny_model_creation_report.json](https://github.com/huggingface/transformers/files/9872356/tiny_model_creation_report.txt)


<|||||>Nice, thanks @ydshieh! I'll take it for a spin tomorrow.<|||||>I will take care of the quality check (don't want to push more commits at this moment) 🙏 <|||||>> The description of which models succeeded and which didn't could be slimmer, for example in a TQDM bar where we would print the models that didn't succeed, for example for:

Do you mean we only print the failed ones?<|||||>@LysandreJik Could you take a final look regarding my 2 comment above? Also [this one](https://github.com/huggingface/transformers/pull/19901#issuecomment-1293736263) 🙏 

Thank you for the review 💯 <|||||>Final remark: those progress bar are not downloading, but the training of the tokenizers (to reduce the vocab size). I will ask @Narsil if we can disable showing those 😃 <|||||>Close for now in order to fix a few really edge cases (not to run CI).<|||||>You can disable the progress bar indeed `Trainer(... show_progress=False)`