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 runsfaster than exact matrix products andfaster 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.