Our thoughts and prayers are with Linus and his family at this difficult and tragic time.
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.
Yes, they are deterministic. LLMs are not.
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.)
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.
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.
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.
Reading comprehension not your strong point, huh?
Tell me, is it PHP or Javascript you're l33t in? Actually, don't bother... plonk.
I don't know... tools made by companies who can't wait to get in bed with the Pentagon to kill brown people around the world would seem to be toxic af.
If we're playing the altruism olympics game, everyone is already throwing stones in a glass house as it is, because virtually all electronics and batteries on Earth are made from materials mined by forced/child labor.
Comparing AI to traditional tools is a bad faith argument and it's a bummer to see Linus fall for it.
Won't anyone think of the environment or small communities? AI is a nice-to-have, not an essential. We need to stop developing technology without thinking long term about the world we live in. We can't use the "oh we didn't know" excuse anymore.
Software Developers need to learn that there is a world outside of their projects. I do not care if it makes your life easier, this technology is having worldwide impacts we are not prepared for. It's leaf blower mentality. They don't care that the neighborhood stinks like 2 stroke exhaust, they don't care that it's loud as hell, they don't care where the leaves go, their yard is clean and that's all that matters.
Linux
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP