You Could Have Come Up with Kimi Delta Attention

(blog.doubleword.ai)

128 points | by AnhTho_FR 1 hour ago

16 comments

  • TrackerFF 26 minutes ago
    Machine learning could need, and probably has needed, some unified math notation for the past 15 years IMO. With that said, it was worse back in the day - when ML papers were the products of researchers from all over, you'd see some wild notation.

    Many will likely disagree with me, but inconsistent notation (across papers!) is to me friction. At least in this article the author explicitly explains the notation at the very start...that is not always the case. Rarely, even.

    EDIT: Didn't even notice the notation switch, much appreciated.

  • rekshaw 59 minutes ago
    after a cursory read, I can confidently say I could not, in fact, have come up with Kimi Delta Attention.
    • nope1000 46 minutes ago
      I don't even know most words they used in the paper haha
    • dd8601fn 6 minutes ago
      Yeah, pretty sure the “you” in “you could have” is a different “you” than “we”.
    • world2vec 58 minutes ago
      Not even close for me too.
    • vovavili 50 minutes ago
      I thought I was the only one.
      • trollbridge 24 minutes ago
        Thank goodness. There are dozens of us.
        • ma-r-s 15 minutes ago
          dozens!!!
  • neutrinobro 45 minutes ago
    You know its a doozy when the author writes a disclaimer at the top saying that bra-ket notation was chosen in order to make the algorithm and data structures clearer.
    • CodesInChaos 36 minutes ago
      One of the more annoying parts of my physics study was getting used to the new matrix multiplication notation they came up with every semester.
  • _Microft 4 minutes ago
    Side note, before you ask: yes, bra-ket notation is called like that because of the brackets.

    https://en.wikipedia.org/wiki/Bra-ket_notation

  • croemer 19 minutes ago
    LLM written for sure:

    > The identity [...] is the whole trick. The outer product is a matrix; the inner product is a number. We no longer store every past key and value. We store their summed outer products in the fixed-size state S_t.

    • geraneum 0 minutes ago
      This is what you get when you prompt claude to avoid –
    • robertclaus 8 minutes ago
      Ya, probably started with asking for a buzzy title.
  • andai 2 minutes ago
    >You Could Have Come Up With Kimi Delta Attention

    What? Little old me! Well, then, let's have a look...

    > (First paragraph)

    > A note on notation: this article defaults to bra-ket notation because (in my quantum-inspired opinion) it makes the shapes in this derivation very clear. The Math notation switch above rewrites every equation using conventional bold vectors and explicit transposes instead. In bra-ket mode, ∣ q ⟩ ∣q⟩ is a column vector, ⟨ k ∣ ⟨k∣ is a row vector, ⟨ k ∣ q ⟩ ⟨k∣q⟩ is a number, and ∣ v ⟩ ⟨ k ∣ ∣v⟩⟨k∣ is a matrix. Vectors face right by default, while keys face left when written into the linear-attention state. We work with one causal attention head and real-valued vectors, assume DeltaNet’s keys are normalized, and let the state map from key space to value space.

    Hmm... Guess not!

    • 5555watch 1 minute ago
      I love that they let you switch to a more common q'k notation!
  • Kushagra125 44 minutes ago
    The toggle is really useful. Liked it!!
  • piterrro 24 minutes ago
    At first I felt bad about not having come up with this solution. But then I realized I have problems with writing binary search by myself in JS and immediately felt better.

    Now way I could have come up with Kimi Delta Attention.

    • bee_rider 7 minutes ago
      Lots of linear algebra codes are actually “easy to write” in a way. It isn’t like conventional CS where you are always going a bunch of recursive nonsense going on. There should be mathematical relationships between all of the variables, there are well implemented libraries for the common mathematical concepts, and it is rare to need to go more than a couple loops deep (anything more complex than that should get shunted off into a library anyway).
  • _davide_ 26 minutes ago
    Loved this incremental evolution, things gets way more understandable...usually xD
  • scarmig 46 minutes ago
    I like the math vs physics toggle.
  • anshumankmr 17 minutes ago
  • spwa4 32 minutes ago
    No, you couldn't have. There are plenty of ML innovations that when push comes to shove only depend on having access to more compute, but this is one of the worst examples I've ever seen.

    I always thought that the jump from LSTM/GRU -> Attention wasn't a particularly big one. Instead of partial unroll, do a full unroll. Why not (because it's too expensive, that's why not). Every component was known, and everybody anywhere near ML knew perfectly well why NOT to try that: because you just don't have the compute to fully unroll an LSTM. From that point attention is optimized (they key-query mechanic). The big innovation is not so much the mechanism itself but realizing the parallelize-ability of it.

    It's sort of like if one would today make the "improvement" to attention to replace they key-query-value mechanic by just dropping it while making the entire context the latent space. That will outperform attention, nearly guaranteed. It'll also make even Google's cluster networks meltdown. Attention is one of those innovations that came mostly from realizing you had better hardware than everybody else and asking yourself how to use it. It's still quite the accomplishment, they had to get it working. But nobody else was really capable of making this leap.

    • leonvoss 27 minutes ago
      I agree 100%. This field is not amenable to progress from people with a pen sitting in a corner proving theorems. The math is mostly uncertain vibes and to test it you need millions of dollars of compute. Smart loners just can't.
  • asdfman123 27 minutes ago
  • mnky9800n 47 minutes ago
    why are you using braket notation?
    • leonvoss 25 minutes ago
      He has a master's degree in physics from Oxford. Also there is a toggle to normal notation. Well, CS notation. I'm not a fan of transpose marks everywhere. I like an even more mathematics notation.
  • brcmthrowaway 46 minutes ago
    I could never get this about modern machine/deep learning or even the Transformers. Yes, it's not exactly rocket science, but when I see the data flow diagrams, it's not clear what is calculated in real time or multiple steps.

    Is it really one big computation f(g(h(x)))?

    • malwrar 25 minutes ago
      Yes.

      Each token prediction is one big function call. Then you just recursively generate more tokens until run out of context or the model predicts a next token indicating end of sequence. Technically the model outputs a matrix where the last row is a probability distribution, but I’m counting sampling from it as part of the chain. Hundreds of billions of dollars has gone into just making the function fatter and gradually changing pieces here and there.

    • pyentropy 30 minutes ago
      Inference (the real time computation) and training (the computation you do when developing a model) are deeply tied by automatic differentiation.

      In a way, you train by repeatedly inferring (forward), calculating a loss (how much your model sucks with its current predictions) and then improving the model by differentiating.

      Take a look at Karpathy's micrograd repo to become more familiar with the process.

    • choilive 21 minutes ago
      What's your distinction between real time vs multiple steps? All computation is done in steps.

      Is it all one big computation? Its turtles all the way down.

    • leonvoss 32 minutes ago
      It's all vibes.
  • myshapeprotocol 58 minutes ago
    [flagged]