Skip to content

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.

Quick answer

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.
Reliability#sdc#bit-flip#bf16#gradient-divergence#all-reduce#wasserstein

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.

Live diagnosis, no signup

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.

training_logs.txt
No log to hand? Try one:

Upload your log file. Large files are processed in your browser. Only selected evidence is submitted when you run diagnosis.

3 free diagnoses/day

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

SymptomWhy 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 tensorsStandard 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 countOptimizer 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 analysis

No 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 extension

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.