Re:Royal Society cautions against censorship of scientific m...
by mrtedbear on Monday January 31, 2022 @08:49PM
(#30157622)
Yeah unintended non-determinism would be a problem. But I don't think I saw a good source regarding this being the case at the time.
I saw the John Cormack review which suggested there was nothing overly troubling in the code, https://mobile.twitter.com/id_aa_carmack/status/125487236876...
The other takedown reviews focused on the fact that there was non-determinism despite a seed, without understanding that's not necessarily a problem.
Agreed on the second point about not having a seed, but I added the "assuming you have used a seed" caveat because sometimes people do use the seed for some reproducible execution modes (even multi-thread/process ones), which are fine, and it's just easier to randomly vary the seed generation rather than remove it all together when running in a non-deterministic mode.
Make no bones about it, these are programming faults. There's no reason why distributed, long-running models can't produce convergent results with a high degree of determinism given the input state. But this takes some amount of care and attention.
> So you might want to change the seed on every run to protect yourself from such nasty phantom effects.
That's a perfect example of what I mean where a seed is actually worse. If you know you can't control determinism, then you might as well go for the opposite: ensure your randomness is high quality enough such that it approximates a perfect uniform distribution. Adding a seed here means you are more likely to capture the true distribution of the output.