Additionally to @albanD’s suggestion, you could scale the loss before the backward call, which would automatically scale all gradients and unscale the gradients before the update.
Note that automatic mixed-precision is currently available in the master and nightly binaries, in case you don’t want to reimplement it manually.