diff --git a/megatron/core/optimizer/distrib_optimizer.py b/megatron/core/optimizer/distrib_optimizer.py index 058fb05e54a..fa850b7c856 100644 --- a/megatron/core/optimizer/distrib_optimizer.py +++ b/megatron/core/optimizer/distrib_optimizer.py @@ -1705,6 +1705,9 @@ def sharded_param_state_dp_reshardable( tensors[key] = LocalNonpersistentObject(tensors[key]) continue if key == 'step': + # The optimizer state of STEP is a 0-dim tensor and is handled + # separately via param_groups, not as part of the gradient buffer. + tensors[key] = LocalNonpersistentObject(tensors[key]) continue assert tensors[key].shape == (gbuf_local_end - gbuf_local_start,), ( tensors[key].shape,