BookmarkSubscribeRSS Feed

Deep Learning with SAS Viya on GPU Accelerated Docker Containers

Started ‎09-08-2020 by
Modified ‎09-08-2020 by
Views 2,400

As a Datascientist at SAS, I have the opportunity to keep up with the latest technological developments in machine learning.
Recently, this means especially the development of applications based on Deep Learning. You can have a look at some recent examples here.

One of my better known examples for deep learning is the tracking of social distancing that I explained in this community article.

 

 

Today I’d like to share some insights what kind of infrastructure I’ve setup to support my daily work of developing deep learning prototypes.

 

Why Deep Learning? Customers want to analyze unstructured data

The reason is simple: customers want to analyze more and more unstructured data such as images, sound and text in addition to classic, structured data. The use cases vary a lot but in most cases they are built on Deep Learning algorithms that achieve state-of-the-art results.

 

Powerful hardware for Deep Learning

Neural networks, which form the basis of Deep Learning, are not a new development. However, one of the reasons why Deep Learning has been experiencing such a strong upswing for some time now is certainly the progress in the field of specialized hardware. Especially graphics cards with their many computing units (GPUs) form the basis for the development of state-of-the-art Deep Learning models.

 

Graphical Processing Units (GPUs) accelerate Deep Learning

Strongly parrallizable tasks, such as those involved in the computation of Convolutional Neural Networks (CNNs), are no longer performed on CPUs, but are shifted to the many specialized computing cores of the GPU. Watch this funny video from NVIDIA, to get a rough understanding why GPUs are so much faster than CPUs:

 

 

The Deep Learning framework from SAS supports the calculation on NVIDIA graphics cards. This provides significant performance advantages during training and scoring of models. In tests I have achieved performance boosts by the factor 1000x or higher. Of course this strongly depends on your network architecture as well as what hardware you’re using.

 

Quick and Dirty Deep Learning Development with Docker Containers

As a Datascientist in the presales department I develop many prototypes to show customers the magic of Deep Learning. For this reason I was looking for a way to have an executable development environment within seconds on which I can develop and run my prototypes. This environment should also be easy to setup and share with my colleagues.

 

I went through the process of creating a single docker container. This container contains all the components necessary to develop Deep Learning applications. It is based on the NVIDIA Container Toolkit, which allows the creation of GPU containers. Using one of NVIDIA’s base images, I installed a SAS Viya Programming Only and a Python environment including SAS provided Python APIs for Deep Learning development. Programming Only means that this container includes no visual interfaces, e.g. SAS Visual Analytics, because they are not needed for Deep Learning development. That way we are also reducing container image size and startup time a lot.

 

Get your hands dirty

1_L-klJwjFwLUoPyF4d7ylhA.jpeg

If you have a license for SAS Viya and are interested in deep learning, you can take a look at my GitHub repository to see how to create an executable container in a few steps.

 

SAS Viya Programming Only Docker Container with GPU acceleration

 

Once your container is up and running, feel free to browse my other GitHub repository to see what kind of applications you could develop. I’d also like to encourage you to have a look at our official examples in our Deep Learning Python API GitHub.

 

SAS and Real Time Analytics

SAS Viya is the right tool to develop and score your deep learning models. But what about analyzing streaming data such as videos?

SAS provides another solution for that: SAS Event Stream Processing and SAS Event Stream Processing on Edge (for edge devices like NVIDIA Jetsons). I’ve also developed containers for these tools and I’ll share my container setups for SAS ESP and SAS ESP on Edge in the following community articles.

 

Final Remark

Please note: This is my private work and not officially supported by SAS. Feel free to ask me any questions but don’t expect official support from SAS (yet).


Michael Gorkow | Data Scientist @ SAS Germany & CV-Enthusiast

LinkedIn | GitHub  | Medium.com 

Version history
Last update:
‎09-08-2020 12:29 PM
Updated by:
Contributors

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Free course: Data Literacy Essentials

Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning  and boost your career prospects.

Get Started

Article Labels
Article Tags