BLaST: High Performance Inference and Pretraining using BLock Sparse Transformers
Patrik Okanovic, Sameer Deshmukh, Grzegorz Kwasniewski, Yi Zhu, Haruto Fujii, Sakina Fatima, Maciej Besta, Kentaro Katayama, Takumi Honda, Yusuke Nagasaka, Torsten Hoefler
TL;DR
BLaST targets reducing memory movement and hardware cost in Transformer-based models by sparsifying MLP weights with block sparsity. It combines two pruning strategies (P&G and oLLM) with a high-performance block-sparse SpMM kernel implemented in Triton to sustain accuracy while achieving large sparsity. Across eight datasets and eleven models, BLaST achieves up to $95\%$ sparsity with minimal accuracy loss, delivering up to $2.2\times$ end-to-end speedups and up to $4.45\times$ memory-footprint reductions, including substantial gains on Llama 3.2 and larger models, and demonstrates viability for both inference and pretraining workflows at scale.
Abstract
The energy consumption of large-scale ML models is dominated by data movement, shuffling billions of parameters across memory hierarchies and data centers. Sparsification offers a principled way to mitigate these costs by pruning redundant weights and activations, thereby reducing data movement. Effective sparsification to prune redundant parameters is still challenging: existing methods incur significant accuracy degradation, performance overhead, or both. We introduce (Bl)ock (a)nd (S)parse (T)ransformers (BLaST), a general, robust, and reliable method for sparsification, applicable to linear layers in all settings. Our method iteratively sparsifies weight matrices into a block sparsity pattern suitable for efficient sparse matrix-matrix (SpMM) multiplication. BLaST achieves up to 95% sparsity in MLP weights with negligible accuracy loss (majority <2.25%). We show a 2.2x inference speedup for Llama 3.2 with 16 GPUs, and up to 4.45x reduction in inference memory footprint resulting in a 2.9x reduction in GPU setup and operating costs.
