No, inputs should be already split among the GPUs, so you could alternatively use:
probabilities = probabilities.to(inputs.device)

The problem is that you are creating new tensors without specifying the current device the model and data is placed on:
probabilities = torch.ones(inputs.size(0), max_length + 1)

To get the current device, you can use any input data’s device or some model parameters.