Multiplying Matrices Without Multiplying

Davis Blalock, John Guttag
6/21/2021
cs.LGcs.ARcs.PF

Official code: dblalock/bolt (2,522 stars, MPL-2.0, last commit 2022-10-12).

Abstract

Multiplying matrices is among the most fundamental and compute-intensive operations in machine learning. Consequently, there has been significant work on efficiently approximating matrix multiplies. We introduce a learning-based algorithm for this task that greatly outperforms existing methods. Experiments using hundreds of matrices from diverse domains show that it often runs $100\times$ faster than exact matrix products and $10\times$ faster than current approximate methods. In the common case that one matrix is known ahead of time, our method also has the interesting property that it requires zero multiply-adds. These results suggest that a mixture of hashing, averaging, and byte shuffling$-$the core operations of our method$-$could be a more promising building block for machine learning than the sparsified, factorized, and/or scalar quantized matrix products that have recently been the focus of substantial research and hardware investment.

View on arXivView PDF

Code Implementations(1)

dblalock/boltOfficial100%
MPL-2.0

10x faster matrix and vector operations

2,522173C, C++Feb 1, 20174 years agoMPL-2.0
compressiondata-miningdatabasemachine-learning

Similar Papers

Cite this paper

@article{blalock2021multiplying,
  title  = {Multiplying Matrices Without Multiplying},
  author = {Davis Blalock and John Guttag},
  year   = {2021},
  eprint = {2106.10860},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2106.10860}
}

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

Discussion