Simple Hardware-Efficient Long Convolutions for Sequence Modeling

Daniel Y. Fu, Elliot L. Epstein, Eric Nguyen, Armin W. Thomas, Michael Zhang +3 more
2/13/2023
cs.LG

No official code found. Best implementation: HazyResearch/safari (915 stars, Apache-2.0, last commit 2024-06-13).

Abstract

State space models (SSMs) have high performance on long sequence modeling but require sophisticated initialization techniques and specialized implementations for high quality and runtime performance. We study whether a simple alternative can match SSMs in performance and efficiency: directly learning long convolutions over the sequence. We find that a key requirement to achieving high performance is keeping the convolution kernels smooth. We find that simple interventions--such as squashing the kernel weights--result in smooth kernels and recover SSM performance on a range of tasks including the long range arena, image classification, language modeling, and brain data modeling. Next, we develop FlashButterfly, an IO-aware algorithm to improve the runtime performance of long convolutions. FlashButterfly appeals to classic Butterfly decompositions of the convolution to reduce GPU memory IO and increase FLOP utilization. FlashButterfly speeds up convolutions by 2.2$\times$, and allows us to train on Path256, a challenging task with sequence length 64K, where we set state-of-the-art by 29.1 points while training 7.2$\times$ faster than prior work. Lastly, we introduce an extension to FlashButterfly that learns the coefficients of the Butterfly decomposition, increasing expressivity without increasing runtime. Using this extension, we outperform a Transformer on WikiText103 by 0.2 PPL with 30% fewer parameters.

View on arXivView PDF

Code Implementations(1)

HazyResearch/safariCommunity100%
Apache-2.0

Convolutions for Sequence Modeling

91570C, C++Feb 14, 20232 years agoApache-2.0

Cite this paper

@article{fu2023simple,
  title  = {Simple Hardware-Efficient Long Convolutions for Sequence Modeling},
  author = {Daniel Y. Fu and Elliot L. Epstein and Eric Nguyen and Armin W. Thomas and Michael Zhang and Tri Dao and Atri Rudra and Christopher Ré},
  year   = {2023},
  eprint = {2302.06646},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2302.06646v1},
  journal = {ICML 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2302.06646.svg)](https://codeofpaper.com/paper/2302.06646)

Discussion