It can have many cause so hard to say without any details.
But the original value can be the issue. Or being in a region that is too flat of your loss.
A good way to debug these is to add some_tensor.register_hook(print) on Tensors in the forward pass. It will print the gradient for that Tensor. That way you can see where in the backward pass the gradients are vanishing.