"token_type_ids" is discarded when using GenerationMixin in ”generation_utils.py“
## Environment info
- `transformers` version: 4.8.2
- Platform: Darwin-19.6.0-x86_64-i386-64bit
- Python version: 3.6.10
- PyTorch version (GPU?): 1.9.0 (False)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed

### Who can help
@patrickvonplaten @yjernite 


## Information

Model I am using OpenAIGPTLMHeadModel:

I try to use class GenerationMixin in ”generation_utils.py“ to generate words for my pre-trained openai-gpt model, but I find a model performance degradation.

My generation code segment is like this and I need put "input_ids" and "token_type_ids" for my gpt model:
     ` input_ids = torch.tensor(instance["input_ids"], dtype=torch.long, device=args.device).unsqueeze(0)` 
      ` token_type_ids = torch.tensor(instance["token_type_ids"], dtype=torch.long, device=args.device).unsqueeze(0)` 
        ` paras = {"token_type_ids": token_type_ids}` 
       `  bos, eos, pad, speaker1, speaker2 = tokenizer.convert_tokens_to_ids(SPECIAL_TOKENS)` 
        ` chat_history_ids = model.generate(
            input_ids,
            **paras, max_length=128, min_length=5, num_beams=1,
            pad_token_id=pad, use_cache=True,
            eos_token_id=eos, temperature=0.7,
            bos_token_id=bos,
            top_p=0.9, top_k=30, do_sample=True, repetition_penalty=1.03).cpu() `
        

But I find when it call forward in class OpenAIGPTLMHeadModel(OpenAIGPTPreTrainedModel), token_type_ids in forward is None. Although I already put "token_type_ids" in model.generate() with **paras.


## Expected behavior
it seems the bug is here. This function in generation_utils.py discards my token_type_ids here:
`def prepare_inputs_for_generation(self, input_ids: torch.LongTensor, **kwargs) -> Dict[str, Any]:`
 `return {"input_ids": input_ids}`
    


Thanks for your issue @nanzhao! In order make `OpenAIGPTLMHeadModel` work with `token_type_ids` we should add this line to `prepare_inputs_for_generation`:

https://github.com/huggingface/transformers/blob/790f1c9545f4a83b97bf75640be82b2112c3efe7/src/transformers/models/gpt2/modeling_gpt2.py#L884<|||||>Would you like to open a PR and give it a try? :-)<|||||>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/master/CONTRIBUTING.md) are likely to be ignored.