• sunbeam60@feddit.uk
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    2
    ·
    2 days ago

    Exactly this. If you made an LLM that had deterministic code output then I’m all up for saying “AI is a compiler for human language”. But until then AI is most definitely not a compiler.

      • sunbeam60@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        1 day ago

        No. Floating point arithmetic and ordering of operations won’t make 0.0 deterministic.

        • theunknownmuncher@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          22 hours ago

          Um… yes. Matrix multiplication is deterministic, there’s nothing non-deterministic about an LLM, unless you artificially add randomness to them, like randomly selecting 1 of the top N ranked tokens.

          • sunbeam60@feddit.uk
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            11 hours ago

            The function is deterministic, agreed. The implementation is almost always not. Hardware floating point addition is not associative. So a GPU kernel that splits a reduction differently (ie interleaving it with anything else, like running your graphics, or sharing your work with other users on the same hardware) will produce different results over different runs even at temperature 0.0.

            Determinism is almost always impossible when dealing with floating point on a multi-process/multi-user system.

            There are attempts to create batch invariant language models (https://github.com/thinking-machines-lab/batch_invariant_ops) but all the major ones are not.