Switch transformer for sequence classification
Author: jlamprou
Pull request: yes

# What does this PR do?
This adds a sequence classification head to the PyTorch implementation of SwitchTransformers, following the pattern of T5ForSequenceClassification since it is also an encoder-decoder sequence classification model.

# NOTE:
- [ ] Failing tests, because we haven't a Checkpoint trained on classification.

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [x] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [x] Did you write any new necessary tests?


## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

Hey @ArthurZucker and @younesbelkada I would greatly appreciate a review on this when you have a chance.


Comments:
> Hey! Thanks for contributing. As there are no released checkpoints for sequence classification, we usually try to:
> 
>     1. Open an issue with the feature request
> 
>     2. If the issue has strong support from the community (usually around 10 likes for example) the add support for it 🤗
> 
> 
> In this case you are the first user to request this new class! 🤗

Hi, I'm working on Classification checkpoint, it will be available once the training is done.

@ArthurZucker @younesbelkada, I would also like your opinion about the usage of Z and Aux Loss on the Sequence Classification task. By my understanding Z loss is designed to improve the training stability of large language models and Mixture-of-Experts (MoE) models and the Aux loss for Multi-task learning and Regularization. ETA-50minutes for trained checkpoint on MNLI using the [run_glue.py](https://github.com/huggingface/transformers/blob/main/examples/pytorch/text-classification/run_glue.py).

A trained checkpoint on SST2 [here](https://huggingface.co/glamprou/switch-base-8-sst2) and MNLI [here](https://huggingface.co/glamprou/switch-base-8-mnli)

@ArthurZucker @younesbelkada, Let's not let this go stale, all tests are passing and 2 checkpoints are available

feel free to ping me again for another review once Cis are green

> feel free to ping me again for another review once Cis are green

@ArthurZucker All tests are passing, no changes were needed, the test failing wasn't related to my commits. An empty commit to rerun tests was enough.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_29115). All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md) are likely to be ignored.