3 ms·
> Compilers are deterministic. Given the same input you always get the same output Except when they aren't. See for instance https://gcc.gnu.org/onlinedocs/gcc
by cesarb 1y ago
> Compilers are deterministic. Given the same input you always get the same output
Except when they aren't. See for instance https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/Developer-Options.html#index-frandom-seed https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/Developer-Opti... or the __DATE__/__TIME__ macros.
- lelanthran 1y agoFrom the link: > You can use the -frandom-seed option to produce reproducibly identical object files. Deterministic. Also, with regard to __DATE__/__TIME__ macros, those are deterministic, because the current date and time are part of the inputs.
- wat10000 1y agoDeterminism is predicated on what you consider to be the relevant inputs. Many compilers are not deterministic when only considering the source files or even the current time. For example, any output produced by iterating over a hash table with pointer keys is likely to depend on ASLR and thus be nondetermistic unless you consider the ASLR randomization to be one of the inputs. Any output that depends on directory iteration order is likely to be consistent on a single computer but vary across computers. LLMs aren’t magic. They’re software running on inputs like anything else, which means they’re deterministic if you constrain all the inputs.
- kiitos 1y agoLLMs are 100% absolutely not deterministic even if you constrain all of their inputs. This is obviously the case, apparent from any even cursory experimentation with any LLM available today. Equivocating the determinism of a compiler given some source code as input, with the determinism of an LLM given some user prompt as input, is disingenuous to the extreme!
- wat10000 1y agoMost LLM software isn’t deterministic, sure. But LLMs are just doing a bunch of arithmetic. They can be 100% deterministic if you want them to be.