| ▲ | satvikpendem 5 hours ago |
| That is "fundamentally" not true, you can use a preset seed and temperature and get a deterministic output. |
|
| ▲ | HPsquared 5 hours ago | parent | next [-] |
| I'll grant that you can guarantee the length of the output and, being a computer program, it's possible (though not always in practice) to rerun and get the same result each time, but that's not guaranteeing anything about said output. |
| |
| ▲ | satvikpendem 4 hours ago | parent | next [-] | | What do you want to guarantee about the output, that it follows a given structure? Unless you map out all inputs and outputs, no it's not possible, but to say that it is a fundamental property of LLMs to be non deterministic is false, which is what I was inferring you meant, perhaps that was not what you implied. | | |
| ▲ | program_whiz 4 hours ago | parent | next [-] | | Yeah I think there are two definitions of determinism people are using which is causing confusion. In a strict sense, LLMs can be deterministic meaning same input can generate same output (or as close as desired to same output). However, I think what people mean is that for slight changes to the input, it can behave in unpredictable ways (e.g. its output is not easily predicted by the user based on input alone). People mean "I told it don't do X, then it did X", which indicates a kind of randomness or non-determinism, the output isn't strictly constrained by the input in the way a reasonable person would expect. | | |
| ▲ | yunwal 2 hours ago | parent [-] | | The correct word for this IMO is "chaotic" in the mathematical sense. Determinism is a totally different thing that ought to retain it's original meaning. |
| |
| ▲ | wat10000 2 hours ago | parent | prev [-] | | They didn't say LLMs are fundamentally nondeterministic. They said there's no way to deterministically guarantee anything about the output. Consider parameterized SQL. Absent a bad bug in the implementation, you can guarantee that certain forms of parameterized SQL query cannot produce output that will perform a destructive operation on the database, no matter what the input is. That is, you can look at a bit of code and be confident that there's no Little Bobby Tables problem with it. You can't do that with an LLM. You can take measures to make it less likely to produce that sort of unwanted output, but you can't guarantee it. Determinism in input->output mapping is an unrelated concept. |
| |
| ▲ | silon42 4 hours ago | parent | prev [-] | | You can guarantee what you have test coverage for :) | | |
| ▲ | rightofcourse 3 hours ago | parent | next [-] | | haha, you are not wrong, just when a dev gets a tool to automate the _boring_ parts usually tests get the first hit | |
| ▲ | bdangubic 3 hours ago | parent | prev [-] | | depends entirely on the quality of said test coverage :) |
|
|
|
| ▲ | phlakaton an hour ago | parent | prev | next [-] |
| But you cannot predict a priori what that deterministic output will be – and in a real-life situation you will not be operating in deterministic conditions. |
|
| ▲ | mhitza 3 hours ago | parent | prev | next [-] |
| If you self-host an LLM you'll learn quickly that even batching, and caching can affect determinism. I've ran mostly self-hosted models with temp 0 and seen these deviations. |
|
| ▲ | zbentley 4 hours ago | parent | prev | next [-] |
| Practically, the performance loss of making it truly repeatable (which takes parallelism reduction or coordination overhead, not just temperature and randomizer control) is unacceptable to most people. |
| |
| ▲ | wat10000 2 hours ago | parent [-] | | It's also just not very useful. Why would you re-run the exact same inference a second time? This isn't like a compiler where you treat the input as the fundamental source of truth, and want identical output in order to ensure there's no tampering. |
|
|
| ▲ | 4ndrewl 4 hours ago | parent | prev | next [-] |
| If you also control the model. |
|
| ▲ | simianparrot 5 hours ago | parent | prev | next [-] |
| A single byte change in the input changes the output. The sentence "Please do this for me" and "Please, do this for me" can lead to completely distinct output. Given this, you can't treat it as deterministic even with temp 0 and fixed seed and no memory. |
| |
| ▲ | dwattttt 4 hours ago | parent | next [-] | | Interestingly, this is the mathematical definition of "chaotic behaviour"; minuscule changes in the input result in arbitrarily large differences in the output. It can arise from perfectly deterministic rules... the Logistic Map with r=4, x(n+1) = 4*(1 - x(n)) is a classic. | | |
| ▲ | adrian_b 4 hours ago | parent | next [-] | | Which is also the desired behavior of the mixing functions from which the cryptographic primitives are built (e.g. block cipher functions and one-way hash functions), i.e. the so-called avalanche property. | |
| ▲ | satvikpendem 4 hours ago | parent | prev [-] | | Correct, it's akin to chaos theory or the butterfly effect, which, even it can be predictable for many ranges of input: https://youtu.be/dtjb2OhEQcU |
| |
| ▲ | satvikpendem 4 hours ago | parent | prev | next [-] | | Well yeah of course changes in the input result in changes to the output, my only claim was that LLMs can be deterministic (ie to output exactly the same output each time for a given input) if set up correctly. | | |
| ▲ | layer8 4 hours ago | parent | next [-] | | You still can’t deterministically guarantee anything about the output based on the input, other than repeatability for the exact same input. | | |
| ▲ | exe34 4 hours ago | parent [-] | | What does deterministic mean to you? | | |
| ▲ | layer8 3 hours ago | parent | next [-] | | In this context, it means being able to deterministically predict properties of the output based on properties of the input. That is, you don’t treat each distinct input as a unicorn, but instead consider properties of the input, and you want to know useful properties of the output. With LLMs, you can only do that statistically at best, but not deterministically, in the sense of being able to know that whenever the input has property A then the output will always have property B. | | |
| ▲ | peyton 2 hours ago | parent [-] | | I mean can’t you have a grammar on both ends and just set out-of-language tokens to zero. I thought one of the APIs had a way to staple a JSON schema to the output, for ex. We’re making pretty strong statements here. It’s not like it’s impossible to make sure DROP TABLE doesn’t get output. | | |
| ▲ | satvikpendem an hour ago | parent [-] | | And also have a blacklist of keywords detecting program that the LLM output is run through afterwards, that's probably the easiest filter. |
|
| |
| ▲ | tsimionescu an hour ago | parent | prev [-] | | I think they mean having some useful predicates P, Q such that for any input i and for any output o that the LLM can generate from that input, P(i) => Q(o). |
|
| |
| ▲ | idiotsecant 4 hours ago | parent | prev [-] | | You don't think this is pedantry bordering on uselessness? | | |
| ▲ | WithinReason 4 hours ago | parent | next [-] | | No, determinism and predictability are different concepts. You can have a deterministic random number generator for example. | |
| ▲ | satvikpendem 4 hours ago | parent | prev | next [-] | | It's correcting a misconception that many people have regarding LLMs that they are inherently and fundamentally non-deterministic, as if they were a true random number generator, but they are closer to a pseudo random number generator in that they are deterministic with the right settings. | | | |
| ▲ | albedoa 36 minutes ago | parent | prev [-] | | The comment that is being responded to describes a behavior that has nothing to do with determinism and follows it up with "Given this, you can't treat it as deterministic" lol. Someone tried to redefine a well-established term in the middle of an internet forum thread about that term. The word that has been pushed to uselessness here is "pedantry". |
|
| |
| ▲ | exe34 4 hours ago | parent | prev | next [-] | | Let's eat grandma. | |
| ▲ | 4 hours ago | parent | prev [-] | | [deleted] |
|
|
| ▲ | yunohn 5 hours ago | parent | prev [-] |
| I initially thought the same, but apparently with the inaccuracies inherent to floating-point arithmetic and various other such accuracy leakage, it’s not true! https://arxiv.org/html/2408.04667v5 |
| |
| ▲ | layer8 4 hours ago | parent [-] | | This has nothing to do with FP inaccuracies, and your link does confirm that: “Although the use of multiple GPUs introduces some randomness (Nvidia, 2024), it can be eliminated by setting random seeds, so that AI models are deterministic given the same input. […] In order to support this line of reasoning, we ran Llama3-8b on our local GPUs without any optimizations, yielding deterministic results. This indicates that the models and GPUs themselves are not the only source of non-determinism.” |
|