Fast Generation for Convolutional Autoregressive Models

Convolutional autoregressive models have recently demonstrated state-of-the-art performance on a number of generation tasks. While fast, parallel training methods have been crucial for their success, generation is typically implemented in a naïve fashion where redundant computations are unnecessarily repeated. This results in slow generation, making such models infeasible for production environments. In this work, we describe a method to speed up generation in convolutional autoregressive models. The key idea is to cache hidden states to avoid redundant computation. We apply our fast generation method to the Wavenet and PixelCNN++ models and achieve up to $21\times$ and $183\times$ speedups respectively.
Submitted 20 Apr 2017 to Learning [cs.LG]
Published 21 Apr 2017
Subjects: cs.LG cs.CV stat.ML
Author comments: Accepted at ICLR 2017 Workshop
http://arxiv.org/abs/1704.06001
http://arxiv.org/pdf/1704.06001.pdf