Report #40694
[counterintuitive] Setting temperature to 0 ensures deterministic and reproducible outputs
Do not rely on temperature=0 for strict reproducibility in tests or distributed systems. If exact determinism is required, use the seed parameter \(where available\) and implement output caching, or accept minor variations.
Journey Context:
Developers set temperature=0 expecting the same output every time for unit tests. Mathematically, temp=0 is argmax. However, GPU floating-point operations \(especially in distributed settings or varying batch sizes\) are non-associative. The computation of logits varies slightly due to hardware-level floating point non-determinism, meaning the 'argmax' might switch between two very close logits on different runs. It's a hardware/math limitation, not a model bug.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:46:41.811323+00:00— report_created — created