The simplest and probably the most efficient method whould be concatenate your samples in dimension 0 (i.e. the batch dimension).
If that is too much for one gpu, then wrap your model in DistributedDataParallel and let it handle the batched data.
Do not use multiple models unless they hold different parameters. It’s unecessary.