Incident Library

IL-0429 Tsinghua University · 2022-05-07ai-infra

GLM-130B training on 96 nodes kept stopping on node failures, and a Lustre error left the 2.3T corpus unreadable

GLM-130B is a 130B model with 70 layers, trained with MP = 4, PP = 8 and a global batch size of 4224 on 96 nodes, using PyTorch 1.11, CUDA 11.3 and DeepSpeed 0.6.1. Training started on 2022-05-06. From 2022-05-07 to 2022-06-26 the training notes record ten interruptions from the hardware and the network: nodes that broke down, a node that lost connection, a node that reported missing GPUs, a CPU error, an unexpected termination suspected to be a network communication problem and an NVLink error. After the first failure, when n30041 and n30157 broke down and training restarted from step 4000, the team cut the checkpoint interval from 500 steps to 100 steps because 500 was too long. After n30066 failed on 2022-05-20 the team moved the job to another node pool and restarted from step 15600, and on 2022-05-21 removed the replacement node n30076 when the training flop dropped to 127T, without effect.

On 2022-05-30 the team restarted from global_step23200 after fixing the warmup steps for the embedding gradient shrink, and the restart hung while loading data. The Lustre file system had an error that made the 2.3T text corpora unreadable. The engineer could not recover the data, so it was copied back from a backup disk to the file system, which took a few days. After a cluster maintenance upgrade on 2022-06-06 the team saw a large improvement in file system read speed, with a checkpoint loading in 1 minute.

Severity
–
Scope
The GLM-130B pretraining run on 96 nodes was restarted from checkpoints after ten interruptions between 2022-05-07 and 2022-06-26 (node breakdowns, a lost connection, missing GPUs, a CPU error, an unexpected termination suspected to be a network communication problem and an NVLink error), and waited a few days for the 2.3T corpus to be copied back after the Lustre error
Users affected
–
Region
–
Time to detect
–
Time to resolve
–

Symptoms

The GLM-130B pretraining run on 96 nodes, started on 2022-05-06 at 04:00, was interrupted again and again by single nodes that broke down, lost connection or reported missing GPUs, and each time training had to be restarted from a saved step. On 2022-05-30 a restart got stuck in data loading because of a Lustre file system error, and the 2.3T text corpora could no longer be read.

The training notes record each interruption. On 2022-05-07 at 20:14 nodes n30041 and n30157 broke down. On 2022-05-11 at 12:13 n30115 broke down, and on 2022-05-20 at 00:03 n30066 broke down. On 2022-05-22 at 19:27 n30126 lost connection, and on 2022-05-26 at 04:30 n30039 reported missing GPUs. On 2022-06-02 n30145 had a CPU error, on 2022-06-08 at 08:00 another node failed, and on 2022-06-09 at 13:30 the training terminated unexpectedly, which the team suspected was a network communication problem. On 2022-06-19 at 00:10 n30085 broke down, and on 2022-06-26 at 16:00 a node failed with "Unexpected NVLink Error".

On 2022-05-21 the training flop was only 127T, lower than before; the speed test before the run had measured 134TFLOPS at 88.5s/iter for a batch of 4224. The team suspected that the replacement node n30076 had an unknown fault and removed it from step 16600, but the speed did not change.

On 2022-05-30 at 14:00 the team restarted from global_step23200 and found the restart stuck in data loading. The cause was an error of the Lustre file system: the 2.3T text corpora could not be read, the engineer could not recover the data, and the data had to be copied from a backup disk to the file system again, which took a few days.

Symptom Training job failureNode NotReadyGPU unavailableStorage disconnected or stale mountsThroughput degradation

Root cause

Root cause Hardware failure

Contributing factor –
Trigger
Individual nodes of the 96-node allocation failed during training, through breakdowns, a lost connection, missing GPUs, a CPU error and an NVLink error, and on 2022-05-30 the Lustre file system that held the training corpus failed.

Detection

The Lustre error was found when a restart from global_step23200 stayed stuck in data loading.

Remediation

Action items

–

Lessons

–

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, GPU hardware and memory, Shared network filesystem among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.