What are the trade-offs between using FP32, FP16, and BF16 precision when training large-scale models on NVIDIA GPUs?

Technical