check decoder_inputs_embeds is None before shifting labels
# What does this PR do?
This is related to #19157, which pointed out that a few models do not check whether `decoder_inputs_embeds` are None, which is inconsistent with other models. 
Since this is not the first time this is brought, let's solve it all at once, unless there is a particular reason ? 
_The documentation is not available anymore as the PR was closed or merged._