Deep learning has taken off because organizations of all sizes are capturing a greater variety of data and can mine bigger data, including unstructured data. It’s not just large companies like Amazon, SAS and Google that have access to big data. It’s everywhere. Deep learning needs big data, and now we have it.
Another reason deep learning is revitalizing AI is that it provides a universal set of algorithms that can be applied to many use cases and applications, including:
- Conversational assistants on your cell phone likely use a recurrent neural network (RNN) to translate your speech to text. RNNs are also very good for analyzing time series data.
- Image classification, object detection and segmentation are all performed with convolutional neural networks (CNN). CNNs for these uses are the standard.
Deep learning also saves data scientists time by doing a good bit of the feature engineering automatically.
So, what is a deep learning model? It’s essentially a neural network with many layers. And these models are enormous in size—often with more than 50 million parameters. Deep learning craves big data because big data is necessary to isolate hidden patterns and to find answers without over-fitting the data. With deep learning, the more data you have, the better the results.
Of course, big models also require big compute on big data.
My coworker Xiangqian Hu says, there are three key reasons why deep learning is popular — and they all start with the letter B: big data, big models, and big computations. Big data requires big modelling and big modelling requires big computations.
The three Bs also create three challenges for deep learning:
- Big data is expensive to collect, label, and store.
- Big models are hard to optimize.
- Big computations are often expensive.
At SAS, we're focusing on new ideas to overcome these challenges and make deep learning more accessible to everyone.
Understanding how deep learning works
Deep learning has two fundamental operations: a forward and a backward propagation pass. Both operations are essentially matrix multiplications. Graphical processing units (GPUs) are particularly adept at processing matrices, and that’s why GPUs have become the default hardware for training deep learning models.
GPUs utilize parallel architecture. While a central processing unit (CPU) is excellent at handling one set of very complex instructions, a GPU is very good at handling many sets of very simple instructions. With a good, solid GPU, data scientists can iterate over designs and parameters of deep networks, and run experiments in days instead of months, hours instead of days, minutes instead of hours. GPUs provide an opportunity for better accuracy, quicker results, smaller footprint and lower power.
SAS and NVIDIA: the perfect match
When SAS began developing deep learning software, we looked to the industry leaders for GPU compute needs. It just made good business sense for SAS and NVIDIA to team up, so we began working together informally around 2011.
“The memory on board and the compute power delivered by the devices of that time did not match the needs of SAS software,” recalls Ken Gahagan, Director of Enterprise Computing Management, SAS R&D, indicates. “By 2014 the devices were becoming much more interesting, but it was the Pascal architecture that hit the market in 2016 that provided both the memory and compute capability that matched SAS needs in the deep learning space. “
Partnering with NVIDIA has helped optimize SAS deep learning scalability. Xiangqian Hu, who manages deep learning development at SAS, stated that “Early access to hardware and libraries and having access to NVIDIA engineers and developers has been a huge advantage. We get the benefit of their insight and experience.”
The newest NVIDIA architecture includes specialized programming and chip cores, plus enhanced processors to calculate millions of operations per second. The tensor core technology makes an ideal AI architecture.
The SAS Deep Learning toolkit — part of SAS® Visual Data Mining and Machine Learning—provides a comprehensive and open set of machine learning libraries. Since SAS deep learning algorithms adapt to different GPU architectures, the only requirement is that all GPU devices on the same compute node are homogeneous. SAS deep learning can engage Tensor Cores on NVIDIA GPUs whenever permissible. Enabling conditions must be met for batch size, data dimensions, and data types.
Deploying deep learning models
After a deep learning model is developed, trained, and — most importantly — tested for generalization, you have at least two options for inferencing.
- Use SAS® Cloud Analytic Services to apply deep learning to a new table loaded in memory.
- Score streaming events in the cloud, on premise, or at the edge with SAS Event Stream Processing.
In both cases, the SAS analytic store format is a compressed file that stores the model definition and helps make deploying these big models easier.
For example, we worked closely with development partner Scisports to build a YOLO algorithm for football player tracking and identification. All the YOLO models are stored in the analytic store format and deployed using the SAS Event Stream Processing engine.
SAS also supports Basic Linear Algebra Subprograms (BLAS) on NViDIA GPUs. BLAS provides the building blocks for doing basic vector and matrix operations.
We’ll keep you updated on future machine learning algorithms and SAS workloads that can benefit from GPU processing as they become available.