←back to thread

370 points ferriswil | 5 comments | | HN request time: 0.851s | source
1. robomartin ◴[] No.41890056[source]
I posted this about a week ago:

https://news.ycombinator.com/item?id=41816598

This has been done for decades in digital circuits, FPGA’s, Digital Signal Processing, etc. Floating point is both resource and power intensive and using FP without the use of dedicated FP processing hardware is something that has been avoided and done without for decades unless absolutely necessary.

replies(3): >>41890331 #>>41890498 #>>41890812 #
2. ujikoluk ◴[] No.41890331[source]
Explain more for the uninitiated please.
replies(1): >>41978807 #
3. ausbah ◴[] No.41890498[source]
a lot of things in the ML research space are rebranding an old concept w a new name as “novel”
4. fidotron ◴[] No.41890812[source]
Right, the ML people are learning, slowly, about the importance of optimizing for silicon simplicity, not just reduction of symbols in linear algebra.

Their rediscovery of fixed point was bad enough but the “omg if we represent poses as quaternions everything works better” makes any game engine dev for the last 30 years explode.

5. robomartin ◴[] No.41978807[source]
Not sure there's much to explain. Using integers for math in digital circuits is far more resource and computationally efficient than floating-point math. It has been decades since I did the math on the difference. I'll just guess that it could easily be an order of magnitude better across both metrics.

At basic level it is very simple: A 10 bit bus gives you the ability to represent numbers between 0 and 1 with a resolution of approximately 0.001. 12 bits would be four times better. Integer circuits can do the math in one clock cycle. Hardware multipliers do the same. To rescale the numbers after multiplication you just take the N high bits, where N is your bus width; which is a zero clock-cycle operation. Etc.

In training a neural network, the back propagation math can be implemented using almost the same logic used for a polyphase FIR filter.