Live data from Hacker News

Viewing profile — ffast-math

ffast-math

HN member
Joined
Sun, Jun 16, 2019, 5:27 PM UTC
HN karma
83
Public activity
29 items

About ffast-math

No profile information was provided.

Recent public activity

  1. story
  2. story
  3. comment
    Comment #31805523

    I named it this in 2017 and was only worried about name collisions with other GitHub repos and ML algorithms. Also it's a backronym for Based On Lookup Tables + sounds at least som…

  4. comment
    Comment #31796637

    Nope. I'd love to though.

  5. comment
    Comment #31796615

    This master's thesis sort of does it for individual layers, but it doesn't have any fine-tuning yet so it completely wrecks the accuracy: https://github.com/joennlae/halutmatmul . …

  6. comment
    Comment #31796358

    No ML frameworks implement it yet, though I'd be happy to work with people from the PyTorch/TF/JAX/CUDNN/CUTLASS/etc. teams (or volunteers) if anyone wants to make this happen. Als…

  7. comment
    Comment #31796340

    IMO it would be super cool and I hope someone does it. There are a lot of interesting tradeoffs around which techniques to use for which matrix sizes and under which assumptions ab…

  8. comment
    Comment #31796330

    email. @mosaicml.com

  9. comment
    Comment #31796200

    Thanks for posting it! It should be possible to get large speedups on CPUs, but the trick will be gradually approximating each of the layers in the model (see my reply to sibling c…

  10. comment
    Comment #31796127

    Yes. It's another research project to make this happen, but I think it would be fairly straightforward. The issue is that you can't backprop through the assignment step, so you get…

  11. comment
    Comment #31796116

    We found sparse, truncated PCA to be the most competitive baseline. We beat it by a lot (see the paper [1]), but the other big drawback is that trading off the rank vs sparsity was…

  12. comment
    Comment #31796086

    Exactly. You can run it on sparse inputs. It's just that our implementation doesn't exploit the sparsity, so we don't claim that it will work better.

  13. comment
    Comment #31796076

    Definitely. On CPUs, you could make this 2x faster pretty easily with just another execution port for vpshufb / vtbl and a 4bit lo and hi unpack instruction. Though the real speedu…

  14. comment
    Comment #31796007

    There's definitely a tradeoff between speed and accuracy. We characterize this for various problems in the paper ( https://arxiv.org/pdf/2106.10860.pdf ), but tl;dr is that it spee…

  15. comment
    Comment #31795993

    Author here. Ask me anything--happy to answer questions. Also, if you like this kind of work, you might like what I've been building for the past year: Composer [1]. It speeds up n…

  16. comment
    Comment #28401043

    I think we only claim to be able to preprocess a matrix at "up to" 100GB/s/core. The overall matrix product will take longer and depend on the matrix shapes. To simplify Section 1.…

  17. comment
    Comment #28400949

    We have a generalization guarantee in Section 4.5. It's not especially tight though; in practice, the errors from different codebooks tend to be mostly independent, and you get nic…

  18. comment
    Comment #28400927

    Almost certainly not, sadly, unless maybe there's a ton of correlation in the input and you can tolerate quite a bit of error.

  19. comment
    Comment #28383810

    So this misses a few aspects of why the method works: - You can't actually get a speedup from the proposed approach. You'd need a lookup table of size b^2 to multiply two b-bit num…

  20. comment
    Comment #28383738

    I'm actually not quite sure what you mean by breaking down into two-dimensional operations. We use operations on pairs of vectors, but nothing is assumed to be two-dimensional, and…

  21. comment
    Comment #28383619

    You could still optimize the prototypes, so fine-tuning with this in place would be possible (see, e.g., [1]). But we don't yet have data on how well this would work using our exac…

  22. comment
    Comment #28383573

    Yes, basically correct. A couple notes/clarifications for other readers: - The rows a of A are "random," but in the sense of being drawn from some distribution for which we have a …

  23. comment
    Comment #28376606

    We compared to several frequent directions variants, Fast Johnson–Lindenstrauss, some other hashing-based methods, and a bunch of other approximate matrix multiplication approaches…

  24. comment
    Comment #28376541

    There's been some work on doing adds instead of multiplies (e.g., https://arxiv.org/abs/2012.03458 ). And I think float8 will roughly be doing this under the hood. Personally, I'm …

  25. comment
    Comment #28376480

    Great observations. I see this paper as the first in a three-part series. The second part is specializing it for convolution (which has additional structure to exploit), and the th…