Brief Announcement: On the Limits of Parallelizing Convolutional Neural Networks on GPUs
This addresses the need for faster training of deep neural networks for researchers and practitioners, but it is incremental as it builds on existing frameworks and focuses on optimization rather than a new paradigm.
The paper tackles the problem of slow DNN training on GPUs by highlighting that current frameworks like TensorFlow and PyTorch execute operations serially, missing opportunities for parallelism in non-linear networks such as ResNet, and it proposes solutions to exploit this inter-operation parallelism to reduce training time.
GPUs are currently the platform of choice for training neural networks. However, training a deep neural network (DNN) is a time-consuming process even on GPUs because of the massive number of parameters that have to be learned. As a result, accelerating DNN training has been an area of significant research in the last couple of years. While earlier networks such as AlexNet had a linear dependency between layers and operations, state-of-the-art networks such as ResNet, PathNet, and GoogleNet have a non-linear structure that exhibits a higher level of inter-operation parallelism. However, popular deep learning (DL) frameworks such as TensorFlow and PyTorch launch the majority of neural network operations, especially convolutions, serially on GPUs and do not exploit this inter-op parallelism. In this brief announcement, we make a case for the need and potential benefit of exploiting this rich parallelism in state-of-the-art non-linear networks for reducing the training time. We identify the challenges and limitations in enabling concurrent layer execution on GPU backends (such as cuDNN) of DL frameworks and propose potential solutions.