Fast Generation for Convolutional Autoregressive Models
This addresses a critical bottleneck for deploying state-of-the-art models in production environments, though it is an incremental improvement on existing methods.
The paper tackles the problem of slow generation in convolutional autoregressive models by proposing a method that caches hidden states to avoid redundant computations, achieving speedups of up to 21× for Wavenet and 183× for PixelCNN++.
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.