diff --git a/src/transformers/trainer.py b/src/transformers/trainer.py index 485f6cd61e0e7b..25b7b69930921d 100755 --- a/src/transformers/trainer.py +++ b/src/transformers/trainer.py @@ -2245,12 +2245,17 @@ def _inner_training_loop( "a `main_input_name` attribute to the model class you are using." ) else: - input_device = inputs[main_input_name].device - self.state.num_input_tokens_seen += torch.sum( - self.accelerator.gather( - torch.tensor(inputs[main_input_name].numel(), device=input_device, dtype=torch.int64) + self.state.num_input_tokens_seen += ( + torch.sum( + self.accelerator.gather( + torch.tensor( + inputs[main_input_name].numel(), device=self.args.device, dtype=torch.int64 + ) + ) ) - ).item() + .cpu() + .item() + ) if rng_to_sync: self._load_rng_state(resume_from_checkpoint) rng_to_sync = False