fix(omnia-training): serialize Burn RNG across the training test binary #31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/omni-29-seeded-determinism"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
OmniAstra::new draws weights from Burn's process-global RNG. training_reduces_loss_and_is_seeded_deterministic reseeds that RNG and compares two runs, but four other tests in the same binary constructed models without taking RNG_LOCK (checkpoint_round_trip_and_resume_vs_weights_only, frozen_backbone_does_not_change_but_adapter_does, model_moved_from_inference_to_autodiff_trains_after_enable_grad, empty_batch_is_a_no_op_not_a_panic). A parallel test can consume draws between the two seeded runs.
Reproduction, release binary, default --test-threads=16, eight background
sha256sum /dev/zeroloops:0710de2): 54 pass / 1 fail in 55 runs (~12 min). The failure is the existing assertion at training.rs:96: seeded runs diverged: 2.0957823 vs 2.1332889.Commands:
The 1e-4 tolerance was not weakened. Other model-init tests already held RNG_LOCK; this extends that lock to the four that did not.
Refs OMNI-29