Recently, Raj Verma (President and COO of Hortonworks) spoke to Jim McHugh from Nvidia at the DataWorks Summit keynote in San Jose (video). Jim began by talking about how parallel processing that is used in gaming is also essential to deep learning. And the lifeblood of deep learning is data. With its insatiable desire for data, deep learning is best suited to customers that have lots and lots of data and, naturally, Hortonworks customers come to mind. The paradigm shift comes to how data at scale is the new way to develop artificial intelligence applications — or how it is used to train new models that are the critical component of these applications.
What are the applications of machine learning? Jim McHugh gave two examples: healthcare and autonomous cars. In healthcare, we are seeing models that are better at predicting patient outcomes than health practitioners. For example, deep learning models can be better at recognizing images than radiologists. In autonomous cars, we are seeing applications of a variety of types of models: some are responsible for perceiving (for example, detecting signs), others for modeling the behavior of other cars on the road, and still, others learn from the human drivers how to actually drive a car.
The key takeaway here is that none of the rules are hard-coded, but rather they evolve through incremental experience or exposure to massive amounts of examples.
Other hot machine learning examples that Jim mentioned were fraud detection, customer service (by understanding customer sentiment and recommending the next best action, for example, the right person or product), deep insights on asset and supply management, smart cities and drone delivery. And what he really stressed, was that before any model training can take place, data preparation and data organization are critical, pointing to the Hortonworks Data Flow (HDF) and Hortonworks Data Platform (HDP) that together manage the entire data lifecycle, from the edge all the way to the data center, on-prem, in the cloud, or in a hybrid architecture of the two. Only then applying Nvidia’s powerful GPUs to train Deep Learning models to drive new insights makes sense.
Key Enablers Behind Deep Learning
There are three key enablers driving Deep Learning:
- New Graphical Processing Units (GPUs) and optimized architectures.
- Maturing open-source frameworks.
- Ability to access and process all data – Data Lake 3.0.
New Graphical Processing Units (GPUs) and Optimized Architectures
While typical machine learning, such as linear regression, random forest etc., can take place using a cluster of powerful servers with multi-core CPUs, deep learning has much heavier processing requirements. This is where new graphical processing units (GPUs) with 1000s of processing cores come into play. This is why IBM has recently released PowerAI with NVLink optimizing GPU performance for key open source deep learning frameworks. And the competition is doing the same by focusing on removing disk, memory, and CPU bottlenecks, and releasing faster-and-faster GPU cards with tens of TeraFlops per card computation capability. Ultimately, faster processing at a lower cost allows more companies to develop their own unique deep learning solutions.
Maturing Open-Source Frameworks
The ecosystem of open-source frameworks for deep learning is also fast-maturing. TensorFlow (Google) has seen the highest spike in community contributions over the past year, while others have their champions and large companies behind them, such as Caffe (Yahoo!), CNTK (Microsoft), MxNet (Amazon), Torch(Facebook), Theano, Chainer and others. Keras, which is a high-level API written in python that can run on top of TensorFlow, CNTK or Theano, was developed with a focus on enabling fast experimentation and has seen a wide adoption — “being able to go from idea to result with the least possible delay.”
Ability to Access and Process All Data: Data Lake 3.0
Since data is the lifeblood of deep learning, it only makes sense to train models where the data resides. With Hadoop 3.0, YARN will enable running all types of clusters and mix CPU and GPU intensive processes. For example, by integrating TensorFlow with YARN an end-user can seamlessly manage resources across multiple Deep Learning applications and other workloads, such as Spark, Hive or MapReduce. Check out this blog for more details on Data Lake 3.0.