Remix.run Logo
▲ profunctor 9 hours ago

We do still read code. Most people are not doing a fully unseen development strategy because we have needs around efficiency, security, compliance etc and we can’t simply blame it on our agents like we don’t control them like OpenAI do

▲pjmlp 9 hours ago | parent [-]

That is like arguing everyone should master Assembly when using high level languages. :)

▲wakamoleguy 9 hours ago | parent | next [-]

Which tangentially brings up another analogy: many high level languages don’t compile directly to assembly but to an intermediate language first (LLVM). We don’t read the LLVM code ourselves.

▲rlander 8 hours ago | parent [-]

But LLVM compilation is deterministic. LLM code gen isn’t.

▲pjmlp 8 hours ago | parent [-]

Only when not used alongside PGO data or as a JIT, as its inputs are not deterministic in first place.

▲profunctor 9 hours ago | parent | prev | next [-]

No it isn’t. I think you read into my comment too much.

▲creata 35 minutes ago | parent | prev | next [-]

I don't want to say what people should and shouldn't do, and a world in which all the world's professionals spend their days talking to sycophantic machines with only a loose commitment to the truth is really funny to me.

But, high level languages don't really lose precision in any way that matters (except when you need extreme performance, resistance to timing attacks, or niche stuff like that). Natural language on the other hand loses precision that's usually important, so I don't see how your comparison is valid.

▲spider-mario 9 hours ago | parent | prev [-]

Who said “everyone”?

▲pjmlp 9 hours ago | parent [-]

We do still read code. => We do still read Assembly code in the world of compilers.

▲spider-mario 8 hours ago | parent | next [-]

Not seeing it. “We do still read code” implies neither that every single person does, nor that they need to master the language being read. Taken together, it seems to me that you need a fair bit of extrapolation (or a presupposition that programming languages are already obsolete when that’s the very point being contested) to make the analogy work.

▲Topfi 9 hours ago | parent | prev [-]

Deterministic vs None-Deterministic, understanding what compiled code does also is possible without Assembly knowledge, not so necessarily with models, where I do like to at least understand what has happened and quite often find a crime or five.

Heck, OpenAI can't even get their models to reliably do what they intend, so yeah.

▲pjmlp 9 hours ago | parent [-]

AOT without PGO, manual memory management, traditional optimisations vs AOT with PGO, JIT, tracing GC, machine learning optimisation passes.

▲Topfi 9 hours ago | parent [-]

Which have what to do with the relationship between assembly and the higher level language?

▲pjmlp 8 hours ago | parent [-]

It is the answer to you Deterministic vs None-Deterministic.

If you don't get the difference, I get there isn't much that you know about how instruction selection works, across all those approaches.

▲Topfi 8 hours ago | parent [-]

Ok, I feel you know what this is actually about, but here spelled out:

Do any of the optimizations you mentioned affect the underlying behavior of the run code? Semantics...

If not, it doesn't fit to LLM use, where this is very much the case. We can talk about bugs in compilers and undefined behaviours and so on and so forth all the livelong day, but you know as well as I that this is not of the same scope of impact.

I could and in the past would have written a long diatribe about how pure compilation to assembly is deterministic, thus making this not really suitable and that while yes, there are things like JVM that aren't 100%, we have contracts, docs, specs and, because of them, an expectation of consistency that LLMs do not deliver. I did not because I thought that was not necessary, but see my error now, that is my mistake.

▲pjmlp 8 hours ago | parent [-]

There is the observable behaviour, and the machine code instructions that actually get generated in every single case for the same kind of text input.

Which for example, unless you can exactly replicate the world every single time a PGO data gathering session is done, there are no guarantees that the compiler will generate exactly the same machine code pattern, when given various PGO files generated at different occurrences.

▲Topfi 8 hours ago | parent [-]

Thanks, yes. To get back to the "We do still read Assembly code in the world of compilers" analogy, in the case of LLM usage, the observable behaviour is...

▲pjmlp 7 hours ago | parent [-]

Assembly naturally,

https://www.phoronix.com/news/Frame-X11-Server-Assembly