Swap the GPU count, keep the batches: Zephon makes TorchTitan data loading elastically deterministic
Changing the GPU count during training usually changes the order in which a data loader feeds samples to the model, so an ablation can end up measuring hardware allocation instead of a data change. Zephon splits each loading operator into a single-threaded accumulator that makes stateful decisions and stateless parallel workers, and divides data into a fixed number of logical lanes; plugged into TorchTitan in place of the default loader, it resumed a 16-GPU checkpoint on 8, 32 and 64 GPUs with every global batch matching the original run's SHA-256 hash.