Seq2SeqTrainer predict with generate fails to run without labels
### System Info

- `transformers` version: 4.21.2
- Platform: macOS-12.6-arm64-arm-64bit
- Python version: 3.9.12
- Huggingface_hub version: 0.9.1
- PyTorch version (GPU?): 1.12.1 (False)
- 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?: no
- Using distributed or parallel set-up in script?: no

### Who can help?

@patrickvonplaten, please check.

### Information

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

### Tasks

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

### Reproduction

This code fails.

```python3

import transformers
from transformers import Seq2SeqTrainer, Seq2SeqTrainingArguments, AutoModelForSeq2SeqLM, AutoTokenizer
from datasets import Dataset

model_name = "google/t5-efficient-tiny"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)

ds = Dataset.from_dict({"text": ["Sample text to continue 1:", "Sample text to continue 2:"]})
ds = ds.map(lambda x: tokenizer(x["text"], truncation=True, padding="max_length", max_length=512), batched=True)

trainer_args = Seq2SeqTrainingArguments(
    "tmp_output",
    predict_with_generate=True,
)

trainer = Seq2SeqTrainer(
    model,
    args=trainer_args,
)
predict_output = trainer.predict(ds) # FAILS
```


```
ValueError: You have to specify either decoder_input_ids or decoder_inputs_embeds
```

### Expected behavior

It seems to me that Seq2SeqTrainer should output generation results. Therefore this class may be used for model inference.

Of course, in this case it is not possible to calculate metrics or loss, thus they should be None.

I know how to fix it with tiny change in Seq2SeqTrainer class, so I will create a PR later today.
