Startups.com·Machine Learning Engineer·Technical Phone Screen
- You have a PyTorch training script for CIFAR-10 that either fails to converge, produces NaN/Inf loss, or trains way slower than it should. Walk through how you'd systematically debug it.
- How would you scale that same training job to multiple GPUs using Fully Sharded Data Parallel (FSDP)? Cover initialization, model wrapping, optimizer state, gradient accumulation, and checkpointing.
- How would you implement or approximate sparse gradient all-reduce across workers? What communication patterns would you use, what are the tradeoffs versus dense all-reduce, and when does it actually make sense to do this?
- Under what circumstances would you write a custom CUDA or Triton kernel to speed up training, and how would you verify both the performance gain and correctness?
“This one I actually felt decent about.”