Why Temperature=0 Doesn't Guarantee Determinism in LLMs › Conclusion
Michael BrenndoerferMay 18, 20251 min read
Why Temperature=0 Doesn't Guarantee Determinism in LLMs › ConclusionOne section · Sections in this article7 / 7 ↓
Sections in this article7
Large language models do have inherent sources of non-determinism even when we try to eliminate randomness. Floating-point arithmetic, parallel computation, tie-breaking, complex model architectures, and multi-server deployment issues all contribute to this.
Temperature=0 greatly reduces randomness by always choosing the most likely token, so it's the first step toward determinism, but it doesn't magically make the entire system deterministic.
Both non-technical and technical users should be aware that some variance is normal. By understanding these contributing factors, we can manage and mitigate unexpected variations. And if absolute consistency is needed, we must employ careful controls (seeds, fixed settings, consistent environment) to narrow down the sources of nondeterminism as much as possible.
Will this change how I interact with LLMs? Probably not, but now I do have a better understanding of why the output is different, even with the temperature set to 0. I hope you do, too.