BLAST: Block-Level Adaptive Structured Matrices for Efficient Deep Neural Network Inference

Changwoo Lee, Soo Min Kwon, Qing Qu, Hun-Seok Kim
10/28/2024
cs.LGcs.AIstat.ML

Official code: changwoolee/BLAST (18 stars, MIT, last commit 2024-11-06).

Abstract

Large-scale foundation models have demonstrated exceptional performance in language and vision tasks. However, the numerous dense matrix-vector operations involved in these large networks pose significant computational challenges during inference. To address these challenges, we introduce the Block-Level Adaptive STructured (BLAST) matrix, designed to learn and leverage efficient structures prevalent in the weight matrices of linear layers within deep learning models. Compared to existing structured matrices, the BLAST matrix offers substantial flexibility, as it can represent various types of structures that are either learned from data or computed from pre-existing weight matrices. We demonstrate the efficiency of using the BLAST matrix for compressing both language and vision tasks, showing that (i) for medium-sized models such as ViT and GPT-2, training with BLAST weights boosts performance while reducing complexity by 70% and 40%, respectively; and (ii) for large foundation models such as Llama-7B and DiT-XL, the BLAST matrix achieves a 2x compression while exhibiting the lowest performance degradation among all tested structured matrices. Our code is available at https://github.com/changwoolee/BLAST.

View on arXivView PDF

Code Implementations(1)

changwoolee/BLASTOfficial100%
MIT

[NeurIPS 2024] BLAST: Block Level Adaptive Structured Matrix for Efficient Deep Neural Network Inference

181C++, ShellSep 27, 20241 years agoMIT
efficient-inferencelarge-language-modelsllamamatrix-factorizationmatrix-multiplication+1 more

Similar Papers

Cite this paper

@article{lee2024blast,
  title  = {BLAST: Block-Level Adaptive Structured Matrices for Efficient Deep Neural Network Inference},
  author = {Changwoo Lee and Soo Min Kwon and Qing Qu and Hun-Seok Kim},
  year   = {2024},
  eprint = {2410.21262},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2410.21262},
  url    = {http://arxiv.org/abs/2410.21262v2},
  journal = {NEURIPS 2024 2024}
}

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/2410.21262.svg)](https://codeofpaper.com/paper/2410.21262)

Discussion