Incident: A training run that hung without failing
Module 7 · Incident file · About 30 minutes · Needs: Lesson 2 (checkpoints, the Young and Daly interval, resuming) and Lesson 3 (throughput as a metric)
What happened
BigScience trained BLOOM, a 176-billion-parameter multilingual model, on the Jean Zay supercomputer in France, and kept a public logbook: "tr11-176B-ml chronicles" (BigScience Workshop, GitHub, entries March to July 2022). "The training launched on March 11, 2022". A week later it ran at "149-150 TFLOPs per GPU".
The logbook counts its losses in hours. On 21 March a GPU crashed with a CUDA "unknown error": "we lost 7.3h of work, it failed 2 iterations before checkpoint saving time". With a 2.3 TB checkpoint taking 40 seconds to save, the team moved to saving every 100 iterations, so "we would lose at most 3h". By April: "Every week or so we have hardware issues where one of the gpus dies."
The worst losses were not crashes. On 30 April "the eval stage started at the end of iteration 45000 and got stuck". It was "stuck for at least 3 hours. No timeouts from NCCL or distributed, just gpus spinning at 100%". It was a weekend; "by the time I found the cause and rolled back we lost about 18h of training". The hang came back on 9 May ("Lost 6h of work") and 18 May ("We lost ~11h on this event"), and was traced to a DataLoader worker thread holding a lock; the workaround was num_workers=0 for validation.