‹ BackHN Continuity

Thread

PSSA: A non-transformer language model written from scratch in Rust

89 points · 38 comments · sparticle62

  1. janalsncm · · focus · HN ↗
    OP, you should not have written this in Rust. It should be in PyTorch, which is by far the most popular. We can’t tell if this architecture is good or whether there is a problem in your implementation.

    You can test the whole thing for free on a GPU with Google Colab. Test both the transformer and your new architecture on a larger dataset. Something that maxes out the GPU for an hour each run.

    Also, the readme mentions keeping the same optimizer schedule which sounds nice at first but they are completely different architectures. The loss is high on the transformer, did you try raising the learning rate on it?

    In general I’m interested in parameter efficient architectures. I don’t think transformers are optimal, and indeed many improvements have been made to vanilla transformers. But if you have an idea for something better you need to show it.

    1. yjftsjthsd-h · · focus · HN ↗
      I dunno, I could probably be convinced to try a new tool purely on the basis of not having to deal with installing pytorch
      1. intoXbox · · focus · HN ↗
        I’m curious, what’s the criticism for PyTorch?
        1. tomtom1337 · · focus · HN ↗
          One criticism is that you have to install the same package, torch, but from different Python indexes in order to install the cpu version or gpu version, on Linux. On windows, `pip install torch` gets you the cpu version. On linux, that gets you a ton of Nvidia extras that take a lot of space.

          GPU support should really be a optional extra eg `torch[gpu]` or `torch[nvidia]`.

          1. coredog64 · · focus · HN ↗
            I would argue that we need a `torch[stubs]` package (or similar) that doesn't install any form of libtorch. The CPU version of libtorch is 160MB compressed and 400MB extracted.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.