Diverse Beam Search decoding
# 🚀 Feature request

Currently, with all the decoding strategies available in this library, there isn't any decoding strategy which helps in producing diverse outputs across the beam of the decoder. Such diversity is useful for tasks such as noisy data augmentation where you want to generate multiple possible outputs. [Diverse Beam Search](https://arxiv.org/abs/1610.02424) paper introduces an extremely simple trick to accomplish this and it works really well.
It is already implemented in the fairseq library and would be cool to have it in transformers too.

## Motivation

Having a decoding strategy which promotes more diversity across the beam.

## Your contribution

I would like to submit a PR for it, but before that I would like to know if there has already been some work internally on exploring this. I would appreciate if someone from the team could guide me on what parts of the code are relevant for this to work.

cc @patrickvonplaten would love some feedback from you since your wrote this [blog](https://huggingface.co/blog/how-to-generate) and you may have seen some work around this.

Hey @dakshvar22,

Thanks for posting this Diverse Beam Search paper. Looks cool :-) 
At the moment, I won't find the time to take a deeper look, but feel free to open a PR to add it to our generate() method and I'm happy to discuss possible design choices :-) <|||||>This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
<|||||>My understanding is that this should have been closed by https://github.com/huggingface/transformers/pull/9006?