Wednesday, May 22, 2019

Simple, Scalable, Containerized Deep Learning using Nauta

Deep learning is hard. Between organizing, cleaning and labeling data, selecting the right neural network topology, picking the right hyperparameters, and then waiting – hoping – that the model produced is accurate enough to put into production. It can seem like an impossible puzzle for your data science team to solve.

But the IT aspect of the puzzle is no less complicated, especially when the environment needs to be multi-user and support distributed model training. From choosing an operating system, to installing libraries, frameworks, dependencies, and development platforms, building the infrastructure to support your company’s deep learning efforts can be even more challenging than the data science. Add on top of that, the rapid pace of change in deep learning software and supporting libraries – many of which change monthly – creates a recipe for IT headaches.

Containerization helps solve some of the IT complexity. Instead of your IT staff cobbling together dozens of libraries and dependent software packages to make your deep learning framework of choice function, you can download pre-configured containers which handle all of that. Or you can have your data scientists build custom containers to meet their specific needs. However, your IT department must still build and configure infrastructure for orchestrating those containers, while providing a resilient, scalable platform for your data science team to be as productive as possible.



Nauta Deep Learning Platform


Nauta software seeks to solve many of the problems associated with building container orchestration infrastructure for deep learning. Nauta is a containerized deep learning platform which uses Kubernetes for container orchestration. It provides an intuitive command-line interface for building, running, curating and evaluating experiments, and it includes must-have features such as Jupyter notebooks and Tensorboard.

We’ve been using Nauta in the Dell EMC HPC & AI Innovation Lab, testing its features, functionality, extensibility, and ease of use. We use Nauta to run many of our cutting-edge deep learning research projects, including scalable convolutional neural network (CNN) training on chest xrays and ultra-scalable multi-head attention network training for language translation. It allows us to go from early proof-of-concept in Juypyter notebooks – to high-performance distributed training using the MPI-based Horovod framework for TensorFlow – to wide hyperparameter analysis for producing the most accurate model possible. Best of all, it’s a scalable platform built on top of Kubernetes and Docker, allowing us to easily share and replicate work between team members.

In addition to training neural networks, Nauta also provides a mechanism for testing deployments of trained models. This allows us to evaluate model accuracy, benchmark performance, and test reduced-precision quantization on new hardware, such as the 2nd-Generation Intel® Xeon® Scalable processor with Intel® Deep Learning Boost. Nauta allows inference on both batches of data, as well as streaming inference using REST APIs. And while Nauta isn’t expressly designed for production model deployment, the ability to evaluate trained models and experiment with reduced precision is an important component of the overall model development and deployment process.

Looking Forward


The Dell EMC HPC & AI Innovation Lab team continues to use, evaluate, report and resolve issues, and recommend improvements to Nauta. Select customers are also experimenting and evaluating Nauta on Dell EMC hardware, and Nauta will be a central component of future Ready Solutions. In the end, your company’s AI efforts are only going to be successful if the infrastructure is ready to support your data science team. Nauta provides an on-ramp for your IT organization and your data science team to get started training in an on-premises containerized environment quickly and easily.

Sunday, April 14, 2019

Data & Deep Learning: Embracing the Art of the Possible

I’m often surprised to find companies that continue to invest in data strategies that fail to respond to their business needs.  They are taking a page from an old playbook and expect it to work in their new, rapidly evolving environments.  They’re trying to forge a new path with an old map, which won’t help them keep pace with competitors, continue to innovate or ultimately grow their businesses. Companies today need to adopt a new mentality when it comes to data analytics. They should work to imagine and embrace the art of the possible. In doing so, they should ask themselves: What can we do now that we couldn’t do before using new technologies and approaches? It could mean the difference between market leadership or future failure.

As a company’s data sets continue to grow in size and vary in nature, the data management systems in place must allow the organizations the flexibility to grow and change with it.  Beyond just the data, company’s also need to be able to execute new techniques to maximize the insights contained within the data, to promote better, faster business decisions, forge new paths forward and create new revenue streams.

One leading technique is Artificial Intelligence (AI) – a concept that has been around since the 1960’s, when AI pioneers began predicting that machines would discern and learn tasks without human intervention. They would quite literally be able to ‘think’ for themselves. Fast forward to 2025 there will be 163 zettabytes of data [1] with an estimated 80% that is no longer human parsable. Those predictions are not just a reality, but also a requirement.  With all of this data spanning every industry, the use cases for AI are endless. But, as you look across those use cases there are a common core of AI techniques applied behind each application.

Take Deep Learning, for example – a branch inside of machine learning. Deep learning differs from traditional algorithms by using neural networks to uncover features and solve problems.  Organizations have quickly adopted Deep Learning because of the ability to get insights from images, video, audio, and free text.  The most common DL methods we come across are:

  • Image detection, allows you to detect whether or not something is present
  • Image classification, allows you to classify what type of thing is present
  • Natural language processing, allows you ask the meaning and intent to words and text
  • Speech recognition, allows you transform audio across languages into a common form for NLP
  • Segmentation, allows you to determine to what extent something is present
  • Prediction, allows you to ask what is the likely outcome
  • Recommendation, allows you to get suggested outcomes
  • Machine generated images and video used in the entertainment industry

Figure 1 below gives a snapshot summary of some of these methods and shows how they can be directly applied to a business case with measurable value. When applied individually or combined these methods provide the foundation for the ‘Art of the Possible’, making business applications that were impossible before, finally possible.

While the concepts of AI and Deep Learning still seem untouchable to many, we at Dell EMC are constantly finding new ways to bring AI to the forefront.  We are taking our daily learning and turning it into validated infrastructure solutions that will make AI simpler, faster, and more accessible.   Our family of validated Dell EMC Isilon and NVIDIA based solutions offer flexibility and informed choice by pairing high performance, high bandwidth GPU accelerated compute with high performance, scale-out flash storage.  This puts our customers in the driver’s seat with forgettable scale-out infrastructure that makes nothing seems out of the question