Single-Bit Exponent Flip in BF16 Causing Silent Gradient Divergence Across Data-Parallel Ranks
In BF16 distributed training, a single-bit flip in the exponent field of a gradient tensor can propagate silently through NCCL all-reduce without detection, causing one rank's gradient update to diverge from all others. Research shows that high-order bit flips (exponent bits 1-3) are detected with 99% accuracy using Wasserstein divergence metrics, but undetected flips cause permanent model divergence within 10-50 steps.
In BF16 distributed training, a single-bit flip in the exponent field of a gradient tensor can propagate silently through NCCL all-reduce without detection, causing one rank's gradient update to diverge from all others.
- Root cause
- Silicon-level single-event upset or timing fault causes a bit-flip in the high-order exponent bits of BF16 gradient value. Standard NCCL all-reduce performs arithmetic on corrupted value without checksum or validity check. Optimizer applies the corrupted gradient, permanently altering model weights in a divergent direction.
- Recommended fix
NCCL_DEBUG=INFO NCCL_CHECK_PARAMS=1- How Denpex helps
- Denpex investigates Single-Bit Exponent Flip in BF16 Causing Silent Gradient Divergence Across Data-Parallel Ranks using the evidence you provide or your connected workload collects. Earlier rank, host or application evidence is needed to distinguish an initiating failure from a downstream report.
What this failure is
Single-Bit Exponent Flip in BF16 Causing Silent Gradient Divergence Across Data-Parallel Ranks is a Reliability failure seen during ML training runs. In BF16 distributed training, a single-bit flip in the exponent field of a gradient tensor can propagate silently through NCCL all-reduce without detection, causing one rank's gradient update to diverge from all others. Research shows that high-order bit flips (exponent bits 1-3) are detected with 99% accuracy using Wasserstein divergence metrics, but undetected flips cause permanent model divergence within 10-50 steps. Common tags: Sdc, Bit Flip, Bf16, Gradient Divergence.
Is this what broke your run? Paste your log.
You're reading about Single-Bit Exponent Flip in BF16 Causing Silent Gradient Divergence Across Data-Parallel Ranks. Paste your own traceback and relevant evidence for an investigation of your workload, with a next action or a specific missing fact. A reference entry does not establish your cause. No account or card for the free diagnosis. Review data handling before submitting sensitive logs.
Before uploading, review cloud data handling and local options.
Upload your log file. Large files are processed in your browser. Only selected evidence is submitted when you run diagnosis.
Why it happens (the mechanism)
Silicon-level single-event upset or timing fault causes a bit-flip in the high-order exponent bits of BF16 gradient value. Standard NCCL all-reduce performs arithmetic on corrupted value without checksum or validity check. Optimizer applies the corrupted gradient, permanently altering model weights in a divergent direction. Taken together, these mechanisms explain why the failure is reproducible, why it tends to surface on specific workloads or scales, and why generic mitigation attempts often fall short without addressing the underlying cause.
What you'll observe
- Training loss divergence without hardware error signals or NaN values visible in logs
- One rank produces massively different gradients compared to other identical replicas
- Gradient norm from the affected rank differs by >100x from the all-reduced mean
Common symptoms and what they mean
| Symptom | Why it happens |
|---|---|
| Per-rank gradient norm computed before all-reduce shows one rank with outlier norm (3+ sigma from mean) | Silicon-level single-event upset or timing fault causes a bit-flip in the high-order exponent bits of BF16 gradient value |
| Wasserstein distance between per-rank gradient distributions exceeds threshold of 0.1 for BF16 tensors | Standard NCCL all-reduce performs arithmetic on corrupted value without checksum or validity check |
| Loss curve plateaus at higher value than expected for the given training step count | Optimizer applies the corrupted gradient, permanently altering model weights in a divergent direction |
Which systems are affected
- BF16/FP16 distributed training on 64+ GPUs using NCCL all-reduce
- Training without cross-rank gradient validation in the communication layer
- H100/H200 clusters operating near thermal margins where bit-flip probability increases
How to confirm this is the problem
Use this checklist to test the hypothesis against a small reproduction. No single line proves the root cause, so preserve the preceding events and compare one variable at a time.
- ✓Reproduce the failure from a clean checkpoint/seed: the symptom must appear without warm-up state from a previous run.
- ✓Verified signal present: Per-rank gradient norm computed before all-reduce shows one rank with outlier norm (3+ sigma from mean)
- ✓Verified signal present: Wasserstein distance between per-rank gradient distributions exceeds threshold of 0.1 for BF16 tensors
- ✓Verified signal present: Loss curve plateaus at higher value than expected for the given training step count
- ✓A targeted fix from the "How to fix it" section eliminates or substantially reduces the symptom within one validation pass.
Root cause
- Silicon-level single-event upset or timing fault causes a bit-flip in the high-order exponent bits of BF16 gradient value
- Standard NCCL all-reduce performs arithmetic on corrupted value without checksum or validity check
- Optimizer applies the corrupted gradient, permanently altering model weights in a divergent direction
The fix and how to prevent it
The fix and the prevention pattern
The root cause is on this page and stays free. A free account adds the exact remediation steps, saved history, and the fix on every entry in the encyclopedia.
Sign up free. Unlock the full analysisNo credit card. Daily allowance follows verified trust tier. Instant access.
Diagnose this failure in VS Code
Select the traceback or open the failed terminal, then run Denpex locally to see the initiating rank, collateral failures, exact fix, and verification command without uploading the log.
Install the free VS Code extensionRelated failures to investigate next
Don't just read the fix, diagnose your run
The encyclopedia tells you what went wrong. Denpex tells you what went wrong in YOUR training run. With your logs, your config, and your stack.
Related Reliability errors
GB200 NVL72 driver hang with Xid 150 and 154 after long uptime is a firmware bug, not a dead GPU
Reliability · high
Sequence Length Imbalance Causing Distributed Training Stragglers
Reliability · high
Silent Data Corruption from GPU Hardware Faults Causing Loss Spikes and Model Divergence
Reliability · critical
NIXL Firmware Page Registration Fan-Out Triggers Host OOM Kills on HGX H200 and B200
Reliability · critical