Original URL: http://www.theregister.co.uk/2014/02/11/netflix_cloud_brain/

Is it a bird? A plane? No – it's a CLOUD BRAIN

Netflix takes Google's neural network tech, lifts it into Amazon cloud

By Jack Clark

Posted in Cloud, 11th February 2014 00:55 GMT

Netflix has created a blueprint for how companies might use neural networks to analyze information in – you guessed it – the cloud.

The video-streaming company and long-time Amazon Web Services customer announced on Monday that it had figured out how to apply a technique pioneered by Google AI chief and Stanford Professor Andrew Ng to GPU-heavy servers rented from the Amazon cloud.

In a blog post, Netflix engineers outlined the approach the company had used to get the neural network to work on its system, and some of the tweaks it had been forced to make to a system originally outlined by Ng in June of last year.

Netflix is likely using the technology for services such as personalization – a large cost base for the company, and one whose effectiveness has a direct relationship to user retention.

Where Ng had distributed the basic machine-learning algorithm between multiple machines, Netflix instead chose to locate the full algorithm on each server since it could fit the dataset to be worked over in local memory.

"For memory-intensive algorithms such as Neural Networks it is better to distribute 'in-box' using GPUs," Netflix engineer Xavier Amatriain explained to El Reg via email. "Note that in this case you are still distributing the algorithm, but you are avoiding out-of-box costs by keeping all the computation inside the same multi-core GPU unit."

While evaluating the approach on AWS, the Netflix engineers ran into a number of problems related to dealing with peculiarities of the Nvidia CUDA kernel, discovered some further idiosyncrasies about how it worked with the Amazon cloud's networking, and got to grips with the vagaries of Amazon's freshly-installed "G2" instance types.

After doing this, the team had to come up with ways to take advantage of some of the distributed-processing possibilities of the AWS cloud, and used a selection of software packages to create a distributed task queue and cluster management system.

"Distributed cloud-based ML approaches can be applied to any problem that is related to Big Data modeling and understanding," Amatriain told us. "You can distribute ML at different levels, and at any of these levels you can think of using cloud computing as a much better solution than building the same in your own data center. Areas of application range from image and speech recognition, ad targeting, search, or personalization." ®