Efficient Content-Based Sparse Attention with Routing Transformers

12 Mar 2020  ·  Aurko Roy, Mohammad Saffar, Ashish Vaswani, David Grangier ·

Self-attention has recently been adopted for a wide range of sequence modeling problems. Despite its effectiveness, self-attention suffers from quadratic compute and memory requirements with respect to sequence length. Successful approaches to reduce this complexity focused on attending to local sliding windows or a small set of locations independent of content. Our work proposes to learn dynamic sparse attention patterns that avoid allocating computation and memory to attend to content unrelated to the query of interest. This work builds upon two lines of research: it combines the modeling flexibility of prior work on content-based sparse attention with the efficiency gains from approaches based on local, temporal sparse attention. Our model, the Routing Transformer, endows self-attention with a sparse routing module based on online k-means while reducing the overall complexity of attention to $O\left(n^{1.5}d\right)$ from $O\left(n^2d\right)$ for sequence length $n$ and hidden dimension $d$. We show that our model outperforms comparable sparse attention models on language modeling on Wikitext-103 (15.8 vs 18.3 perplexity) as well as on image generation on ImageNet-64 (3.43 vs 3.44 bits/dim) while using fewer self-attention layers. Additionally, we set a new state-of-the-art on the newly released PG-19 data-set, obtaining a test perplexity of 33.2 with a 22 layer Routing Transformer model trained on sequences of length 8192.

PDF Abstract

Results from the Paper


Ranked #5 on Image Generation on ImageNet 64x64 (Bits per dim metric)

     Get a GitHub badge
Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Image Generation CIFAR-10 Routing Transformer (12 layers) bits/dimension 2.950 # 26
Language Modelling enwik8 Routing Transformer (12 layers) Bit per Character (BPC) 0.99 # 12
Image Generation ImageNet 64x64 Routing Transformer Bits per dim 3.43 # 5
Language Modelling WikiText-103 Routing Transformer Test perplexity 15.8 # 11

Methods