Many places are type-annotated as 1-tuple when should be arbitrary length tuple
### System Info

n/a

### Who can help?

_No response_

### Information

- [ ] The official example scripts
- [ ] My own modified scripts

### Tasks

- [ ] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [ ] My own task or dataset (give details below)

### Reproduction

I've seen this in a couple of disparate places so I guess the problem is endemic.

Two examples I can point to are:

- https://github.com/huggingface/transformers/blob/main/src/transformers/modeling_outputs.py#L46
  the docstring says:
  > _"Tuple of `torch.FloatTensor` (one for the output of the embeddings, if the model has an embedding layer, + one for the output of each layer)"_
  
  but it is annotated as: `hidden_states: Optional[Tuple[torch.FloatTensor]]`
- https://github.com/huggingface/transformers/blob/main/src/transformers/models/bert/modeling_bert.py#L283
  annotated as returning `-> Tuple[torch.Tensor]` but the tuple has a varying number of elements:
  ```python
        outputs = (context_layer, attention_probs) if output_attentions else (context_layer,)

        if self.is_decoder:
            outputs = outputs + (past_key_value,)
        return outputs
  ```

In both cases there are many examples throughout those files.

### Expected behavior

Unlike `list` and `dict` etc, typed tuples have a specific size.

https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html#useful-built-in-types

the annotation `Tuple[torch.Tensor]` means a tuple with a _single element_ of that type.

for a tuple of varying size it should be annotated `Tuple[torch.Tensor, ...]`
The type annotations should only be read as a doc helper. They are not exact, and will never be checked by a type checker as Python is not a statically typed language anyway. When we have to decide between complexity of the type annotation and ease of the user/readability, we always pick the later.<|||||>I mentioned because it confused me, since they currently describe something different from what is returned<|||||>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.