[trainer] deepspeed bug fixes and tests
This PR:
* fixes a bug with `model.no_sync()` which is not supported by DeepSpeed - we had the test but it's not running on CI 
* fixes a bug with when `--train` is not used - have to `.to(device)` in that case - reported here (https://github.com/huggingface/transformers/issues/9996#issuecomment-774232901)
* splits the deepspeed tests into its own dedicated file and will slowly start to build it up - but it's good enough for now - especially since we are going to switch over `run_seq2seq.py`, except it's not fully ready yet for adoption.
* adds a new test which doesn't use `--train`

@sgugger 
> Thanks for the PR. Concerning the new `test_deepspeed.py` file, the goal is to remove things from the seq2seq folder to make it less intimidating to new users, not add stuff in it ;-)
> 
> Maybe we should put all tests in examples/tests/, that would be easier.

I'm open to suggestions, this is not really an addition but a split or a larger test file as it was becoming unnecessarily complicated. 

This PR is a bug fix and the scene will evolve to be more user-friendly, but let's discuss this post merge to enable users to do their work.

I will start a new issue discussing your suggestion. https://github.com/huggingface/transformers/issues/10076<|||||>Well it's not just a bug fix since you split the test file with it ;-) But I agree we can do the regrouping in another PR.<|||||>Because I had to add new tests and the previous situation would make things too complicated, so that bug fix required a new test which was the last straw that triggered a need for a dedicated test file. That is, I couldn't easily add a test to the way things were and the test was needed to go with the bug fix. So the split was done out of necessity. 