Seq2Seq question answering example script not compatible with the latest Seq2SeqTrainer class.
### System Info

- `transformers` version: 4.25.0.dev0
- Platform: Linux-4.18.0-372.16.1.el8.cyf.x86_64-x86_64-with-glibc2.28
- Python version: 3.9.6
- Huggingface_hub version: 0.11.0
- PyTorch version (GPU?): 1.13.0+cu116 (True)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: yes
- Using distributed or parallel set-up in script?: no


### Who can help?

@sgugger 

### Information

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

### Tasks

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

### Reproduction

Steps to reproduce:
```
python question-answering/run_seq2seq_qa.py   --model_name_or_path google/mt5-base  --dataset_name squad   --context_column context  --question_column question   --answer_column answers   --do_train   --do_eval --evaluation_strategy steps --eval_steps 100  --learning_rate 1e-4   --num_train_epochs 4   --max_seq_length 384   --doc_stride 128  --eval_accumulation_steps 1 --predict_with_generate --output_dir output --per_device_train_batch_size 14
```

During evaluation, the following error occurs:
```
Traceback (most recent call last):
  File "/net/people/plgrid/plgapohl/mt5-classification/question-answering/run_seq2seq_qa.py", line 720, in <module>
    main()
  File "/net/people/plgrid/plgapohl/mt5-classification/question-answering/run_seq2seq_qa.py", line 656, in main
    train_result = trainer.train(resume_from_checkpoint=checkpoint)
  File "/net/ascratch/people/plgapohl/python-3.9.6/lib/python3.9/site-packages/transformers/trainer.py", line 1517, in train
    return inner_training_loop(
  File "/net/ascratch/people/plgapohl/python-3.9.6/lib/python3.9/site-packages/transformers/trainer.py", line 1842, in _inner_training_loop
    self._maybe_log_save_evaluate(tr_loss, model, trial, epoch, ignore_keys_for_eval)
  File "/net/ascratch/people/plgapohl/python-3.9.6/lib/python3.9/site-packages/transformers/trainer.py", line 2105, in _maybe_log_save_evaluate
    metrics = self.evaluate(ignore_keys=ignore_keys_for_eval)
  File "/net/people/plgrid/plgapohl/mt5-classification/transformers/examples/pytorch/question-answering/trainer_seq2seq_qa.py", line 59, in evaluate
    output = eval_loop(
  File "/net/ascratch/people/plgapohl/python-3.9.6/lib/python3.9/site-packages/transformers/trainer.py", line 2990, in evaluation_loop
    loss, logits, labels = self.prediction_step(model, inputs, prediction_loss_only, ignore_keys=ignore_keys)
  File "/net/ascratch/people/plgapohl/python-3.9.6/lib/python3.9/site-packages/transformers/trainer_seq2seq.py", line 174, in prediction_step
    gen_kwargs = self._gen_kwargs.copy()
AttributeError: 'QuestionAnsweringSeq2SeqTrainer' object has no attribute '_gen_kwargs'
```

### Expected behavior

There should be no error in evaluation.

The reason for this error is the fact, that the `evaluate` method in the `QuestionAnsweringSeq2SeqTrainer`:
1. Does not accept `gen_kwargs`.
2. The value of that (missing) attribute is not assigned to the instance variable `self._gen_kwargs`.

Yet in the `prediction_step`  (line 174) in `Seq2SeqTrainer` it is expected that the value of that instance variable is set.
The reason for that is the fact, that the `evaluate` method in `Seq2SeqTrainer` copies the `gen_kwargs` to the instance variable.

BTW both `predict` and `evaluate` methods in `Seq2SeqTrainer` mention `max_length` and `num_beams` in the documentation of these methods, yet these arguments are no longer available.
To clarify the last comment (about the documentation) - these arguments in `predict` and `evaluate` are extracted from `gen_kwargs`, but they are not formal arguments of these methods.<|||||>OK. It seems, I have not updated the code in the examples directory. The latest implementation of the trainer is valid.
Closing the issue.