Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's true for me. I type in what I want and then the AI system (compiler) generates the code.

Doesn't everyone work that way?





Describing a compiler as "AI" is certainly a take.

I used to hand roll the assembly, but now I delegate that work to my agent, clang. I occasionally override clang or give it hints, but it usually gets it right most of the time.

clang doesn't "understand" the hints because it doesn't "understand" anything, but it knows what to do with them! Just like codex.


Given an input clang will always give the same output, not quite the same for llms. Also nobody ever claimed compilers were intelligent or that they "understood" things

The determinism depends on the architecture of the model!

Symbolica is working on more deterministic/quicker models: https://www.symbolica.ai

I also wish it was that easy, but compiler determinism is hard, too: https://reproducible-builds.org


An LLM will also give the same output for the same input when the temperature is zero[1]. It only becomes non-deterministic if you choose for it to be. Which is the same for a C compiler. You can choose to add as many random conditionals as you so please.

But there is nothing about a compiler that implies determinism. A compiler is defined by function (taking input on how you want something to work and outputting code), not design. Implementation details are irrelevant. If you use a neural network to compile C source into machine code instead of more traditional approaches, it most definitely remains a compiler. The function is unchanged.

[1] "Faulty" hardware found in the real world can sometimes break this assumption. But a C compiler running on faulty hardware can change the assumption too.


currently LLMs from majorvproviders are not deterministic with temp=0, there are startups focusing on this issue (among others) https://thinkingmachines.ai/blog/defeating-nondeterminism-in...

You can test that yourself in 5 seconds and see that even at a temp of 0 you never get the same output

Works perfectly fine for me.

Did you do that stupid HN thing where you failed to read the entire comment and then went off to try it on faulty hardware?


No I did that HN thing where I went to an LLM, set temp to 0, pasted your comments in and got widely different outputs every single time I did so

"Went" is a curious turn of phrase, but I take it to mean that you used an LLM on someone else's hardware of unknown origin? How are you ensuring that said hardware isn't faulty? It is a known condition. After all, I already warned you of it.

Now try it on deterministic hardware.


Feel free to share your experiments, I cannot reproduce them but you seem very sure about your stance so I am convinced you gave it a try, right ?

Do you need to reproduce them? You can simply look at how an LLM is built, no? It is not exactly magic.

But what are you asking for, exactly? Do you want me to copy and paste the output (so you can say it isn't real)? Are you asking for access to my hardware? What does sharing mean here?


Was the seed set to the same value everytime?


Hm, some things compilers do during optimization would have been labelled AI during the last AI bubble.

it's something that crossed my mind too honestly. natural-language-to-code translation.

You can also do search query to code translation by using GitHub or StackOverflow.

Compilers are probably closer to "intelligence" than LLMs.

I understand what you're getting at, but compilers are deterministic. AI isn't just another tool, or just a higher level of program specification.

This is all a bit above my head. But the effects a compiler has on the computer are certainly not deterministic. It might do what you want or it might hit a weird driver bug or set off a false positive in some security software. And the more complex stacks get the he more this happens.

And so is "AI". Unless you add randomness AKA raise the temperature.

If you and I put the same input into GCC, we will get the same output (counting flags and config as input). The same is not true for an LLM.

> The same is not true for an LLM.

Incorrect. LLMs are designed to be deterministic (when temperature=0). Only if you choose for them to be non-deterministic are they so. Which is no different in the case of GCC. You can add all kinds of random conditionals if you had some reason to want to make it non-deterministic. You never would, but you could.

There are some known flaws in GPUs that can break that assumption in the real world, but in theory (and where you have working, deterministic hardware) LLMs are absolutely deterministic. GCC also stops being deterministic when the hardware breaks down. A cosmic bit flip is all it takes to completely defy your assertion.


> but compilers are deterministic.

Are they, though? Obviously they are in some cases, but it has always been held that a natural language compiler is theoretically possible. But a natural language compiler cannot be deterministic, fundamentally. It is quite apparent that determinism is not what makes a compiler.

In fact, the dictionary defines compiler as: "a program that converts instructions into a machine-code or lower-level form so that they can be read and executed by a computer." Most everyone agrees that it is about function, not design.

> AI isn't just another tool

AI is not a tool, that is true. I don't know, maybe you stopped reading too soon, but it said "AI systems". Nobody was ever talking about AI. If you want to participate in the discussions actually taking place, not just the one you imagined in your head, what kind of system isn't just another tool?


> Nobody was ever talking about AI. If you want to participate in the discussions actually taking place, not just the one you imagined in your head

Wow. No, I actually don't want to participate in a discussion where the default is random hostility and immediate personal attack. Sheesh.


[flagged]


What the hell? You can't comment like this on HN, not matter how right you are or feel you are. The guidelines make it clear we're trying for something better here. These guidelines are particularly relevant:

Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

When disagreeing, please reply to the argument instead of calling names. "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."

Please don't fulminate. Please don't sneer, including at the rest of the community.

Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith.

Please don't post shallow dismissals...

Please don't comment on whether someone read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that".

HN is only a place where people want to participate because others make the effort to keep the standards up. Please do your part to make this a welcoming place rather than a mean one.

https://news.ycombinator.com/newsguidelines.html




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: