Bolt: Faster matrix and vector operations that run on compressed data
1–10 of 43 posts
Re: Bolt: Faster matrix and vector operations that run on compressed data
#2Re: Bolt: Faster matrix and vector operations that run on compressed data
#3Re: Bolt: Faster matrix and vector operations that run on compressed data
#4The code for Maddness is in the same github repo if you search for "Mithral".
SIMD instructions can work wonders in the right context.
Re: Bolt: Faster matrix and vector operations that run on compressed data
#5Maddness is their more recent work and yields 100x speedups: https://arxiv.org/pdf/2106.10860.pdf The code for Maddness is in the same github repo if you search for "Mithral". SIMD instructions can work wonders in the right context.
Also it looks like the optimization is related to running operations on a compressed representation, for the 10x vs 100x speedup, is there a tradeoff between speed and accuracy, or is that extra degree of magnitude just from bringing SIMD into the picture?
Re: Bolt: Faster matrix and vector operations that run on compressed data
#6Wow, this is fascinating. I wonder if hardware could be designed to do this really efficiently.
Re: Bolt: Faster matrix and vector operations that run on compressed data
#7This looks good. Why do the vectors have to be dense? Just because of overhead/speed gain being the lowest? Just asking if you could use it universally for all operations if I don't know the density.
Oh, wait.
Re: Bolt: Faster matrix and vector operations that run on compressed data
#8"If you ... and can tolerate lossy compression"
What does this mean? I wouldn't have thought that matrix operations can be lossy. Does anybody know to what extend they are lossy and where this would be acceptable?
Re: Bolt: Faster matrix and vector operations that run on compressed data
#9Maddness is their more recent work and yields 100x speedups: https://arxiv.org/pdf/2106.10860.pdf The code for Maddness is in the same github repo if you search for "Mithral". SIMD instructions can work wonders in the right context.
It's incredible that there's actually this much room to improve. How does this compare to GPU implementations? Also it looks like the optimization is related to running operations on a compressed representation, for the 10x vs 100x speedup, is there a tradeoff between speed and accuracy, or is that extra degree of magnitude just from bringing SIMD into the picture?
Re: Bolt: Faster matrix and vector operations that run on compressed data
#10THis sounds and looks impressive, but this part struck me: "If you ... and can tolerate lossy compression" What does this mean? I wouldn't have thought that matrix operations can be lossy. Does anybody know to what extend they are lossy and where this would be acceptable?
I don't know what amount of losses we are talking about but in deep learning, several operations don't require a crazy level of compression, and it led to some lightweight float implementations (bfloat, on 16 bits, being the most common but there are also 8 bits floats for extreme cases)
If that's really a 10-100x speed increase at the cost of a bit of loss, I am sure machine learning will love it.