Skip to content

ML Training Failure Encyclopedia

Every failure class Denpex diagnoses — with the root cause, the exact fix, and how to prevent it. Searchable, referenceable, and built from thousands of real distributed training incidents.

Training Stability

66

NaN Detection and Skip

high

NaN detection and skipping prevents corrupted gradients from propagating but requires careful implementation....

#nan-detection#gradscaler#mixed-precision#skip-update

LR Without Warmup or Decay

high

Training without learning rate warmup or decay causes slow convergence and poor final performance....

#learning-rate#warmup#decay#scheduler

Learning Rate Finder Result Misuse

medium

Misusing the results of a learning rate finder causes poor training setup choices....

#learning-rate#lr-finder#hyperparameter#tuning

Gradient Accumulation BatchNorm Issue

high

Gradient accumulation with BatchNorm causes incorrect normalization because BN computes statistics on smaller sub-batches....

#batchnorm#gradient-accumulation#normalization#training-stability

Label Noise Training Issue

high

Label noise in training data causes poor model generalization and unexpected training behavior....

#label-noise#weak-supervision#label-smoothing#robust-learning

Spectral Norm Clipping

medium

Spectral norm clipping for GAN training has different requirements than gradient clipping for other models....

#spectral-norm#gan#training-stability#wgan-gp

Weight Decay Misconfiguration

medium

Weight decay misconfiguration causes overfitting, underfitting, or training instability depending on the wrong choice....

#weight-decay#adamw#regularization#fine-tuning

EMA Decay Misconfiguration

medium

Exponential Moving Average (EMA) decay misconfiguration causes poor model averaging and training instability....

#ema#model-averaging#stability#swa

Lookahead Optimizer Issues

medium

Lookahead optimizer issues arise from improper k (inner steps) or alpha (slow weight) values that destabilize training....

#lookahead#optimizer#slow-weights#k-steps

Ranger Optimizer Issues

low

Ranger optimizer combines RAdam and Lookahead; misconfiguration can cause training instability or poor convergence....

#ranger#radam#lookahead#optimizer

Adafactor Optimizer Issues

low

Adafactor optimizer issues arise from incorrect epsilon, scaling factor, or relative step handling....

#adafactor#optimizer#transformer#t5

SAM (Sharpness-Aware Minimization) Optimizer Issues

medium

SAM optimizer issues arise from the two-forward-pass requirement, learning rate issues, or rho misconfiguration....

#sam#sharpness-aware#optimizer#generalization

Lion Optimizer Issues

low

Lion optimizer issues arise from incorrect learning rate (typically 3-10x lower than Adam) or momentum configuration....

#lion#optimizer#memory-efficient#sign-update

AMP BF16 vs FP16 Confusion

low

BF16 and FP16 mixed precision have different numerical properties; choosing the wrong one causes instability or wasted memory....

#bf16#fp16#mixed-precision#gradscaler

Spectral Normalization Collapse

medium

Spectral normalization can cause mode collapse or training failure when applied incorrectly to GANs....

#spectral-norm#gan#mode-collapse#wgan

SWA (Stochastic Weight Averaging) Training

low

SWA training issues arise from incorrect averaging frequency, learning rate schedule for SWA, or BN update steps....

#swa#weight-averaging#generalization#bn-update

Polyak Averaging Issues

low

Polyak averaging issues arise from incorrect averaging window, frequency, or weight initialization....

#polyak-averaging#target-network#rl#averaging

Curriculum Learning Issues

medium

Curriculum learning issues arise from poorly designed difficulty progression that hurts rather than helps training....

#curriculum#self-paced#difficulty#training-stability

Cyclic LR Scheduler Issues

low

Cyclic LR scheduler issues arise from incorrect base/max LR, step size, or mode (triangular, triangular2, exp_range)....

#cyclic-lr#scheduler#training-stability#hyperparameter

One-Cycle Policy Issue

low

One-cycle policy issues arise from incorrect max_lr, momentum range, or training duration that destabilize training....

#one-cycle#super-convergence#scheduler#momentum

Layer Norm Weight Decay

low

Applying weight decay to LayerNorm and bias parameters hurts training and can prevent convergence in transformers....

#weight-decay#layer-norm#adamw#fine-tuning

Fine-Tuning Failure

high

Fine-tuning failures occur when pretrained model knowledge is destroyed by aggressive learning rates or insufficient data....

#fine-tuning#catastrophic-forgetting#lora#pretrained

Loss Curve Anomaly

medium

Loss curve anomalies (spikes, plateaus, oscillations) indicate underlying training issues that need diagnosis....

#loss-curve#anomaly#debugging#training-stability

Warmup Missing

medium

Missing warmup causes early training instability, especially with large learning rates or transformer models....

#warmup#scheduler#transformer#adamw

NaN Loss

critical

NaN loss in training is critical because it propagates through all parameters and corrupts the model permanently....

#nan#loss#training-stability#debugging

Gradient Clipping Missing

medium

Missing gradient clipping causes gradient explosion in RNNs, transformers, and GANs....

#gradient-clipping#gradient-explosion#training-stability#transformer

Mixed Precision Loss Scale

medium

Mixed precision loss scale issues occur when GradScaler doesn't update properly, causing underflow or overflow in FP16 training....

#mixed-precision#fp16#gradscaler#loss-scale

LR Too High

high

Learning rate too high causes training instability, loss divergence, or NaN loss....

#learning-rate#too-high#training-stability#divergence

Gradient Explosion

high

Gradient explosion causes loss spikes, NaN loss, and training instability, especially in RNNs and deep networks....

#gradient-explosion#gradient-clipping#training-stability#rnn

Loss Not Decreasing

high

Loss not decreasing indicates fundamental training issues: wrong LR, broken model, bad data, or wrong loss function....

#loss#not-decreasing#debugging#training-stability

Cosine Annealing Issue

low

Cosine annealing issues arise from incorrect min_lr, T_max, or warm restarts that cause poor convergence....

#cosine-annealing#scheduler#warm-restart#training-stability

LR Too Low

medium

Learning rate too low causes slow convergence, plateau at high loss, or training to appear stuck....

#learning-rate#too-low#slow-convergence#training-stability

Mixed Precision Overflow

high

Mixed precision overflow occurs in FP16 training when values exceed FP16 range (65504), causing inf/NaN....

#mixed-precision#fp16#overflow#gradscaler

Init Seed Mismatch

low

Different random seeds across runs cause non-reproducible results, making experiments hard to compare....

#seed#reproducibility#init#training-stability

Runtime Error (Generic)

high

Generic runtime errors can indicate various issues from code bugs to hardware problems....

#runtime-error#generic#training#debugging

PyTorch torch.compile Error

high

torch.compile errors crash training when the compiled graph has issues with the model or hardware....

#torch-compile#dynamo#inductor#triton

PyTorch JIT Compile Error

high

PyTorch JIT compilation errors crash training when the script or model uses unsupported features....

#torch-jit#compilation#script#trace

AdamW Weight Decay Misconfiguration

high

AdamW weight decay misconfiguration causes poor generalization or unstable training....

#adamw#weight-decay#optimizer#regularization

Adam Epsilon Hyperparameter Issue

medium

Adam epsilon hyperparameter issues cause training instability or poor convergence....

#adam#epsilon#optimizer#training-stability

SGD Momentum Configuration Issue

high

SGD momentum misconfiguration causes training to oscillate, diverge, or converge slowly....

#sgd#momentum#optimizer#training-stability

EMA Checkpoint Issue

medium

EMA (Exponential Moving Average) checkpoint issues cause problems with model averaging across checkpoints....

#ema#exponential-moving-average#checkpoint#model-averaging

LR Warmup-Decay Schedule Issue

medium

LR warmup-decay schedule issues cause training instability at transitions between phases....

#warmup#decay#learning-rate#scheduler

Wrong Weight Initialization

high

Wrong weight initialization causes training instability with NaN losses, slow convergence, or dead neurons....

#weight-initialization#kaiming#xavier#training-stability

EMA Decay Too High

medium

EMA (Exponential Moving Average) decay values that are too high or too low cause poor model averaging....

#ema#exponential-moving-average#model-averaging#training-stability

Gradient Accumulation Misuse

medium

Gradient accumulation misuse causes incorrect gradient updates or memory issues....

#gradient-accumulation#batch-size#memory#training-stability

DeepSpeed fp16: Current loss scale already at minimum

high

Persistent fp16 overflow drives the dynamic loss scale down to its minimum and DeepSpeed aborts — typically a bf16-pretrained model being fine-tuned in fp16 on hardware without bf16....

#deepspeed#fp16#loss-scale#overflow

DeepSpeed bf16 Gradient Norm Underflow

high

DeepSpeed's bf16 training can trigger 'assert all_groups_norm > 0' because bf16 gradient norms can underflow to zero. This is a numerical precision issue specific to bf16's limited range. Denpex detec...

#deepspeed#bf16#gradient-norm#underflow

DeepSpeed NaN from overlap_comm + contiguous_gradients

high

Enabling both overlap_comm and contiguous_gradients in DeepSpeed ZeRO-3 causes gradient buffer reuse races that produce NaN losses. This is a known DeepSpeed bug where the communication overlap reads ...

#deepspeed#nan#overlap-comm#contiguous-gradients

CUDA Device-Side Assert Triggered

high

A CUDA kernel hit a device-side assertion — almost always an out-of-bounds index into an embedding, loss, or gather/scatter op. Because CUDA is asynchronous, the reported stack trace points at an unre...

#device-side-assert#cuda#index out of bounds#embedding

Unsloth/TRL Warning: attention implementation not flash_attention_2 with packing

low

When fine-tuning with Unsloth + TRL using sample packing or padding-free training, the trainer warns that the attention implementation is not flash_attention_2 even though it was configured. Flattened...

#unsloth#trl#flash-attention-2#packing

Unsloth Fused Loss Breaks with Transformers average_tokens_across_devices=True

high

Multi-GPU fine-tuning with Unsloth breaks when the Transformers default average_tokens_across_devices=True multiplies the loss by num_processes. The Unsloth fused-loss backward does not expect that sc...

#unsloth#transformers#average_tokens_across_devices#fused-loss

GRPO/vLLM: 'Inference tensors cannot be saved for backward'

high

GRPO training that feeds vLLM-generated tensors into the trainable graph fails with 'Inference tensors cannot be saved for backward'. vLLM produces tensors under torch.inference_mode(), which cannot e...

#grpo#vllm#inference-mode#autograd

Unsloth Gemma 3: 'Gemma3ModelOutputWithPast' object has no attribute 'loss'

high

Fine-tuning Gemma 3 with Unsloth crashes with AttributeError: 'Gemma3ModelOutputWithPast' object has no attribute 'loss'. A transformers change to the Gemma3 output class outran Unsloth_zoo's patch, w...

#unsloth#gemma3#transformers#attributeerror

Megatron-LM Hangs at Fused Kernel Compilation

medium

Megatron-LM training hangs at startup while compiling fused kernels (right after 'using torch.float16 for parameters ...') and never proceeds. A stale or contended megatron/fused_kernels/build directo...

#megatron-lm#fused-kernels#jit#ninja

ValueError: Another Profiling Tool Is Already Active

low

Enabling PyTorch Lightning's profiler raises 'ValueError: Another profiling tool is already active'. Python's cProfile allows only one active profiler per thread, so a second cProfile-based profiler (...

#pytorch-lightning#profiler#cprofile#advancedprofiler

PyTorch Lightning + torch.compile: MisconfigurationException on self.log

medium

Training a Lightning model with torch.compile crashes in the logger connector with a 'called self.log twice with different arguments' MisconfigurationException raised inside the compiled region. Dynam...

#pytorch-lightning#torch-compile#dynamo#graph-break

DeepSpeed Training Hangs at Start with HuggingFace auto_find_batch_size

medium

DeepSpeed (ZeRO offload) training with HuggingFace Trainer auto_find_batch_size=True hangs right after model load at 0/N steps. The batch-size auto-search re-initializes the engine and desynchronizes ...

#deepspeed#huggingface-trainer#auto_find_batch_size#hang

Gradient Explosion

high

Gradient explosions cause loss to diverge to NaN. Denpex traces the norm spike to the layer and step....

#gradient#explosion#training-stability#loss-divergence

NaN Loss During Training

high

NaN loss corrupts training state. Denpex traces NaN propagation to the originating layer....

#nan#loss#numerical-stability#precision

Weight Divergence Across Ranks

critical

Weight divergence silently corrupts distributed training. Denpex detects divergence by comparing per-rank weight snapshots....

#weight-divergence#ddp","fsdp#determinism#distributed

Infinity Loss / Inf Weights

critical

Infinity loss or weights occur when loss values overflow to infinity, often from numerical instability in mixed-precision training....

#inf#infinity#loss#numerical-stability

Zero Gradient / Dead Neurons

high

Zero gradients stall training when ReLU neurons die or gradient flow is broken in the network....

#dead-relu#zero-gradient#training-stability#activation

Loss Plateau / Training Stalled

high

Loss plateaus occur when training stops making progress, often due to suboptimal hyperparameters or model architecture issues....

#loss-plateau#training-stall","optimization#hyperparameter#plateau

Gradient Explosion Caused by Corrupted All-Reduce (Not Learning Rate)

high

Gradient norms explode suddenly while loss remains normal because the cross-rank reduction itself is corrupting values — in-network reduction (SHARP) faults, NCCL data corruption over a marginal link,...

#gradient-explosion#nccl#sharp#infiniband

CUDA Device-Side Assert from Tokenizer/Embedding Vocab Mismatch

high

indexSelectLargeIndex: srcIndex < srcSelectDimSize assertion fires when input token ids exceed the embedding table size — the standard outcome of pairing a tokenizer that has added tokens with a model...

#device-assert#cuda#tokenizer#embedding

NaN Loss from TransformerEngine FP8 Scaling Saturation

high

FP8 training with delayed scaling produces NaNs when an activation outlier saturates the scaling factor (amax history too short / margin too small). Loss and gradients are healthy until the exact step...

#nan-loss#fp8#transformer-engine#amax

Communication

57

NCCL CUDA Failure

critical

NCCL CUDA failures occur when the underlying CUDA runtime has issues, causing all NCCL operations to fail....

#nccl#cuda#error#communication

NCCL P2P Disabled

medium

NCCL P2P (peer-to-peer) communication can be disabled, forcing fallback to slower transport....

#nccl#p2p#intra-node#bandwidth

NCCL Hang Detection

high

NCCL hangs can be hard to detect because they don't produce errors until the watchdog timeout. Proper monitoring helps catch them early....

#nccl#hang#detection#monitoring

NCCL Wrong Rank Configuration

critical

Wrong rank configuration in NCCL causes collectives to fail or produce incorrect results when rank assignments don't match expectations....

#nccl#rank#distributed#configuration

NCCL P2P Communication Issue

high

NCCL peer-to-peer (P2P) communication issues cause pipeline parallelism and tensor parallelism to fail or be slow....

#nccl#p2p#nvlink#communication

Gloo Backend Issue

medium

Gloo backend issues occur when using Gloo instead of NCCL for distributed training, especially on CPU or limited GPU setups....

#gloo#nccl#backend#distributed

TCP Port Exhaustion

medium

TCP port exhaustion occurs in distributed training when many connections exhaust ephemeral port range....

#tcp#port#exhaustion#network

TorchElastic Error

high

TorchElastic errors occur when training jobs need to be elastic (resize dynamically) but configuration is wrong....

#torchelastic#elastic#rendezvous#etcd

Horovod Setup Error

high

Horovod setup errors occur when MPI or NCCL integration is misconfigured, preventing elastic or multi-GPU training....

#horovod#mpi#nccl#elastic

NCCL IB HCA Mismatch

medium

NCCL InfiniBand HCA (Host Channel Adapter) configuration mismatches cause slow or failed inter-node communication....

#nccl#infiniband#hca#communication

NCCL IPv6 Issue

low

NCCL IPv6 issues occur when NCCL tries to use IPv6 but the network only supports IPv4, or vice versa....

#nccl#ipv6#ipv4#network

Pipeline Parallel Bubble

medium

Pipeline parallelism has idle time (bubble) at start and end of each pipeline, reducing efficiency for small models or small micro-batches....

#pipeline-parallel#bubble#1f1b#megatron

AWS EFA Driver Issue

high

AWS EFA (Elastic Fabric Adapter) driver issues cause NCCL to fall back to slower TCP/IP for inter-node communication....

#efa#aws#nccl#inter-node

DDP Port Conflict

high

DDP port conflicts prevent distributed training from starting when the master port is already in use....

#ddp#port#conflict#distributed

RDMA Configuration Issue

medium

RDMA configuration issues prevent high-bandwidth, low-latency inter-node communication in GPU clusters....

#rdma#infiniband#mellanox#communication

NCCL Rank Fail

high

NCCL rank failures occur when one or more ranks fail to initialize or join the distributed group....

#nccl#rank#distributed#configuration

NCCL Version Mismatch

medium

NCCL version mismatches between nodes cause collective operations to fail or hang in distributed training....

#nccl#version#distributed#communication

DDP Setup Error

high

DDP setup errors occur when distributed data parallel training is not properly configured, preventing multi-GPU training....

#ddp#setup#distributed#torchrun

NCCL Bucket Size Mismatch

low

NCCL bucket size mismatches in DDP cause inefficient gradient reduction, hurting performance....

#ddp#bucket-size#gradient-reduction#performance

All-Reduce Deadlock

high

All-reduce deadlocks occur when DDP/FSDP all-reduce operations are mismatched across ranks or with batch norm....

#all-reduce#deadlock#ddp#distributed

NCCL Error 2: Internal Error

high

NCCL error 2 is an internal assertion failure in NCCL itself, often from corrupted state or hardware issues. Denpex correlates with hardware diagnostics....

#nccl#internal#error-2#assertion

NCCL Initialization Timeout

critical

NCCL initialization times out when nodes cannot establish the communication channel within the allowed time....

#nccl#init#timeout#distributed

NCCL Bad RDMA Performance

high

NCCL RDMA performance degrades when GPUDirect RDMA is unavailable or misconfigured, causing slow multi-node training....

#nccl#rdma#gpudirect#performance

NCCL Asynchronous Error Handling

high

NCCL asynchronous error handling issues cause silent failures or deadlocks when collective errors are not properly handled....

#nccl#async#error-handling#distributed

NCCL GPUDirect over RoCE

high

NCCL GPUDirect over RoCE (RDMA over Converged Ethernet) requires proper configuration for high performance....

#roce#rdma#nccl#gpudirect

NCCL P2P Bandwidth Issue

medium

NCCL point-to-point bandwidth issues cause slow intra-node GPU communication when P2P is disabled or limited....

#nccl#p2p#bandwidth#intra-node

NVLS Multicast Slot Exhaustion (NVSwitch)

high

NCCL exhausts the NVSwitch's fixed pool of NVLink SHARP (NVLS) multicast slots, then treats the binding failure as fatal instead of falling back to a non-NVLS transport....

#nccl#nvls#nvlink-sharp#nvswitch

RoCE QP Timeout During Distributed Checkpoint Save

high

NCCL queue-pair creation times out specifically during distributed checkpoint save at large scale on RoCE, while normal training collectives succeed....

#nccl#roce#infiniband#checkpoint

ncclUnhandledCudaError: Cuda failure 999 'unknown error'

high

A generic CUDA 'unknown error' (999) surfaces during NCCL communicator initialization, usually pointing to a GPU in a bad state or a driver/runtime mismatch rather than an NCCL bug....

#nccl#cuda#error-999#ddp

broadcast_coalesced Fails with Cuda failure 1 'invalid argument'

medium

DataParallel model replication fails at the SharedInit step with a CUDA invalid-argument error, often tied to legacy nn.DataParallel inside complex launchers....

#nccl#dataparallel#broadcast-coalesced#invalid-argument

FSDP ncclSystemError on InfiniBand (works on TCP)

high

FSDP all-gather fails with ncclSystemError on one node during collective init over InfiniBand, while a TCP fallback succeeds — pointing to a per-node fabric or plugin issue....

#nccl#fsdp#infiniband#system-error

NCCL RAS Query Crashes Job (Memory Corruption, 2.27.3)

high

Querying the NCCL RAS subsystem during training on NCCL 2.27.3 returns corrupted communicator data and can crash the job via TCPStore connection failures....

#nccl#ras#memory-corruption#tcpstore

NVLS Cuda failure 1 'invalid argument'

high

NCCL's NVLink SHARP (NVLS) transport repeatedly warns with CUDA 'invalid argument' during setup on H100-class nodes, usually resolved by disabling NVLS or aligning the CUDA/NCCL stack....

#nccl#nvls#invalid-argument#h100

NCCL 'Could not find NET with id 0' (NIC Fusion)

high

Intermittent NCCL internal errors during init on partial-node allocations, caused by the NIC-fusion feature remapping NET IDs so the hardcoded fallback NET/0 no longer exists....

#nccl#nic-fusion#net-id#kubernetes

NCCL RoCE GID Read Failed (Invalid argument)

high

NCCL fails to read the RoCE GID on containerized/macvlan setups because GID iteration starts at index 0 where leading entries are all-zero, returning EINVAL....

#nccl#roce#gid-index#macvlan

ncclCommSplit Segfault with Non-Blocking Init

high

A dangling group-job pointer causes a segfault during ncclCommSplit when using threads with non-blocking communicator init; fixed in NCCL 2.26.2....

#nccl#commsplit#segfault#non-blocking

NCCL RAS Race Segfault During Initialization

high

A race in the NCCL RAS subsystem segfaults during init when a RAS command runs before peer info is populated; fixed in NCCL 2.27.3....

#nccl#ras#segfault#initialization

NCCL NVLS Memory Corruption with Dual-Port NICs

high

NVLS did not support dual-port NIC transmission, producing duplicate head-rank entries in the proxy loop and heap corruption; fixed in NCCL 2.19.4....

#nccl#nvls#dual-port-nic#memory-corruption

NCCL Random Segfault from Out-of-Order NIC Names

high

Inconsistent NIC enumeration (e.g. mlx5_3 before mlx5_0) on one node breaks NCCL topology detection and causes random multi-node segfaults; fixed in NCCL 2.23.4....

#nccl#infiniband#nic-ordering#segfault

NCCL socketStartConnect: Software caused connection abort

medium

A stale socket file descriptor is reused on retry after a failed connect, triggering ECONNABORTED during NCCL communicator init; fixed in NCCL 2.24....

#nccl#socket#connection-abort#retry

NCCL P2P Fails on RTX 5090 / Blackwell (SM120)

medium

NCCL P2P topology detection lacks SM120 (Blackwell) support, using a wrong shared-memory maximum so peer-to-peer connections fail on RTX 5090....

#nccl#blackwell#rtx-5090#sm120

NCCL MNNVL Init Segfault at Large World Size (Stack Overrun)

high

On GB200 NVL72, NCCL's recursive MNNVL topology search overruns the stack at world_size >= 44, especially with ulimit -s unlimited; fixed in NCCL 2.28....

#nccl#mnnvl#gb200#stack-overrun

NCCL Proxy Connect Failed (IPv6 Interference)

medium

NCCL's proxy thread tries to connect over IPv6 while the peer only answers on IPv4, producing 'Proxy Connect failed' on dual-stack hosts....

#nccl#ipv6#proxy-connect#sockets

NCCL Hangs with Exactly Three InfiniBand NICs

medium

NCCL's NIC selection/path-finding can deadlock when a node has an odd number of HCAs (specifically three), while 1, 2, or 4+ work fine....

#nccl#infiniband#odd-nic#hang

RoCE MTU Mismatch — Completion Error 12 / Vendor Err 129

critical

RoCE MTU mismatches between the NIC and switch cause NCCL RDMA queue-pair errors (completion error 12, vendor error 129). Training hangs or crashes during NCCL init or the first collective. Denpex det...

#roce#mtu#infiniband#rdma

NCCL Mismatched Collective — Different Ranks Executing Different Operations

critical

NCCL mismatched collective errors occur when different ranks call different collective operations or call the same collective with different parameters. This is a programming error, not a hardware fau...

#nccl#collective#mismatch#ddp

OFI Memlock Exhaustion — RDMA Memory Registration Failure

critical

NCCL's OFI (OpenFabrics Interface) transport fails to register memory for RDMA when the OS memlock limit is too low. Training crashes at NCCL init with 'Unable to register memory RC:12'. Denpex detect...

#ofi#memlock#rdma#memory-registration

ACS Disabled — GPU Direct RDMA Failure (Vendor Err 81)

high

When Access Control Services (ACS) is disabled in the BIOS, GPU Direct RDMA (GDR) fails with RDMA completion error 4 and vendor error 81. NCCL performance degrades severely or training crashes. Denpex...

#acs#gdr#gpu-direct-rdma#rdma

NCCL Topology XML Missing NIC Bus ID

high

NCCL topology detection fails when the NIC's PCI bus ID is missing from the system topology XML. This causes NCCL to fall back to a suboptimal transport or fail to use GPU Direct RDMA. Denpex detects ...

#nccl#topology#busid#nic

NCCL BUFFSIZE Oversized — Socket Transport Stall

medium

Setting NCCL_BUFFSIZE too large causes NCCL Socket transport to stall or hang during communication. This is a configuration error where users increase the buffer size hoping for better performance but...

#nccl#buffsize#socket#buffer

NCCL Topology Detection Regression (v2.18.3+)

high

NCCL v2.18.3 introduced a topology detection regression that misidentifies GPU-NIC affinity on some systems, causing NCCL to use a suboptimal communication path. Denpex detects the regression from NCC...

#nccl#topology#regression#version

NCCL AllReduce Hang

critical

NCCL allreduce hangs stall training when collective operations can't complete. Denpex identifies the stuck rank or rank pair....

#nccl#allreduce#hang#communication

NCCL Communication Timeout

critical

NCCL communication timeouts abort training when collective operations take too long to complete....

#nccl#communication#timeout#distributed

NCCL Initialization Error

critical

NCCL initialization errors prevent distributed training from starting due to network or configuration issues....

#nccl#init#error#network

NCCL Rank Stuck / Straggler

high

NCCL rank stuck errors occur when one rank cannot keep up with the collective operation, slowing down all ranks....

#nccl#straggler#rank#communication

NCCL Version Conflict

high

NCCL version conflicts prevent proper collective operations when nodes have different versions installed....

#nccl#version#conflict#incompatible

DNS Resolution Failure Cascading into Rendezvous and NCCL Bootstrap Errors

high

When cluster DNS degrades, every layer above it fails with ITS own vocabulary: gaierror in python, client-socket failures in torch.distributed, bootstrap failures in NCCL. Teams debug the fabric while...

#dns#rendezvous#nccl-bootstrap#coredns

Data Pipeline

49

Augmentation Pipeline Error

high

Augmentation pipeline errors cause inconsistent or corrupted training data when transforms fail or produce unexpected outputs....

#augmentation#data-pipeline#transforms#image

TorchData Pipeline Error

medium

TorchData (torch.utils.data.datapipes) errors occur when complex data pipelines have configuration or compatibility issues....

#torchdata#datapipes#data-pipeline#streaming

HDF5 Data Corruption

high

HDF5 file corruption causes training to fail with I/O errors or silently load incorrect data....

#hdf5#h5py#data-corruption#file-format

Arrow IPC Format Error

medium

Apache Arrow IPC errors occur when serialized Arrow data is corrupted or has version incompatibilities....

#arrow#ipc#pyarrow#data-pipeline

TFRecord / tf.data Error

medium

TFRecord and tf.data errors occur when TensorFlow data pipeline has issues with the training data or pipeline configuration....

#tfrecord#tf-data#tensorflow#data-pipeline

ImageNet Preprocessing Mismatch

medium

ImageNet preprocessing mismatches cause pretrained models to underperform because input normalization differs from training....

#imagenet#preprocessing#normalization#transfer-learning

WebDataset TAR Corruption

medium

WebDataset TAR file corruption causes data loading failures and missing samples during training....

#webdataset#tar#data-pipeline#corruption

Augmentations Too Aggressive

medium

Overly aggressive data augmentations hurt model performance by distorting critical features in training data....

#augmentation#albumentations#randaugment#cutmix

MMap File Handle Exhaustion

medium

Memory-mapped (mmap) file handles are exhausted when datasets have many large files, causing data loading failures....

#mmap#ulimit#file-handles#hdf5

Shuffle Buffer Too Small

low

Small shuffle buffers cause poor data ordering during training, hurting model generalization....

#shuffle#data-pipeline#buffer#order

Tokenizer Padding Mismatch

medium

Tokenizer padding mismatches cause data loader errors or poor model performance when padding side or token ID differs....

#tokenizer#padding#attention-mask#generation

Audio Sample Rate Mismatch

medium

Audio sample rate mismatches between training data and pretrained models cause poor ASR/TTS performance....

#audio#sample-rate#whisper#asr

Parquet Schema Mismatch

medium

Parquet schema mismatches occur when reading parquet files with different schemas than expected by the loading code....

#parquet#schema#pyarrow#data-pipeline

Streaming Data Error

medium

Streaming data errors occur when loading data from cloud storage or remote endpoints fails mid-training....

#streaming#s3#gcs#hf-datasets

Video Codec Mismatch

medium

Video codec mismatches between training data and pretrained video models cause loading failures or poor performance....

#video#codec#decord#ffmpeg

TFRecord Corrupted Shard

medium

TFRecord corrupted shard errors occur when individual TFRecord files are truncated or have inconsistent examples....

#tfrecord#corruption#shard#tensorflow

LMDB Corruption

medium

LMDB corruption occurs when LMDB files are not properly closed, transactions interrupted, or map_size exceeded....

#lmdb#corruption#map-size#data-pipeline

RAG Embedding Mismatch

medium

RAG embedding mismatches cause retrieval to return irrelevant documents when embedding model differs between indexing and query....

#rag#embedding#retrieval#vector-search

Multi-Label Class Imbalance

medium

Multi-label class imbalance causes poor performance on rare labels and biased predictions toward frequent labels....

#multi-label#class-imbalance#focal-loss#bce

Contrastive Learning Augmentation

medium

Contrastive learning augmentation pipelines must be carefully tuned to create useful positive pairs without destroying semantic content....

#contrastive#simclr#clip#self-supervised

Image Resize Artifacts

low

Image resize artifacts degrade model accuracy when resize method (BILINEAR, BICUBIC, LANCZOS) doesn't match pretrained model expectations....

#image-resize#bilinear#bicubic#lanczos

LLM Tokenization Truncation

medium

LLM tokenization truncation silently cuts long sequences, causing loss of information in long documents....

#tokenization#truncation#long-context#rag

Data Versioning Issue

medium

Data versioning issues occur when training data changes between runs without tracking, making results non-reproducible....

#data-versioning#dvc#reproducibility#data-pipeline

Dataset Bias

high

Dataset bias causes models to learn spurious correlations that don't generalize to real-world data....

#dataset-bias#fairness#bias#spurious-correlation

Validation Set Leakage

high

Validation set leakage causes overly optimistic metrics because training data includes validation samples....

#data-leakage#validation#preprocessing#reproducibility

Tokenizer Version Mismatch

medium

Tokenizer version mismatches between training and inference cause different token IDs for same text, breaking model behavior....

#tokenizer#version#nlp#reproducibility

Image Corruption Detection

medium

Image corruption detection helps identify and skip/fix corrupted images that would otherwise crash training....

#image-corrupt#pil#torchvision#data-pipeline

Determinism Broken

medium

Broken determinism causes non-reproducible training runs, making debugging and comparison difficult....

#determinism#reproducibility#seed#data-pipeline

Multi-Task Learning Conflict

medium

Multi-task learning conflicts arise when tasks have different scales, gradients, or learning dynamics that destabilize training....

#multi-task#gradnorm#pcgrad#training-stability

Missing Data Augmentation

medium

Missing data augmentation causes overfitting and poor generalization, especially on small datasets....

#augmentation#overfitting#small-data#data-pipeline

Class Imbalance

high

Class imbalance causes models to predict majority class and have poor performance on minority classes....

#class-imbalance#focal-loss#oversampling#long-tail

Audio Channel Mismatch

medium

Audio channel mismatches (mono vs stereo) cause model errors or poor performance in audio ML pipelines....

#audio#mono#stereo#channel

Text Encoding Mismatch

medium

Text encoding mismatches (UTF-8 vs Latin-1) cause data loading failures or corruption in NLP training....

#text-encoding#utf-8#unicode#data-pipeline

Tokenization Error

medium

Tokenization errors occur when text data has issues that prevent proper tokenization....

#tokenization#text#encoding#nlp

HuggingFace Tokenizer Error

medium

HuggingFace tokenizer errors crash training when tokenizer configuration mismatches model architecture....

#tokenizer#huggingface#transformers#data-pipeline

Data Augmentation Error

medium

Data augmentation errors occur when augmentation libraries fail or produce corrupted outputs....

#augmentation#image#preprocessing#data

Python Multiprocessing Fork Issue

high

Python multiprocessing fork issues cause workers to deadlock or share state incorrectly across ranks....

#python#multiprocessing#fork#worker

PyTorch Multiprocessing Error

high

PyTorch multiprocessing errors prevent DataLoader workers from functioning correctly....

#torch-multiprocessing#dataloader#worker#pickle

Dataloader num_workers=0 Too Slow

medium

DataLoader with num_workers=0 is often too slow for GPU training, causing the GPU to wait for data....

#dataloader#num-workers#performance#pipeline

Pinned Memory Transfer Issue

medium

Pinned memory transfer issues cause slow GPU-CPU data transfer or OOM errors....

#pin-memory#host-memory#dataloader#pipeline

BatchNorm DDP Synchronization Issue

high

BatchNorm synchronization issues in DDP cause inconsistent statistics between ranks and degraded model quality....

#batchnorm#sync#ddp#distributed

WebDataset Error

high

WebDataset errors occur when streaming dataset format has corrupted shards or URL issues....

#webdataset#streaming#data#shards

Tokenizer Padding and Truncation Error

medium

Tokenizer padding and truncation errors cause sequence length mismatches and OOM during training....

#tokenizer#padding#truncation#nlp

Audio Data Loading Error

medium

Audio data loading errors occur when audio files are corrupted, format unsupported, or sample rates mismatch....

#audio#torchaudio#librosa#data-pipeline

PyTorch Lightning Fault-Tolerant Resume Fails with DataLoader num_workers>1

medium

Resuming a run with PyTorch Lightning's experimental fault-tolerant training raises a MisconfigurationException about the worker state when the DataLoader uses num_workers>1. The feature never reliabl...

#pytorch-lightning#fault-tolerance#dataloader#num_workers

Unsloth SFTTrainer: 'int' object has no attribute 'mask_token'

medium

Constructing an Unsloth SFTTrainer (often in Colab) raises AttributeError: 'int' object has no attribute 'mask_token'. The crash comes from API drift between Unsloth's patched trainer __init__ and a n...

#unsloth#sfttrainer#trl#colab

HuggingFace datasets .map() 'subprocess abruptly died' on Windows

medium

Dataset preprocessing with datasets.map(num_proc>1) crashes on Windows with 'One of the subprocesses has abruptly died during map operation'. Windows uses spawn rather than fork, so non-picklable map ...

#huggingface-datasets#windows#multiprocessing#map

Dataloader Worker Failure

high

Dataloader worker failures stall training or produce corrupted batches....

#dataloader#worker#data-pipeline#multiprocessing

Data Pipeline / DataLoader Stalls

medium

Training is bottlenecked or completely halted due to the DataLoader failing to fetch the next batch in time....

#dataloader#stall#io#storage

Memory

46

CPU Offloading Overhead

medium

CPU offloading reduces GPU memory but adds significant CPU-GPU transfer overhead, slowing training....

#cpu-offloading#memory#performance#deepspeed

Activation Memory Spike

high

Activation memory spikes during specific operations cause transient OOM even when steady-state memory fits....

#activation-memory#attention#sequence-length#peak-memory

Memory Summary Tool Usage

low

torch.cuda.memory_summary() helps debug memory issues but output can be overwhelming without understanding it....

#memory-summary#debugging#profiling#cuda

PyTorch Caching Allocator Debug

low

Debugging PyTorch's caching allocator helps identify memory issues but requires understanding its behavior....

#caching-allocator#debugging#memory#pytorch

CPU RAM Exhaustion During Training

high

CPU RAM exhaustion during training kills the process or causes swapping that drastically slows training....

#cpu-ram#host-memory#oom#swap

Gradient Accumulation Memory Spike

medium

Gradient accumulation can cause unexpected memory spikes when scaled batch size is large or loss is not properly reduced....

#gradient-accumulation#memory#ddp#no-sync

Memory Leak in DataLoader

high

Memory leaks in DataLoader workers cause steadily growing memory usage over training epochs....

#dataloader#memory-leak#worker#num-workers

CUDA Graph Memory Trap

medium

CUDA Graphs capture memory allocations that are hard to release, causing memory leaks across graph replays....

#cuda-graph#memory-pool#capture#memory

KV Cache Memory Growth

medium

KV cache memory grows with sequence length in transformer inference and some training setups, causing OOM at long contexts....

#kv-cache#inference#long-context#transformer

Inference Memory Leak

high

Inference memory leaks cause growing GPU memory usage during serving, eventually OOM-ing the server....

#inference#memory-leak#serving#llm

Pinned Memory Overuse

medium

Pinned (page-locked) memory overuse causes system RAM exhaustion and slow CPU-GPU transfers when over-allocated....

#pinned-memory#page-locked#dataloader#cpu-ram

Activation Distillation Memory

medium

Activation distillation memory costs grow with teacher model size and student hidden dimension matching requirements....

#distillation#knowledge-distillation#teacher-student#memory

Flash Attention Memory

low

Flash Attention saves memory by not materializing the full attention matrix, but has shape and dtype constraints....

#flash-attention#memory-efficient#attention#long-context

Transformer Cache Memory

medium

Transformer cache (KV cache, past_key_values) memory grows with sequence length and can cause OOM at inference....

#kv-cache#transformers#llm#inference

Dataset Cache Memory

medium

Dataset cache memory usage grows when transformations or augmentations are applied before batching....

#dataset-cache#hf-datasets#webdataset#cache

Gradient Checkpointing Tradeoff

medium

Gradient checkpointing trades compute for memory; misconfiguration can either not save memory or drastically slow training....

#gradient-checkpointing#activation-memory#memory-vs-compute#training-stability

torch.compile Memory

medium

torch.compile can use additional memory for graph compilation, guard evaluation, and dynamic shape handling....

#torch-compile#dynamo#compilation#memory

cuDNN Benchmark Memory

low

cuDNN benchmark mode can use more memory for algorithm search, and not all algorithms work with all configs....

#cudnn#benchmark#memory#performance

Tensor Parallel Memory

medium

Tensor parallel training splits model across GPUs, but communication buffers and synchronization can still cause OOM....

#tensor-parallel#megatron#model-parallel#memory

Checkpoint Loading Memory

medium

Loading checkpoints can temporarily double memory usage because both old and new model states exist in memory....

#checkpoint#loading#memory#safetensors

Safetensors Load Error

low

Safetensors load errors occur from corrupted files, version mismatches, or architecture mismatches with the loading model....

#safetensors#checkpoint#load#corruption

Tensor Views Memory Leak

low

Tensor views (slices, reshapes, transposes) can hold references to large base tensors, preventing memory release....

#tensor-views#memory-leak#reference-counting#memory

Pipeline Parallel Memory

medium

Pipeline parallel memory issues arise from stage imbalance, bubble overhead, and activation storage across micro-batches....

#pipeline-parallel#activation-memory#stage-balance#memory

DeepSpeed OOM

high

DeepSpeed OOM errors occur when ZeRO partitioning, CPU offload, or activation partitioning is misconfigured....

#deepspeed#zero#offload#memory

FSDP All Gather Timeout

medium

FSDP all-gather operations can timeout when parameters are large or network is slow, causing training to fail....

#fsdp#all-gather#timeout#distributed

CUDA Context Leak

medium

CUDA context leaks occur when CUDA contexts are not properly destroyed, accumulating GPU memory across processes....

#cuda-context#memory-leak#multiprocessing#memory

CUDA Caching Allocator Fragmentation

medium

CUDA caching allocator fragmentation causes OOM despite enough total free memory, due to non-contiguous blocks....

#cuda-allocator#fragmentation#memory#memory-pool

Optimizer State Memory

medium

Optimizer state memory (Adam: 2x model size, AdamW: 2x) can exceed model size memory, dominating total usage....

#optimizer#adam#adamw#state

Transformer Attention Memory

medium

Transformer attention memory grows quadratically with sequence length; long-context training requires Flash Attention or similar....

#attention#transformer#long-context#flash-attention

Embedding Layer Memory

medium

Embedding layer memory grows with vocabulary size and can dominate total memory for large vocab models....

#embedding#vocabulary#llm#memory

CUDA Out of Memory

critical

CUDA out of memory is the most common training error, occurring when GPU memory is exhausted....

#cuda#oom#memory#critical

Activation Checkpointing Compatibility

low

Activation checkpointing compatibility issues arise when using torch.compile, FSDP, or DDP with checkpointing....

#activation-checkpointing#torch-compile#fsdp#ddp

Python Out of Memory

high

Python OOM kills the training process when Python's heap memory is exhausted, even if GPU memory is fine....

#python#oom#memory#heap

CUDA Shared Memory Limit Exceeded

medium

CUDA shared memory limits are reached when kernels use too much shared memory per block....

#cuda#shared-memory#kernel#memory

CUDA Caching Allocator Issue

high

CUDA caching allocator issues cause memory not being released back to the GPU when expected....

#cuda#caching-allocator#memory#pytorch

CUDA Unified Memory Error

high

CUDA Unified Memory (UVM) errors cause page faults and performance issues when memory oversubscription occurs....

#cuda#uvm#unified-memory#page-fault

Activation Checkpoint Misuse

high

Activation checkpointing misuse causes either OOM (not enough checkpointing) or slow training (too much checkpointing)....

#activation-checkpointing#gradient-checkpointing#memory#optimization

DeepSpeed ZeRO Offload Host-RAM OOM (SIGKILL -9)

high

ZeRO CPU/NVMe offload materializes parameters and optimizer states in host RAM on every rank, exhausting system memory and getting the process OOM-killed with no Python traceback....

#deepspeed#zero-offload#host-ram#oom

DeepSpeed FusedAdam Illegal Memory Access on H100

critical

DeepSpeed FusedAdam optimizer triggers CUDA illegal memory access errors on NVIDIA H100 GPUs. This is a compatibility issue between FusedAdam's CUDA kernels and H100's SM90 architecture. Denpex detect...

#deepspeed#fusedadam#h100#sm90

DeepSpeed ZeRO GPU Memory Not Freed After Training (hooks leak)

high

GPU memory is not released after trainer.train()/engine teardown, so repeated training calls (CV folds, hyperparameter sweeps) leak until OOM. DeepSpeed left gradient-accumulation/backward hooks attac...

#deepspeed#zero-2#memory-leak#hooks

DeepSpeed ZeRO-3 High GPU Memory / OOM Loading a Large Model Without zero.Init

high

Fine-tuning a large model (e.g. Flan-T5-XXL 11B) with ZeRO-3 uses far more GPU memory than expected or OOMs at load because the model was constructed outside DeepSpeed's zero.Init context. Every rank ...

#deepspeed#zero-3#zero-init#hf-deepspeed-config

CUDA Memory Leak

high

CUDA memory leaks accumulate over training, eventually causing OOM. Denpex tracks allocation patterns to identify leaks....

#cuda#memory#leak#allocation

Memory Fragmentation

high

Memory fragmentation causes OOM even when total free memory is sufficient, because no contiguous block is available for the allocation....

#cuda#memory","fragmentation","pytorch","oom#allocator

Host OOM Killed

critical

Host OOM (out of memory) kills training processes when system RAM is exhausted, often silently....

#host","oom","memory","system","kill#ram

CUDA Memory Allocation Failed

high

CUDA memory allocation fails when the requested memory block cannot be allocated, often due to fragmentation or insufficient total memory....

#cuda#memory","allocation","oom#fragmentation

Host RAM OOM-Kill of DataLoader Workers Misread as GPU OOM

high

The kernel oom-killer (or cgroup limit) kills python workers whose RSS grew unbounded — shard caches, tokenized-in-RAM datasets, prefetch queues. Surface strings ("Out of memory", "Killed") route engi...

#host-oom#oom-killer#dataloader#cgroup

Environment

45

Python Path Conflict

medium

Python path conflicts cause wrong module versions to be loaded, leading to subtle bugs and errors....

#python#path#import#environment

HuggingFace Tokenizers Rust Error

medium

HuggingFace tokenizers library uses Rust backend, which can fail with native errors not visible in Python traceback....

#tokenizers#rust#native#huggingface

Python Multiprocessing Fork Issue

medium

Python multiprocessing fork issues cause CUDA context conflicts and worker process deadlocks....

#python#multiprocessing#fork#cuda

Python Version Mismatch

medium

Python version mismatches between training and inference cause subtle bugs from library incompatibilities....

#python#version#environment#compatibility

OpenMPI / MPI Issue

medium

OpenMPI and general MPI issues cause distributed training to fail at initialization or hang during collectives....

#mpi#openmpi#horovod#deepspeed

HuggingFace Hub Error

medium

HuggingFace Hub errors occur when downloading models or datasets fails due to auth, network, or rate limits....

#huggingface#hub#model-download#dataset-download

SSH Key Authentication Issue

medium

SSH key authentication issues prevent passwordless login for distributed training and remote execution....

#ssh#authentication#key#environment

Conda Environment Conflict

medium

Conda environment conflicts cause package version mismatches, broken dependencies, and hard-to-debug import errors....

#conda#environment#dependency#conflict

PyTorch CUDA Mismatch

high

PyTorch CUDA version mismatch with installed CUDA toolkit/driver causes import errors or runtime failures....

#pytorch#cuda#driver#version-mismatch

Libc Version Mismatch

medium

Libc (glibc, musl) version mismatches between training and deployment cause binary incompatibility and runtime errors....

#libc#glibc#musl#alpine

Docker Image Mismatch

medium

Docker image mismatches between dev and production cause code to behave differently due to library versions, CUDA, or system dependencies....

#docker#container#image#environment

GCC Version Mismatch

medium

GCC version mismatches cause C++ extension compilation failures and runtime library incompatibilities....

#gcc#compiler#libstdc++#environment

SSL Certificate Error

medium

SSL certificate errors prevent downloading models, datasets, or connecting to APIs in ML training pipelines....

#ssl#certificate#https#proxy

Ulimit Too Low

medium

Low ulimit values (open files, max processes) cause data loading failures and parallel training issues....

#ulimit#open-files#resource-limit#environment

Environment Variable Not Set

low

Missing environment variables (CUDA_VISIBLE_DEVICES, HF_TOKEN, MASTER_ADDR) cause silent failures or wrong behavior....

#env-variable#configuration#deployment#environment

Connection Timeout

medium

Connection timeouts prevent model downloads, data fetches, and inter-node communication from completing....

#timeout#connection#network#environment

Timezone / UTC Mismatch

low

Timezone mismatches cause confusion in distributed training logs, scheduled jobs, and time-based events....

#timezone#utc#time#environment

Docker GPU Passthrough Error

high

Docker containers fail to access GPUs when nvidia-docker or GPU passthrough is not properly configured....

#docker#container#gpu#passthrough

Docker Permission Error

medium

Docker permission errors prevent containers from accessing required resources like GPUs, files, or network....

#docker#container#permissions#gpu

Python Import Error

medium

Python import errors prevent training from starting when modules cannot be loaded....

#python#import#module#environment

Type Error (Python)

medium

Python type errors crash training when incompatible types are used in operations....

#type-error#python#typing#debugging

Value Error (Python)

medium

Python value errors crash training when functions receive values of correct type but inappropriate value....

#value-error#python#validation#debugging

Key Error (Python Dictionary)

medium

Python key errors crash training when accessing dictionary keys that don't exist....

#key-error#python#dictionary#debugging

Attribute Error (Python)

medium

Python attribute errors crash training when accessing attributes that don't exist on objects....

#attribute-error#python#attribute#debugging

Index Error (Python)

medium

Python index errors crash training when accessing list/tuple indices that don't exist....

#index-error#python#indexing#debugging

PyTorch Hub Error

medium

PyTorch Hub errors prevent loading pretrained models or datasets from torch.hub....

#torch-hub#pretrained#model-loading#environment

PyTorch CUDA Error (Generic)

high

Generic PyTorch CUDA errors indicate various GPU-related issues that prevent training....

#torch-cuda#gpu#cuda#generic

Torchvision Error

medium

Torchvision errors prevent loading pretrained vision models or using vision transforms....

#torchvision#vision#pretrained#environment

Transformers Version Mismatch

high

Transformers version mismatches between training and inference cause subtle bugs and performance regressions....

#transformers#version-mismatch#inference#environment

Unsloth Studio Streaming Chat Crashes on Python 3.13 (anyio cancel scope)

high

Streaming chat completions from Unsloth Studio's OpenAI-compatible endpoint crash with a RuntimeError about exiting a cancel scope in a different task, on macOS with Python 3.13. The anyio/Starlette s...

#unsloth#python-3.13#anyio#asyncio

No Matching Distribution Found for bitsandbytes on macOS

medium

Installing a QLoRA/4-bit training stack (Axolotl, TRL, Unsloth) on macOS fails with 'No matching distribution found for bitsandbytes==0.43.0'. bitsandbytes historically shipped only CUDA Linux/Windows...

#bitsandbytes#macos#apple-silicon#qlora

DeepSpeed ImportError: '_disable_dynamo_if_unsupported' is not defined

high

Importing DeepSpeed fails with NameError/ImportError for _disable_dynamo_if_unsupported because DeepSpeed references a torch internal symbol absent from the installed torch version. Aligning the torch...

#deepspeed#torch#importerror#version-mismatch

DeepSpeed async_io/aio Won't Compile on Windows

medium

Installing DeepSpeed on native Windows fails building the async_io op because it depends on Linux libaio, which has no Windows equivalent. DeepSpeed targets Linux; use WSL2 or a Linux host, or build w...

#deepspeed#windows#async_io#libaio

DeepSpeed ImportError: cannot import '_get_socket_with_port' from torch.distributed.elastic

high

DeepSpeed import/launch fails with 'cannot import name _get_socket_with_port from torch.distributed.elastic.agent.server.api' because DeepSpeed uses a torch internal symbol that was renamed/removed in...

#deepspeed#torch#torchelastic#importerror

UnicodeDecodeError Importing Unsloth on Windows (missing encoding=utf-8)

medium

Importing Unsloth on Windows fails with a UnicodeDecodeError because an internal open() omitted encoding='utf-8' and Windows defaults to cp1252. Upgrade Unsloth (now passes the encoding), or set PYTHO...

#unsloth#windows#unicodedecodeerror#encoding

Axolotl ModuleNotFoundError After a Successful pip Install

medium

A git/editable install of Axolotl reports success, but importing axolotl or running accelerate launch -m axolotl.cli.train fails with ModuleNotFoundError. The src-layout package never landed on the pa...

#axolotl#pip#editable-install#modulenotfound

Megatron @jit_fuser Fails: 'Unknown type constructor Sequence'

medium

torch.jit.script on a Megatron @jit_fuser-decorated function fails with 'Unknown type constructor Sequence' on newer torch. TorchScript can't resolve typing.Sequence as used inside the fused function....

#megatron-lm#torchscript#jit_fuser#typing

DeepSpeed cpu_adam Build Fails: 'cusolverDn.h: No such file or directory'

medium

Building DeepSpeed's cpu_adam op fails with 'fatal error: cusolverDn.h: No such file or directory' and 'Error building extension cpu_adam'. PyTorch's conda package shipped its own nvcc that shadows th...

#deepspeed#cuda#cusolver#nvcc

DeepSpeed Windows Build Fails (LNK1181 aio.lib / missing stdint)

low

Building a DeepSpeed wheel on Windows 11 fails with 'LINK : fatal error LNK1181: cannot open input file aio.lib' and header compile errors. async_io/libaio is Linux-only and some headers don't compile...

#deepspeed#windows#build#aio

Import / Environment Error

medium

Import and environment errors crash training at startup due to missing or mismatched dependencies....

#import-error#environment#dependencies#cuda

PyTorch / CUDA / cuDNN Version Mismatch

high

Version mismatches between PyTorch, CUDA, and cuDNN cause cryptic errors....

#version-mismatch#cuda#cudnn#pytorch

CUDA Driver / Runtime Mismatch

high

CUDA driver and runtime version mismatches prevent PyTorch from initializing CUDA....

#cuda-driver-mismatch#environment#nvidia#compatibility

PyTorch Not Compiled With CUDA

high

PyTorch installed without CUDA support prevents GPU training entirely....

#pytorch-cpu#cuda-not-available#installation#environment

Container CUDA Runtime Mismatch with Host Driver

high

The containerized CUDA runtime fails to execute kernels because the host NVIDIA driver is too old to support it....

#cuda#driver#container#mismatch

Apptainer/Singularity --nv GPU Binding Failures

medium

HPC containers lose GPU access when --nv cannot locate host driver libraries (nonstandard driver install paths, missing nvidia-container-cli, ldconfig cache staleness) or when overlay mounts fail on k...

#apptainer#singularity#containers#nv-binding

Infrastructure

40

Dual ISP BGP Route Withdrawal Causing Complete GPU Cloud Region Outage

critical

Lambda Labs' us-south-3 region experienced a complete network outage when both redundant ISPs simultaneously stopped advertising BGP routes. The primary fiber link was damaged the prior day, shifting ...

#lambda#bgp#isp#network-outage

Routine UPS Maintenance Triggering Cascading Power and Cooling Failure Across GPU Cloud Region

critical

A routine UPS-related maintenance procedure in Lambda's us-south-1 region unexpectedly affected power delivery to cooling systems, causing networking equipment and other hardware to either power off o...

#lambda#ups#cooling-failure#power-failure

Remediation Storm Prevention via Circuit Breaker Pattern in AutoClusters

high

Crusoe's AutoClusters system implements a circuit breaker pattern that pauses automatic node replacement when failure patterns look anomalous. If too many nodes in a cluster fail within a short window...

#crusoe#autoclusters#circuit-breaker#remediation-storm

Network Storage Volume Causing Process Hangs on H100 GPU Nodes

high

RunPod discovered an issue affecting pods using volume disk or network storage in their CA-MTL-1 region. When executing commands on storage-backed files, processes would hang indefinitely even though ...

#runpod#network-storage#process-hang#nfs

MongoDB Info Cache Collection Queries Overloading Database During HuggingFace Hub Outage

critical

The Hugging Face Hub suffered an extended 36-hour outage when repeated requests to space_info_cache and datasets_info_cache MongoDB collections overloaded the database cluster. A script repeatedly que...

#huggingface#mongodb#cache#database-outage

Ray Actor Resource Reservation Causing GPU Starvation from Occupied CPU Slots

high

Anyscale users experienced GPU starvation when CPU-heavy Ray actors consumed all available CPU slots on GPU nodes, preventing GPU-dependent actors from ever being scheduled. A SpectrogramExtractor wit...

#anyscale#ray#actor-scheduling#cpu-gpu-deadlock

Host Component Kernel Panic Causing Intermittent Network Connectivity on GH200 Instances

high

Lambda's us-east-3 region, serving exclusively GH200 instances, experienced intermittent network connectivity caused by a host component kernel panic. Nodes would crash and become unreachable until po...

#lambda#gh200#kernel-panic#network-intermittent

Ray Data Auto-Scaling Failure from Resource Shape Mismatch Between Requested and Available

medium

Ray Data auto-scaling fails when operator resource requirements exceed available cluster resources, throwing ActorUnschedulableError. The specific case documented by Anyscale involved a MapBatches ope...

#anyscale#ray#autoscaling#resource-shape

AWS us-east-1 Outage Degrading GPU Cloud Control Plane with Multi-Region Failover Response

high

An AWS us-east-1 outage degraded RunPod's control plane, making the UI, API, and serverless coordination unavailable for GPU users. However, running pod workloads remained fully operational since GPU ...

#runpod#aws#control-plane#region-outage

Xet Storage Migration Workers Filling Disk with Orphaned Temporary Shard Files

high

During HuggingFace's migration from Git LFS to Xet storage backend, migration worker pods filled their ephemeral disks with orphaned temporary shard files. The shard files were first written to /tmp a...

#huggingface#xet#storage-migration#disk-pressure

NCCL Errors as Surface Symptom for Diverse Underlying Infrastructure Root Causes

medium

In large-scale distributed training, NCCL errors are almost always the surface symptom rather than the root cause. The actual failure originates at a lower infrastructure layer: GPU hardware fault, st...

#coreweave#nccl#root-cause#diagnosis

RAID Storage Failure

critical

RAID storage failures cause data loss and training interruption when storage media degrades....

#raid#storage#hardware#failure

SLURM Cgroup Limit

high

SLURM cgroup limits restrict resources (CPU, memory, GPU) for jobs, causing OOM kills or throttling when exceeded....

#slurm#cgroup#memory#infrastructure

Kubernetes GPU Pod Pending

high

Kubernetes GPU pods can stay in Pending state when GPU resources are not available or configured incorrectly....

#kubernetes#k8s#gpu#scheduling

DCGM Exporter Error

medium

DCGM Exporter errors prevent GPU metrics from being collected for monitoring, alerting, and observability....

#dcgm#exporter#monitoring#prometheus

nvidia-smi Missing or Broken

high

nvidia-smi is missing or broken when NVIDIA driver is not properly installed, blocking GPU access entirely....

#nvidia-smi#driver#cuda#container

GPU Temperature Throttling

high

GPU temperature throttling reduces clock speed and performance when GPUs overheat, sometimes causing training failures....

#temperature#thermal#throttling#cooling

Cluster Shared Storage Slow

high

Cluster shared storage (NFS, Lustre, GPFS) can be a major bottleneck for distributed training data loading....

#storage#nfs#lustre#gpfs

MIG and MPS Conflict

medium

MIG (Multi-Instance GPU) and MPS (Multi-Process Service) both partition GPU resources, causing conflicts when used together....

#mig#mps#gpu-sharing#multi-tenant

GPU TDP / Power Limit

medium

GPU TDP and power limit configuration affects performance, thermals, and energy efficiency of training workloads....

#tdp#power-limit#gpu-clocks#power

SLURM Time Limit

high

SLURM time limit causes training jobs to be killed when they exceed their requested walltime, losing progress....

#slurm#time-limit#walltime#checkpoint

Container Time Drift

low

Container time drift occurs when container time differs from host time, causing TLS failures and timestamp issues....

#time-drift#ntp#container#infrastructure

DNS Resolution Failure

medium

DNS resolution failures prevent distributed training from finding nodes, downloading from HF Hub, or connecting to services....

#dns#hostname#network#infrastructure

Ray Task Timeout

high

Ray task timeouts occur when tasks take longer than the configured timeout....

#ray#task-timeout#infrastructure#fault-tolerance

Ray Dataset Out of Memory

high

Ray Dataset OOM occurs when the dataset pipeline uses more memory than available in Ray object store or worker memory....

#ray-dataset#oom#infrastructure#object-store

NFS / Network Filesystem Stall

high

NFS stalls freeze training when the storage server becomes unresponsive....

#nfs#network#storage#stall

Cloud Storage Throttling

high

Cloud storage throttling slows or fails training when too many requests hit the storage service....

#cloud-storage#throttling#rate-limit#infrastructure

SLURM Node Out of Memory

critical

SLURM node OOM kills training when the requested memory exceeds the SLURM memory limit....

#slurm#node#oom#memory

Cloud GPU Quota Exceeded

high

Cloud GPU quota limits prevent spinning up new training instances when the account has exhausted its allocated GPU quota....

#cloud#quota#gpu#infrastructure

GPU Scheduling Delay

medium

GPU scheduling delays cause jobs to wait in queue for GPU resources to become available....

#gpu#scheduling#queue#infrastructure

Parameter-Plane Cable Link Down

high

A physical link on the parameter (backend) network plane goes down, isolating a node's RDMA path and stalling distributed collectives — one of the most common hardware faults in production traces....

#network#cable#link-down#infrastructure

NIC Degradation (Link Speed Low / NIC Lost / GID Error)

high

A network interface degrades — negotiating a lower link speed, disappearing, or reporting GID errors — silently throttling RDMA collective throughput across the job....

#nic#link-speed#degradation#rdma

Power Supply Failure / Redundancy Lost

high

A node power supply fails or loses redundancy, risking a hard node-down event mid-training; sensor telemetry gives early warning before the node drops....

#power-supply#psu#ipmi#infrastructure

Fan Speed Critical / Cooling Redundancy Lost

high

A cooling fan hits a critical speed/fault or loses redundancy, leading to rising GPU temperatures and thermal throttling if not addressed....

#fan#cooling#thermal#ipmi

Checkpoint I/O Stall (NFS RPC Saturation)

high

Checkpoint writes stall because the NFS RPC layer saturates its slot table, producing a 'bandwidth paradox' where the network is barely utilized yet I/O is the bottleneck....

#checkpoint#nfs#io-stall#rpc

Docker /dev/shm Exhaustion — NCCL Shared Memory Allocation Failure

high

Docker containers default to 64MB of /dev/shm, which is far too small for NCCL shared memory inter-process communication. Training crashes with 'posix_fallocate failed: No space left on device'. Denpe...

#docker#shm#shared-memory#nccl

Disk Full During Training

high

Full disks crash training by preventing checkpoint writes....

#disk#storage#checkpoint#filesystem

OOMKilled Containers Without Clear Attribution

medium

Kubernetes OOM kills report the process name (e.g., 'python' or 'java') rather than the pod name, making it highly difficult to trace which specific distributed training job caused a cluster-wide memo...

#kubernetes#oom#memory#cgroup

GPFS/Spectrum Scale Daemon Stalls: Token Contention, Quorum Loss, Deadlocks

critical

When mmfsd degrades — token-manager overload, quorum loss, or internal deadlock — mounts stall cluster-wide and training processes block in D-state on I/O. Jobs neither progress nor die, mimicking sil...

#gpfs#spectrum-scale#mmfsd#token-manager

Azure Blob Storage Throttling and Timeouts in Training I/O Paths

medium

Azure Blob returns 503 "server busy" and operation timeouts when per-account/partition limits are exceeded by dataset streaming or parallel checkpoint uploads. SDK surfaces vary (ServiceResponseError,...

#azure#blob-storage#throttling#503

Reliability

39

Sequence Length Imbalance Causing Distributed Training Stragglers

high

Sequence length imbalance across micro-batches within the same global batch causes certain pipeline stages to compute significantly longer than others. ByteDance's production trace analysis found that...

#bytedance#straggler#sequence-length#flash-attention

Silent Data Corruption from GPU Hardware Faults Causing Loss Spikes and Model Divergence

critical

Silent data corruption arising from latent GPU hardware defects bypasses ECC and other hardware detection mechanisms, causing incorrect computation results without any error signal. In LLM training, t...

#sdc#silent-data-corruption#loss-spike#gpu-hardware

NIXL Firmware Page Registration Fan-Out Triggers Host OOM Kills on HGX H200 and B200

critical

NVIDIA Inference Xfer Library workloads on HGX H200 and HGX B200 instances triggered host OOM kills because UCX registered GPU memory as firmware pages across all 8 NICs simultaneously, consuming ~34 ...

#crusoe#nixl#ucx#firmware-page

MTTF Scaling Inversely with GPU Count in Large ML Research Clusters

high

Meta FAIR's analysis of 11 months of operational data across two Research SuperClusters confirmed that Mean Time to Failure for training jobs scales inversely with GPU count, dropping from 47.7 days a...

#meta-fair#mttf#scaling#reliability

Python Garbage Collection Triggering Periodic Training Stragglers in Distributed LLM Training

medium

ByteDance's production trace analysis found that Python's automatic garbage collection causes periodic, transient straggler behavior in distributed LLM training. Full GC passes on long-lived objects (...

#bytedance#python-gc#straggler#gc-freeze

Mid-Day Temperature Fluctuations Causing 1-2% Training Throughput Variation

low

During Llama 3 training on 16,384 H100 GPUs, Meta observed that mid-day temperature fluctuations of 5-10 degrees Celsius caused 1-2% throughput variation across the training cluster. The effect was at...

#meta#llama3#temperature#dvfs

Single-Bit Exponent Flip in BF16 Causing Silent Gradient Divergence Across Data-Parallel Ranks

critical

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 diver...

#sdc#bit-flip#bf16#gradient-divergence

1-2 GPU Hardware Failures Per Week During BLOOM 176B Training on 384 A100 GPUs

high

During the 4-month training of the 176B-parameter BLOOM model on 384 NVIDIA A100 GPUs, the team experienced 1-2 GPU hardware failures per week on average. Each failure required a 30-60 minute node rep...

#huggingface#bloom#a100#hardware-failure

PyTorch Caching Allocator Memory Fragmentation Causing False Straggler Slowdown

medium

ByteDance's production straggler analysis identified PyTorch's CUDA caching allocator memory fragmentation as a previously unreported cause of training stragglers. Over long-running jobs, the allocato...

#bytedance#memory-fragmentation#caching-allocator#straggler

MTTF Optimization from 0.33 to 3.66 Days Through Purpose-Built Infrastructure Architecture

medium

CoreWeave's six-week benchmark training a 30B-parameter Llama-3-style model on 1,024 H100 GPUs demonstrated that purpose-built infrastructure architecture can improve Mean Time to Failure from the ind...

#coreweave#mttf#ettf#sunk

Automatic Node Failure Detection and Training Resumption Using Node Doctor and Watchdog

high

MosaicML's training platform automatically detected hardware failures and resumed training without human intervention using its Node Doctor and Watchdog services. During Stable Diffusion training on 1...

#mosaicml#databricks#auto-resumption#node-doctor

Training Restart Stuck

high

Training restarts after failure can get stuck if cleanup didn't complete properly, blocking new training jobs....

#restart#stuck#cleanup#reliability

Training Checkpoint Corruption on Write

critical

Training checkpoint corruption on write happens when storage failures, power loss, or process kills interrupt the write operation....

#checkpoint#corruption#write#atomic

NFS Mount Failure

high

NFS mount failures during training cause silent data corruption, hangs, or training failures when accessing shared storage....

#nfs#mount#stale-handle#shared-storage

Spot Instance Preemption

high

Spot instance preemption can kill training jobs with little notice, causing data loss and incomplete training runs....

#spot-instance#preemption#cloud#cost-optimization

Graceful Shutdown Missing

high

Missing graceful shutdown handlers cause training jobs to be killed without saving final checkpoint or metrics....

#graceful-shutdown#sigterm#checkpoint#reliability

Disaster Recovery Missing

critical

Missing disaster recovery planning means training progress can be lost due to hardware failure, corruption, or natural disaster....

#disaster-recovery#backup#checkpoint#reliability

Network Partition

critical

Network partitions split distributed training into isolated groups, causing hangs, deadlocks, or wrong gradients....

#network#partition#hang#distributed

HDF5 Corruption

medium

HDF5 corruption occurs when files are not properly closed, written from multiple processes, or have incompatible versions....

#hdf5#corruption#h5py#storage

OOM Killed Mid-Step

high

OOM kills during training are abrupt and lose progress, often happening mid-step when peak memory is reached....

#oom#oom-killer#memory#reliability

Training Stuck No Progress

high

Training appears stuck with no progress, often caused by deadlocks, infinite loops, or network hangs in distributed training....

#stuck#no-progress#deadlock#harness

Silent Data Corruption

critical

Silent data corruption during training causes wrong results without error messages, often from hardware issues....

#silent-corruption#bit-flip#ecc#reliability

DataLoader Failure

high

DataLoader failures cause training to crash or hang when data loading is misconfigured or data is corrupted....

#dataloader#worker#failure#data-pipeline

Zombie Process

medium

Zombie processes occur when child processes aren't properly reaped, exhausting process table and file descriptors....

#zombie#defunct#process#multiprocessing

Wandb/TensorBoard Failure

low

Weights & Biases or TensorBoard failures cause loss of experiment tracking, making debugging and comparison hard....

#wandb#tensorboard#logging#experiment-tracking

Checkpoint Partial Save

critical

Partial checkpoint save happens when training crashes or is killed before all model state is saved....

#checkpoint#partial-save#reliability#atomic-write

Training Resume Failure

high

Training resume failures occur when checkpoints can't be loaded properly to continue from a previous run....

#resume#checkpoint#loading#state-dict

Missing Signal Handler

high

Missing signal handlers prevent graceful shutdown of training, causing checkpoint loss and resource leaks....

#signal#handler#graceful-shutdown#reliability

Cgroup Memory Limit

high

Cgroup memory limits cause OOM kills when training exceeds the container or pod's memory limit....

#cgroup#memory#container#docker

DeepSpeed ZeRO-3: Cannot partition a param in flight (save)

high

save_16bit_model() under ZeRO-3 asserts because parameters are still in flight when the save interval is not a multiple of the gradient-accumulation steps....

#deepspeed#zero-3#checkpoint#inflight-param

DeepSpeed ZeRO-3: still have inflight params (backward)

high

ZeRO-3 backward fails because parameters from a previous forward path remain INFLIGHT, common with dynamic forward graphs such as RLHF, NAS, or conditional branching....

#deepspeed#zero-3#inflight-param#backward

DeepSpeed ZeRO-3 NVMe Offload Checkpoint Race (FileExistsError)

high

All ranks race to write into the same consolidation directory during ZeRO-3 NVMe-offload checkpoint save, so only rank 0 succeeds and the rest hit FileExistsError....

#deepspeed#zero-3#nvme-offload#checkpoint

DeepSpeed ZeRO-3: 'weight' must be 2-D at F.embedding

medium

After ZeRO-3 training, accessing a partitioned parameter directly (e.g. an embedding weight) during inference sees a flattened 1-D tensor and raises a shape error....

#deepspeed#zero-3#embedding#inference

Straggler / Slow-Rank Detection

high

One rank runs slower than the rest, so every collective waits on it. There is no crash and no error — just falling throughput and idle GPUs. Stragglers are the dominant cause of silent efficiency loss...

#straggler#slow-rank#reliability#distributed

DeepSpeed Inference Degrades Generation Quality (GPT-NeoX/Pythia kernel injection)

medium

GPT-NeoX/Pythia models produce degraded or garbled text under DeepSpeed Inference with kernel injection, while the same model generates correctly without DeepSpeed. The injected fused kernels for the ...

#deepspeed-inference#kernel-injection#gpt-neox#pythia

Silent Hang / Unresponsive Training

critical

Silent hangs stall training without error messages. Denpex heartbeat detection identifies stuck ranks....

#hang#stall#deadlock#dataloader

Zombie GPU Process / Orphaned Job

critical

Zombie processes hold GPU memory after the main job exits. Denpex auto-detects and kills them....

#zombie-process#gpu-memory#process-cleanup#orphaned

Job Preemption / Spot Instance Termination

critical

Preemption kills cloud spot instances mid-training, losing progress if checkpoints aren't saved frequently enough....

#preemption#spot-instance#termination#cloud

Replayed/Archived Logs Triggering False Hardware Diagnoses

medium

Postmortem archives, log-replay pipelines, and documentation snippets containing old Xid/ECC lines get concatenated into live streams and pasted into diagnostic tools, producing confident "replace the...

#log-replay#false-positive#xid#timestamp

Distributed Training

35

NCCL Broadcast Hang

high

NCCL broadcast operations can hang when one rank fails to participate in the collective....

#nccl#broadcast#hang#distributed

DDP Hang at Epoch Boundary

high

DDP training hangs at the end of an epoch when one rank exhausts its data partition before others....

#ddp#uneven#data#distributed

DDP Rank Stuck During Training

high

One DDP rank becomes unresponsive and stalls all ranks waiting for gradient sync....

#ddp#straggler#rank#distributed

FSDP Flat Parameter Error

high

FSDP flat parameter errors occur when the flattened parameter management fails during sharding or unsharding operations....

#fsdp#flat-param#sharding#checkpoint

FSDP Mixed Precision Error

high

FSDP mixed precision errors arise when parameter precision settings conflict between FSDP wrapping and autocast....

#fsdp#mixed-precision#amp#bf16

Tensor Parallel Error

critical

Tensor parallel errors occur when model layer splitting across GPUs fails due to dimension mismatches or communication issues....

#tensor-parallel#tp#model-parallelism#distributed

DeepSpeed Initialization Failed

critical

DeepSpeed initialization fails when configuration is invalid or incompatible with the model....

#deepspeed#init#config#zero

PyTorch Distributed Error

high

PyTorch distributed errors prevent DDP and FSDP from functioning correctly....

#torch-distributed#ddp#fsdp#process-group

NCCL Watchdog Configuration

medium

NCCL watchdog settings control how long collectives can stall before timing out. Wrong settings cause premature or delayed failure detection....

#nccl#watchdog#timeout#distributed

Finding the Culprit Rank in an NCCL Hang

high

When one rank stalls, NCCL's synchronous collectives freeze every rank, masking which GPU actually failed — localizing the culprit needs divergence signals, not the NCCL stack trace....

#nccl#hang#straggler#flight-recorder

Node Rank Mismatch at NCCL Init

high

The configured world size does not match the number of ranks that actually connect, so NCCL initialization hangs or errors during the communication-setup stage....

#nccl#rank-mismatch#world-size#ddp

DeepSpeed MoE + ZeRO-3 Hang — Missing Leaf Module Marking

high

DeepSpeed ZeRO-3 with Mixture-of-Experts (MoE) models hangs during training because MoE blocks need to be marked as leaf modules for ZeRO-3 parameter gathering. Without this marking, ZeRO-3 attempts t...

#deepspeed#moe#zero3#leaf-module

DeepSpeed ZeRO-3 + PyTorch 2.5 _parameters Dict Error

high

DeepSpeed ZeRO-3 crashes with 'dict object has no attribute _in_forward' when used with PyTorch 2.5+, which changed the internal _parameters attribute from a dict to a different type. Denpex detects t...

#deepspeed#pytorch-2.5#parameters#version

DeepSpeed ZeRO-3 Small Parameter Partition Bug

medium

DeepSpeed ZeRO-3 crashes with UnboundLocalError in partition_parameters.py when the model has very small parameters (fewer elements than the number of GPUs). The partition math divides a small paramet...

#deepspeed#zero3#partition#small-parameter

FSDP2 Unwrapped Model Still Has DTensor Weights — save_pretrained Fails

medium

After unwrapping an FSDP2 (fully_shard) model the parameters are still DTensors, so save_pretrained or a plain state_dict produces invalid storage or sharded tensors. You must gather a full, unsharded...

#accelerate#fsdp2#dtensor#save_pretrained

bitsandbytes 'invalid configuration argument' (ops.cu) with DeepSpeed Offload

high

Combining a bitsandbytes 8-bit optimizer with DeepSpeed ZeRO offload crashes with 'Error invalid configuration argument at line 216 in file .../bitsandbytes/csrc/ops.cu'. The two optimizer-state manag...

#bitsandbytes#deepspeed#zero-offload#8bit-optimizer

FSDP+QLoRA ValueError: Must flatten tensors with uniform dtype (float32 vs bfloat16)

high

FSDP combined with QLoRA fails to build its flat parameter: 'Must flatten tensors with uniform dtype but got torch.float32 and torch.bfloat16'. QLoRA keeps some parameters in float32 while the base is...

#fsdp#qlora#mixed-precision#dtype

DeepSpeed 0.14.x Regression: 'Expected all tensors to be on the same device' (ZeRO-3 / Adam Offload)

high

After upgrading to DeepSpeed >0.14.0 (e.g. 0.14.2), ZeRO-3 / optimizer-offload training crashes with 'Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!'. A...

#deepspeed#zero-3#optimizer-offload#device-mismatch

Accelerate Checkpoints Miss Weights When Using prepare_model Instead of prepare

medium

Model weights are not written by accelerator.save_state when the model was set up with accelerator.prepare_model(model) instead of accelerator.prepare(...). prepare_model only wraps the model for dist...

#accelerate#checkpointing#prepare#prepare_model

DeepSpeed ZeRO-3 Error with Parameters of Multiple Dtypes (allgather)

high

DeepSpeed ZeRO-3 errors during parameter allgather when the model holds parameters in more than one dtype (e.g. bf16 base with some fp32 modules). Older ZeRO-3 assumed a single dtype for coalesced all...

#deepspeed#zero-3#allgather#mixed-dtype

DeepSpeed Pipeline Parallel Hangs with Variable Input Shapes

high

DeepSpeed pipeline-parallel training (PipelineModule) hangs mid-run when microbatch input shapes vary. The PP engine caches the first microbatch's tensor shapes for point-to-point send/recv buffers, s...

#deepspeed#pipeline-parallel#dynamic-shapes#p2p

DDP Setup Error

critical

DDP setup errors prevent distributed training from initializing correctly....

#ddp#setup#distributed#multi-gpu

DDP Port Conflict

high

DDP port conflicts occur when the chosen master port is already in use by another process....

#ddp#port#conflict#distributed

DDP NaN Detected on One Rank

critical

DDP NaN detection on a single rank often indicates inconsistent data or hardware between ranks....

#ddp#nan#distributed#rank

DDP OOM During AllReduce

high

DDP OOM during allreduce occurs when NCCL communication buffers exceed available GPU memory....

#ddp#oom#allreduce#memory

FSDP Missing Keys / Unexpected Keys

high

FSDP state_dict missing keys errors prevent checkpoint saving or loading in sharded models. Denpex identifies the source of key mismatches....

#fsdp#checkpoint#state-dict#model-parallelism

FSDP All-Gather Timeout

critical

FSDP all-gather timeouts stall training when sharded parameters cannot be collected from distributed ranks....

#fsdp#all-gather#timeout#communication

DeepSpeed Out of Memory

critical

DeepSpeed OOM errors crash ZeRO-optimized training when memory optimization settings don't match model architecture....

#deepspeed#oom#zero#memory

DeepSpeed ZeRO Stuck / Hang

critical

DeepSpeed ZeRO hangs stall training when gradient synchronization stalls or parameter offload produces deadlocks....

#deepspeed#zero#hang#stall

DeepSpeed Initialization Failed

critical

DeepSpeed initialization fails when configuration is invalid or incompatible with the model....

#deepspeed#init#config#zero

Megatron-LM Initialization Failed

critical

Megatron-LM initialization errors prevent large model training from starting due to configuration mismatches....

#megatron#init#tensor-parallel#pipeline-parallel

Torchrun and SLURM Job Step Incompatibility

high

Torchrun's approach to spawning jobs conflicts with SLURM's process management, resulting in hung NCCL initialization, rank mismapping, and job allocation failures....

#slurm#torchrun#distributed#nccl

Silent Cascading Straggler

high

A single GPU drops in performance without throwing an error, causing all other GPUs in the collective to wait. This silently degrades cluster-wide throughput....

#straggler#performance#hang#power

Checkpoint Save/Restore Gathering Timeout

high

NCCL timeout occurs while gathering the state dictionary or broadcasting during a checkpoint save or restore operation....

#checkpoint#timeout#nccl#fsdp

Triaging torchrun ChildFailedError: the Wrapper Is Never the Root Cause

medium

ChildFailedError is torchelastic's envelope around a dead worker. The exitcode/signal in its table is the actual signal: -9 host OOM-kill, -11 segfault, -6 abort (often CUDA), 1 python exception whose...

#torchrun#torchelastic#childfailederror#exitcode

Hardware

26

GPU Memory Clock Throttle

medium

GPU memory clock throttling reduces memory bandwidth and training performance when memory is under-utilized....

#gpu#memory-clock#throttle#performance

NVLink Error

high

NVLink errors cause intra-node GPU communication failures and degraded multi-GPU performance....

#nvlink#gpu#hardware#p2p

GPU Thermal Throttling

high

GPU thermal throttling reduces clock speeds to prevent overheating, causing training to be slower than expected....

#thermal#throttle#cooling#hardware

GPU Power Cap Reached

medium

GPU power cap limits GPU power consumption, reducing performance for power-constrained deployments....

#power#cap#limit#gpu

CUDA Driver Crash

critical

CUDA driver crash terminates all GPU processes on the node, losing unsaved training progress....

#cuda#driver#crash#gpu

GPU Overheating

high

GPU overheating causes thermal throttling, performance degradation, and potential hardware damage....

#overheating#thermal#throttle#cooling

GPU Not Detected

critical

GPU not detected errors prevent training from starting when the system cannot see the GPU....

#gpu#not-detected#driver#hardware

CUDA Uncorrectable ECC Error

critical

Uncorrectable ECC errors indicate GPU memory hardware faults that corrupt training data and require GPU replacement....

#ecc#uncorrectable#memory#hardware

CUDA Illegal Instruction

critical

CUDA illegal instruction errors crash training when the GPU encounters unsupported instructions, often from binary mismatches....

#cuda#illegal-instruction#gpu#hardware

GPU Clock Throttle

medium

GPU clock throttle reduces performance when power or thermal limits are reached....

#clock#throttle#power#thermal

GPU Memory Bus Error

critical

GPU memory bus errors corrupt data transfer between GPU cores and memory, causing silent data corruption or crashes....

#memory-bus#hardware#gpu#ecc

GPU MIG (Multi-Instance GPU) Mode

medium

GPU MIG mode splits a GPU into multiple instances, which can cause issues with PyTorch and NCCL if not configured correctly....

#mig#multi-instance#gpu#nvidia

High ECC Error Rate Detection

high

High GPU ECC error rates indicate degrading memory hardware. Correctable errors accumulating signal impending failure....

#ecc#correctable-error#memory#gpu

GPU Memory Bandwidth Limit

medium

GPU memory bandwidth limits reduce training performance when compute exceeds memory access speed....

#gpu#memory-bandwidth#performance#memory-bound

NVLink/NVLS Failure with Xid 31 MMU Fault Cascade

critical

NVLS collective failures on Hopper/NVLINK4 nodes cascade from Fabric Manager restarts, producing Xid 31 MMU page faults and illegal memory accesses across the node....

#nvlink#nvls#xid-31#mmu-fault

cuMemImportFromShareableHandle Fails (CUDA error 101)

high

P2P fabric-handle import between containers on a multi-node NVLink (MNNVL) GPU fails with CUDA 'invalid device ordinal' due to a CUDA driver bug, not NCCL....

#cuda#fabric#mnnvl#gh200

Partial NVLink Failure vs NVSwitch Failure (Localization)

high

NVLink bandwidth degradation can be a single failing link or a whole-node NVSwitch fault — comparing per-GPU NVLink bandwidth across all 8 GPUs tells them apart....

#nvlink#nvswitch#bandwidth#hardware

GSP RPC Timeout (Xid 119)

high

The GPU System Processor (GSP) stops responding to RPCs, logged as Xid 119 — the GPU becomes unresponsive and usually needs a reset....

#xid-119#gsp#rpc-timeout#hardware

GPU Fallen Off the Bus (Xid 79)

critical

A GPU drops off the PCIe bus (Xid 79) and disappears from the system — a critical hardware/connectivity fault that ends training on that node until the GPU is recovered....

#xid-79#fallen-off-bus#pcie#hardware

GPU Memory Row Remapping Event

medium

The GPU remaps a failing memory row after ECC errors — a recovery mechanism, but a rising remap count signals degrading memory that may need RMA....

#row-remap#ecc#memory#dcgm

NVIDIA Xid 48 — ECC Uncorrectable Memory Error

critical

Xid 48 is NVIDIA's code for uncorrectable GPU memory errors. It crashes training and corrupts model weights. Denpex correlates Xid 48 events with NCCL failures to identify the originating GPU and trig...

#xid#ecc#gpu#hardware

NVIDIA Xid 79 — GPU Has Fallen Off the Bus

critical

Xid 79 means the GPU lost PCIe connectivity entirely. Training dies immediately. Denpex identifies which GPU, node, and the chain of events that led to the GPU fall. Root caused by bad PCIe, power eve...

#xid-79#pcie#gpu#bus

CUDA Device Assertion Failure

critical

CUDA device assertion failures indicate GPU hardware problems that crash training with ambiguous error messages. Denpex maps the device assertion to the specific GPU and operation, distinguishing hard...

#device-assert#cuda#hardware#gpu

KV Cache Corruption on Non-P2P Topologies

critical

KV cache corruption or NaNs in key_value tensors occurring during decoding on hardware topologies that do not fully support PCIe P2P memory sharing....

#vllm#kv-cache#p2p#corruption

nvlddmkm TDR (Timeout Detection and Recovery)

critical

The display driver crashes and recovers (or fails to recover) due to a long-running CUDA kernel triggering the OS watchdog....

#tdr#windows#nvlddmkm#timeout

Intel GPU (i915/Xe) Engine Hangs and GuC Firmware Failures

high

On Intel data-center GPUs, engine hangs surface as i915 "GPU HANG"/engine-reset dmesg lines and GuC (scheduling microcontroller) load or crash messages. Compute contexts die on reset; repeated hangs i...

#intel-gpu#i915#guc#xe

Data Integrity

21

Checkpoint Saved with Older Version

medium

Checkpoints saved with older PyTorch versions may not load with newer versions due to format changes....

#checkpoint#version#older#pytorch

Checkpoint Torn Write

critical

Torn writes produce incomplete checkpoint files when training is interrupted mid-save....

#checkpoint#torn-write#save#atomic

PII Leakage in Training Data

high

PII in training data can leak through model outputs, causing privacy and compliance issues....

#pii#privacy#leakage#compliance

Dataset License Issue

medium

Dataset license issues prevent commercial use or distribution of models trained on the data....

#dataset#license#commercial#compliance

Checkpoint Version Incompatible

high

Checkpoint version incompatibility prevents loading checkpoints saved with different PyTorch versions....

#checkpoint#version#pytorch#incompatibility

Optimizer State Dict Mismatch

high

Optimizer state doesn't match model parameters when loading checkpoints across different architectures or configs....

#optimizer#checkpoint#state-dict#resume

Checkpoint Saved with Newer Version

high

Checkpoints saved with newer PyTorch versions may not load with older versions, causing compatibility issues....

#checkpoint#version#pytorch#incompatibility

Model State Dict Corruption

critical

Model state dict corruption produces degraded model quality after loading....

#model-state-dict#corruption#checkpoint#data-integrity

Single-Rank Reduce-Scatter Silent Data Corruption

critical

On world_size=1 with non-aligned tensor sizes, NCCL's reduce-scatter/AVG left the last elements unprocessed (zero) due to a floor-division bug — silent corruption with no error....

#nccl#sdc#reduce-scatter#silent-corruption

Silent Data Corruption: Silent Degradation (No NaN)

critical

A faulty GPU corrupts computation without ever producing a NaN — loss settles slightly above baseline and parameters drift, making it the most deceptive SDC mode....

#sdc#silent-corruption#data-integrity#parameter-drift

Silent Data Corruption: Gradual Parameter Drift

critical

A permanent hardware fault causes monotonically increasing divergence of parameters from a baseline once injection begins, even while loss curves look identical to a healthy run....

#sdc#parameter-drift#data-integrity#permanent-fault

DeepSpeed DecoupledCheckpointEngine Infinite Hang

critical

DeepSpeed's DecoupledCheckpointEngine can hang indefinitely during checkpoint saving, blocking training progress without producing an error. The hang occurs when the async checkpoint writer thread dea...

#deepspeed#checkpoint#hang#deadlock

DeepSpeed FastFileWriter File Descriptor Leak — Phantom ENOSPC

high

DeepSpeed's FastFileWriter leaks file descriptors during checkpoint saves, eventually causing 'No space left on device' (ENOSPC) errors even when disk space is available. The leaked file descriptors e...

#deepspeed#fd-leak#enospc#file-descriptor

DeepSpeed Universal Checkpoint Lexicographic Sort Corruption

critical

DeepSpeed universal checkpoint loading sorts rank directories lexicographically instead of numerically, causing rank_10 to be loaded before rank_2. This silently corrupts model weights because each ra...

#deepspeed#checkpoint#sort#corruption

DeepSpeed SIGBUS Exit Code -7 After Checkpoint Load

critical

DeepSpeed training crashes with SIGBUS (exit code -7) after loading a checkpoint, with no Python traceback. This typically indicates a memory-mapped file access failure — the checkpoint file was trunc...

#deepspeed#sigbus#exit-code-7#checkpoint

Checkpoint Corruption

critical

Corrupted checkpoints silently poison resumed training with bad weights. Denpex validates checkpoint integrity before resume....

#checkpoint#corruption#data-integrity#save

Partial Checkpoint Save

critical

Partial checkpoint saves write incomplete data when training is interrupted, leaving a file that appears valid but is truncated....

#checkpoint#partial#save#atomic

Safetensors Load Error

high

Safetensors loading fails when files are truncated or checksums mismatch....

#safetensors#checkpoint#load#huggingface

PyTorch Save Failed / Write Error

critical

Checkpoint save fails when disk writes are interrupted....

#checkpoint#save#storage#io

PyTorch Load Failed / Unpickling Error

critical

Checkpoint load fails when files are corrupted or format is mismatched....

#checkpoint#load#torch#safetensors

Optimizer State Dict Mismatch

high

Optimizer state doesn't match model parameters when loading checkpoints across different architectures or configs....

#optimizer#checkpoint#state-dict#resume

Missing a failure class?

Denpex diagnoses 441failure classes deterministically, with AI fallback for anything novel. If your error isn't listed, paste your logs into the console for instant analysis.

Diagnose your logs now