Hello! I’m facing the exact same situation as the OP, the scale just halves after each iteration until the loss becomes zero.
In my case not only it works fine without AMP, but only one out of multiple losses is having this issue. The others work fine with AMP.
I’m also checking both the loss and the output with:
torch.isnan(l_g_total).any() or torch.isinf(l_g_total).any()

And there are no NaN or infs.
What could be causing this behavior?