Sparse Persistent RNNs: Squeezing Large Recurrent Networks On-Chip
arXiv:1804.10223
Abstract
Recurrent Neural Networks (RNNs) are powerful tools for solving sequence-based problems, but their efficacy and execution time are dependent on the size of the network. Following recent work in simplifying these networks with model pruning and a novel mapping of work onto GPUs, we design an efficient implementation for sparse RNNs. We investigate several optimizations and tradeoffs: Lamport timestamps, wide memory loads, and a bank-aware weight layout. With these optimizations, we achieve speedups of over 6x over the next best algorithm for a hidden layer of size 2304, batch size of 4, and a density of 30%. Further, our technique allows for models of over 5x the size to fit on a GPU for a speedup of 2x, enabling larger networks to help advance the state-of-the-art. We perform case studies on NMT and speech recognition tasks in the appendix, accelerating their recurrent layers by up to 3x.
arXiv commentPublished as a conference paper at ICLR 2018
References in corpus (10)
- Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding
- Deep Speech 2: End-to-End Speech Recognition in English and Mandarin
- Compressing Deep Convolutional Networks using Vector Quantization
- Pruning Filters for Efficient ConvNets
- Compressing Neural Networks with the Hashing Trick
- Learning Structured Sparsity in Deep Neural Networks
- Deep Visual-Semantic Alignments for Generating Image Descriptions
- Exploring Sparsity in Recurrent Neural Networks
- Optimizing Performance of Recurrent Neural Networks on GPUs
- Structured Pruning of Deep Convolutional Neural Networks