12 ms·
Doing a forward pass for every sample sounds like it would be prohibitive for real-time applications.
by teddyknox 10y ago
Doing a forward pass for every sample sounds like it would be prohibitive for real-time applications.
- nicklo 10y agoIt absolutely is. DeepMind reported that 1 second of audio generation takes about 90 minutes to generate.
- throwawaymsft 10y agoAssuming it's computation bound, it's a factor of 5400 (~13 doublings in CPU power required to get to real-time, assuming no algorithmic improvements).
- mattnewton 10y agoDo they mention it was CPU trained? I assumed GPU. If it was CPU trained, I wonder what the operations keeping it off the GPU were?
- Houshalter 10y agoGoogle has special neural net ASICs now.
- ogrisel 10y agoGoogle never stated they use those to train models as far as I know. It seems that they are primarily used to spare energy when deploying trained models at scale.
- Houshalter 10y agoTheres no reason they couldn't use them to train, as long as they can account for the lower precision operations. I think it would be much cheaper to train on them, at that scale anyway.
- dharma1 10y agoAfaik the Google TPU does inference only, at 8 bits. I don't think it's possible to train a neural network at 8 bit precision at this point in time. FP16 works for training though, and is twice as fast as FP32 on certain nvidia chips
- Houshalter 10y agoBackpropagation can work with any precision, as long as you use stochastic rounding (so that the rounding errors are not correlated.) Without stochastic rounding even 16 bits will have rounding error bias. http://arxiv.org/abs/1412.7024 http://arxiv.org/abs/1412.7024
- dharma1 10y agoOK. I was going by this - https://petewarden.com/2016/05/03/how-to-quantize-neural-networks-with-tensorflow/ https://petewarden.com/2016/05/03/how-to-quantize-neural-net... I haven't seen 8bit training implemented in any (public) frameworks yet - that's not to say it's not possible. If it works then that's great, especially for specialised hardware.
- jcannell 10y agoThat doesn't imply they can run WaveNet yet - for inference this net is sort of worst-case serial. Their TPU ASIC is almost certainly highly parallel, like a GPU - actually has to be that way for energy efficiency (which is it's claimed benefit). Wavenet actually looks like it could possibly have been designed to run on CPUs in production, at least after they can further optimize it some. Sampling is super slow right now because it requires an enormous number of tiny dependent TF ops and thus kernels that have huge overhead for tiny amounts of work. A custom implementation could probably circumvent that by evaluating all the layers sequentially in local cache on a fast CPU. Or they just designed it without much concern for production plausibility yet.
- Houshalter 10y agoI'm not sure how this algorithm is serial. The neural net layers still involve huge convolutions that can all be done in parallel.
- jbpetersen 10y agoBuilding an ASIC for it would be another option to speed things up on the computation side.
- mdsteph 10y agoIf I'm not mistaken, it seems that the current limitation is that it needs to be produced sequentially for a dependent sequence of audio, perhaps some independent sentences can be run simultaneously using copies of the net assuming no memory limitations. I wonder if it's already possible to create an auidobook for instance in reasonable time.
- Itsdijital 10y agoWas that in the paper? I was looking for a source for it last night but couldn't come up with it
- nshm 10y agoWhy would a honest researcher mention downsides of his work in a paper. No, it was on twitter https://www.reddit.com/r/MachineLearning/comments/51sr9t/deepmind_wavenet_a_generative_model_for_raw_audio/d7f6ejp https://www.reddit.com/r/MachineLearning/comments/51sr9t/dee...
- confluence 10y agohttps://news.ycombinator.com/item?id=12463263 https://news.ycombinator.com/item?id=12463263 Looks like the source deleted their tweet.
- lallysingh 10y agoCan we just use 90 cores?
- c3534l 10y agoWe're still a couple of papers before we the computation down to a reasonable amount. Or eventually Moore's Law will take care of it. It might have applications that aren't real-time, too. I'm writing a video game in my spare time, and I was wondering how I would do the foley. If I could feed in some sounds and synthesize a library of sound effects that all sound different enough that it won't be repetitive to hear that same exact footstep sound for the entire game, then I consider that a win. So, you know, this is cutting edge research we're talking about.