Are there really benefits compared to fixed point for this application? Or is it just because people don't want/don't know how to use fixed point anymore?
Most AI calculations involve multiply-add, where the operand is between 0 and 1.
Exactly like "most" DSP calculations. It's been done on DSPs with fixed point for ages and still is. What's the problem?
You cannot represent that number with INT16.
Oh really? I'm talking about fixed point. You can put the virtual point wherever you like. If you absolutely need to represent "1" exactly (which I'm not even sure matters in most cases, as all calculations are approximate anyway, especially with FP!), you can just use a 1.15 fixed point number. Done, you can get your exact '1'. You'll actually get better accuracy than FP16 (except for the very low values) which has a mantissa of only 10 bits and an exponent of... 5 bits! Now that's very limited.
Also, you most likely would need to take care about overflows and that would mean that instead of 1 operation, you have to do more than 1.
This is again very typical in many (most) DSP applications using fixed point. Nothing new here. Oh and FP16 will overflow/underflow pretty quickly too. You don't have a lot of leeway.
I guess the real point is as I hinted earlier, relative ease of use, and most of all, that FPUs are now a commodity, so they are used everywhere without really giving that a second thought.
I'm just saying that fixed point can have definite benefits especially in terms of accuracy, and especially in applications dealing with this kind of numbers in the [0, 1] interval. Low-precision FP, like FP16, will quickly lose a LOT of accuracy after just a few operations.
I get the idea of using FP instead of fixed point in a processor that already contains one or more FPU(s) and nothing specific for fixed point, but here we were talking about a new core that apparently implements accelerated fixed point as well, so to me using FP16 on this instead of fixed point makes a lot less sense from a technical and computational POV. IMO. Again fixed point is still heavily used on conventional DPSs for a large range of applications, and if used exclusively, would cost significantly less silicon area (even with nice accelerated MAC operations). Now sure if an FPU is required for other uses, then reusing it for this and not bother with fixed point makes sense, but when you implement both, I'm not so sure. And OTOH, if you're going to implement a dedicated "AI" coprocessor, I would personally at least consider fixed point seriously.
Thing is, as I said above, FPUs are now so ubiquitous that just getting FPU IPs to implement accelerators is likely a lot simpler - I would guess that there are a lot fewer (and good) accelerated fixed-point units available as IPs.