The article makes a lot of good points.
But there are some cases where f16 is very useful. In the context of deep learning it's frequently useful to move from f32 -> f16. This can allow you to double the size of your models in memory (system or GPU/TPU).
Since network size is often determinant of performance, doubling the number of parameters/activations in your model can make a big difference.