Hacker News new | ask | show | jobs
by win311fwg 15 days ago
If you are asking if the machine translated from one language to another for him, the answer is essentially guaranteed to be yes. Inputting raw machine code hasn't been the norm since the 1950s.
2 comments

Compilers and AI are not the same.
I wonder if there is something like translation party, only for compilers and LLM respectively. There should be!

I.e. some source code gets compiled, the output gets decompiled again, the result gets compiled again, and so on.

Now do the same with LLM: start with a prompt, it generates a program. Then an LLM examines that program by looking at the source, running it, etc., and is tasked to describe it, i.e. turn it into a prompt again. Then that prompt is used to generate a program, which is examined and turned into a prompt again, and so on.

Compilers and assemblers are not the same either, but the human experience is the same in all cases: You input one language into the machine and another language comes out. Implementation details are immaterial.
That is because you only look at one hypothetical experience, in a vacuum, not the continued experience. In other words, removing the dimension of time, and the fact that you get wildly different output for the same input with LLM, not so for compilers.

It's like a light switch where the light has a slightly different colour every time you turn it on, sometimes the colour is very different, and sometimes it emits bursts of heavy gamma radiation. And the argument is "you flick a switch, and what you perceive in that room changes, it's the same experience." (which is a neat way to put it, because it's true even when you get evaporated by the gamma radiation burst)

That this isn't "the same kind of tool" than just a light switch and a bulb isn't even an interesting conversation to have. Of course it's not, not even close. A piece of string is not a steel rod just because you can stretch it out, take a photo of it, and play pretend.

So the really interesting bit to me is that this level of argument is even made. It's nonsense, but if the nonsense gets repeated often enough, maybe the people refuting it can be exhausted and then we can replace concrete with pudding, right? Not that this is your intent, but this stuff just feels like the thing you'd hear in a digestive tract, not at a table between peers.

> and the fact that you get wildly different output for the same input with LLM, not so for compilers.

Quite so. It is true that most compilers allow you to opt in to reproducible output, but it is generally not the default [iirc, gc is the only mainstream compiler that makes always reproducible output a design requirement]. There are advantages to not have to worry about reproducible output, like performance gains in allowing threads to run in any order. Of course, LLMs equally enable you to opt into reproducible output (temperature=0). Implementation details are immaterial. The human experience is always the same: Input one language, out comes another language.

> So the really interesting bit to me is that this level of argument is even made.

Yeah, it stems from a lack of base understanding of the technology. The "a compiler is deterministic but AI isn't" is always at the heart of the argument, but it isn't even true. Implementation details are immaterial, but when you don't understand the implementation it stands to reason that one would want to focus on that facet in order to learn more about it. Hey, that’s what discussion is for: to learn.

> gc is the only mainstream compiler that makes always reproducible output a design requirement

This is just splitting hairs. And temperature = 0 is not comparable either, because the we will not keep models trained on data of a specific point in time around forever.

> Implementation details are immaterial, but when you don't understand the implementation it stands to reason that one would want to focus on that facet in order to learn more about it.

Not splitting hairs is not the same as not knowing what a hair is.

> Hey, that’s what discussion is for: to learn.

You told me nothing I didn't know or didn't expect, because it gets brought up every time like clock work. It seems to be be part and parcel of not seeing or not wanting to see the woods for all the trees.

> And temperature = 0 is not comparable either, because the we will not keep models trained on data of a specific point in time around forever.

Equally, if you replace one compiler with another, it is almost certain that the output will not remain stable, even when you have enabled reproducible builds. You are not going to find a difference on the outside, even if implementation may differ under the hood.

> You told me nothing I didn't know or didn't expect

What's in it for you, then? I have been able to learn about your character, which is quite fascinating. Technology is pretty boring, which is why nobody else was talking about a technology implementation to begin with, but HN accounts are quite interesting to learn about. Seems to me like a complete waste of time if you cannot learn anything from it.

Yes, AI code generation is the same.