Seq2SeqTrainer: use unwrapped model to retrieve the generation config
Author: gante
Pull request: yes

# What does this PR do?

Addresses one of the issues in #22571

As the title indicates, changes the source of the generation config from `model` (wrapped model) to `self.model` (unwrapped model).

Comments:
@stas00 I do not have quick access to a multi-GPU setup. Would you be so kind as to double-check whether this fix solves the issue? 🙏 

_The documentation is not available anymore as the PR was closed or merged._

I confirm that it fixes the first crash with 2+ gpus, the 2nd crash in eval remains.

```
$ PYTHONPATH=src python examples/pytorch/translation/run_translation.py --model_name_or_path t5-base --do_train --do_eval --source_lang en --target_lang de --source_prefix 'translate English to German: ' --dataset_name stas/wmt14-en-de-pre-processed --output_dir /tmp/tst-translation --num_train_epochs 1 --per_device_train_batch_size=1 --max_train_samples 10 --overwrite_output_dir --seed 1137 --per_device_eval_batch_size 1 --predict_with_generate --fp16 --max_eval_samples 10
[...]
04/05/2023 10:11:48 - INFO - __main__ - *** Evaluate ***
[INFO|trainer.py:3126] 2023-04-05 10:11:48,677 >> ***** Running Evaluation *****
[INFO|trainer.py:3128] 2023-04-05 10:11:48,677 >>   Num examples = 10
[INFO|trainer.py:3131] 2023-04-05 10:11:48,677 >>   Batch size = 2
[INFO|configuration_utils.py:575] 2023-04-05 10:11:48,691 >> Generate config GenerationConfig {
  "_from_model_config": true,
  "decoder_start_token_id": 0,
  "eos_token_id": 1,
  "pad_token_id": 0,
  "transformers_version": "4.28.0.dev0"
}

Traceback (most recent call last):
  File "examples/pytorch/translation/run_translation.py", line 664, in <module>
    main()
  File "examples/pytorch/translation/run_translation.py", line 605, in main
    metrics = trainer.evaluate(max_length=max_length, num_beams=num_beams, metric_key_prefix="eval")
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/trainer_seq2seq.py", line 159, in evaluate
    return super().evaluate(eval_dataset, ignore_keys=ignore_keys, metric_key_prefix=metric_key_prefix)
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/trainer.py", line 2990, in evaluate
    output = eval_loop(
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/trainer.py", line 3278, in evaluation_loop
    metrics = self.compute_metrics(EvalPrediction(predictions=all_preds, label_ids=all_labels))
  File "examples/pytorch/translation/run_translation.py", line 546, in compute_metrics
    decoded_preds = tokenizer.batch_decode(preds, skip_special_tokens=True)
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/tokenization_utils_base.py", line 3445, in batch_decode
    return [
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/tokenization_utils_base.py", line 3446, in <listcomp>
    self.decode(
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/tokenization_utils_base.py", line 3485, in decode
    return self._decode(
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/tokenization_utils_fast.py", line 549, in _decode
    text = self._tokenizer.decode(token_ids, skip_special_tokens=skip_special_tokens)
OverflowError: out of range integral type conversion attempted
```

This of course can be dealt with in a separate PR since the issue appears to be totally different. In which case please remove `Fixes: ...` so that the original Issue doesn't get closed.

Thank you for checking @stas00! PR header changed accordingly.