Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by dlubarov on Wednesday April 05, 2017 @01:37PM
(#14043902)
Anecdotally, it seems most models can be quantized to 8 bits without much loss of accuracy, and fixed point arithmetic requires much less hardware. Training is still done with floating point though.
[ Parent
| on HN ]
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by ChuckMcM on Wednesday April 05, 2017 @01:58PM
(#14044093)
This, when you get right down to it a lot of models do fine with only 256 unique weights.
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by alttab on Wednesday April 05, 2017 @04:04PM
(#14045108)
Agreed - however as we progress I expect a comment like this to be akin to Bill Gate's 64K comment.
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by mannigfaltig on Wednesday April 05, 2017 @06:57PM
(#14046462)
The brain appears to spend about 4.7 bits per synapse (26 discernible states, given the noisy computation environment of the brain); so it seems to be plenty enough for general intelligence. This could, of course, merely be a biological limit and on silicon more fine-grained weights might be the optimum.
Here is another paper demonstrating very good results with just 6 bit gradients: https://arxiv.org/abs/1606.06160
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by ChuckMcM on Wednesday April 05, 2017 @04:40PM
(#14045419)
Almost certainly, and depths would have to increase. Like all series expansions the coefficients on later terms have less and less impact so their dynamic range is less and less important to the final value. But the dynamic range on the initial terms is proportionately important. I expect the dynamic range of the weights will turn out to be logarithmic with respect to overall depth of the network.
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by gcr on Wednesday April 05, 2017 @03:27PM
(#14044805)
Yeah...you could implement 16-bit multiplication/addition as two 8-bit multiplications plus carry... so worst case, if you want 16-bit multiplies, you implement it yourself
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by stephencanon on Wednesday April 05, 2017 @04:54PM
(#14045528)
Four multiplications, not two (three if you only need the low 16b of the result).
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by yorwba on Thursday April 06, 2017 @03:57AM
(#14048758)
You can get the full 32-bit result in only three multiplications using https://en.wikipedia.org/wiki/Karatsuba_algorithm , but it requires more additions.
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by stephencanon on Thursday April 06, 2017 @07:56AM
(#14049738)
Yeah, in practice Karatsuba isn't a performant option for small operands unless your multiplier is catastrophically slow. (And it still doesn't get you to two multiplications.)
Re:An In-Depth Look at Google's Tensor Processing Unit Archi...
by koja86 on Thursday April 06, 2017 @05:03AM
(#14048996)
There are hints that even less than 8 bits per weight might be usable (for certain cases and on custom hw). Not sure if it's practical but it is definitely interesting.
https://arxiv.org/pdf/1502.02551.pdf
https://arxiv.org/pdf/1610.00324.pdf
I wanted to have some basic idea about hardware so I did some "research" (googling) and ended up giving a short informal talk. My slides with some links are here: