ReciprocalBackward points towards a division by the tensor:
x = torch.randn(1, requires_grad=True)
y1= 1/x
y2 = torch.reciprocal(x)

print(y1 == y2)
> tensor([True])
print(y2)
> tensor([-1.2178], grad_fn=<ReciprocalBackward>)

I assume the used tensor might be zero (or close to zero), which would yield Inf as the output and thus also an invalid gradient.
Could you check your model for these operations and make sure the used values are in a reasonable range?