Type hinting Inconsistency in beam_search.py 
### System Info

Main branch

### Who can help?

@gante

### 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

Hi,

In `beam_search.py`file, the process function (in actual classes), have the following signature 

```

    def process(
        self,
        input_ids: torch.LongTensor,
        next_scores: torch.FloatTensor,
        next_tokens: torch.LongTensor,
        next_indices: torch.LongTensor,
        pad_token_id: Optional[int] = None,
        eos_token_id: Optional[Union[int, List[int]]] = None,
        beam_indices: Optional[torch.LongTensor] = None,
    ) -> Tuple[torch.Tensor]:
```
even though it returns `UserDict`. Any reason why not annotate with Dict, Mapping rather than Tuple?

This type of mismatching might exist in other places, not sure

### Expected behavior

IMO, it should return Dict, or Mapping
Hey @mert-kurttutan 👋 

That is absolutely correct. Would you like to open a PR to fix it? :)<|||||>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.<|||||>Hello, is anyone working on this issue? If not I can take it on @gante.<|||||>Hey @jprivera44 -- AFAIK no one is working on it, feel free to take it 🙌 <|||||>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.