• jasory@programming.dev
    link
    fedilink
    arrow-up
    15
    arrow-down
    1
    ·
    2 days ago

    Don’t compilers have some guarantee of behaviours? I.e even if you don’t know exactly what instructions and order the compiler generates there is a guarantee that it is computationally/mathematically equivalent to the statements you wrote. Otherwise it would be a pretty terrible compiler. That’s a pretty big jump to writing instructions you don’t understand, since LLMs can’t make the same guarantees about a prompt/request.

      • bold_omi@lemmy.today
        link
        fedilink
        arrow-up
        1
        ·
        9 hours ago

        I am curious about the downvotes; what I said is factual. LLMs use random numbers in deciding output, so they are not deterministic.

    • timochka@lemmy.zip
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      2 days ago

      Tell me you weren’t around for the early days of compiler development without telling me you weren’t around for the early days of compiler development…

      (Actually, for niche architectures LLVM is also pretty bug-riddled. Maybe with AI we can finally fix some of that.)

      • Mikina@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 day ago

        What was the non-determinism in compilers? Honest question. Like, where does it comes from?

        If you had a bug in a compiler, and a code that caused it, would it, for the same input and architecture only show some of the time? Does it included randomness in how it handles output?

        Being bug-ridden is not the same as non-determinstic, if you can reproduce the bug everywhere and thus fix it, so I’m honestly curious where would the non-determinism of compilers come from.

        • timochka@lemmy.zip
          link
          fedilink
          arrow-up
          2
          arrow-down
          2
          ·
          1 day ago

          Firstly, non-determinism isn’t nearly the gotcha you think it is - it’s trivial to make an LLM deterministic by just passing one parameter to the inference engine.

          Secondly, nothing is non-deterministic in a strict sense on any traditional computer architecture (including the ones LLMs run on). Given all the inputs, and all the algorithms I can recreate the output; what makes the output ‘non deterministic’ is the complexity of the input and the feasibility of doing that. Frankly, compilers come pretty close to reaching the necessary complexity to be practically non-deterministic; anyone who had never spent days banging their head against code that works perfectly with debug enabled but fails utterly when compiled with release optimisations, but only when two logically entirely unrelated pieces of code happen to be written in a particular order, and then only if interrupts are enabled on the target… Well, anyone who hasn’t been through that has no business calling themselves a software engineer - and certainly no business telling other software engineers what tools they are allowed to use.

          Honestly, a bunch of wets brought up on PHP and Javascript and managed runtimes now thinking they’re qualified to dictate what Real Programming entails is just laughable.

          • tyler@programming.dev
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            23 hours ago

            Frankly, compilers come pretty close to reaching the necessary complexity to be practically non-deterministic; anyone who had never spent days banging their head against code that works perfectly with debug enabled but fails utterly when compiled with release optimisations, but only when two logically entirely unrelated pieces of code happen to be written in a particular order, and then only if interrupts are enabled on the target… Well, anyone who hasn’t been through that has no business calling themselves a software engineer - and certainly no business telling other software engineers what tools they are allowed to use.

            that is still deterministic… you don’t understand what deterministic means.

            go ahead and show us an llm that is deterministic with a parameter passed to the inference engine. I’ll wait.

            • timochka@lemmy.zip
              link
              fedilink
              arrow-up
              1
              ·
              19 hours ago

              Reading comprehension not your strong point, huh?

              Tell me, is it PHP or Javascript you’re l33t in? Actually, don’t bother… plonk.