Multi-GPU Training With Model Parallelism in DeepSpeed
Failed to add items
Add to basket failed.
Add to wishlist failed.
Remove from wishlist failed.
Adding to library failed
Follow podcast failed
Unfollow podcast failed
-
Narrated by:
-
By:
Modern AI models have grown far beyond what a single GPU can hold in memory — and that's not a problem you can optimize your way out of on one device. This episode of Development tackles the architecture, tooling, and practical considerations behind multi-GPU training, using Microsoft's DeepSpeed framework as the focal point. It's grounded in this in-depth guide to multi-GPU training with model parallelism, which is worth having open alongside your own training setup.
The episode walks through the full picture — from why model scale has made distributed training a necessity, to the key parallelism strategies, to what a DeepSpeed implementation actually looks like in practice. Here's what's covered:
- Why single-GPU training hits a hard wall — at billions of parameters, even high-memory GPUs can't load the full model, making multi-GPU training a prerequisite, not an optimization.
- Data parallelism vs. model parallelism — data parallelism replicates the model across GPUs and splits the data; model parallelism splits the model itself, which is the only option when the model won't fit on one device.
- Pipeline parallelism and tensor parallelism — the two main flavors of model parallelism: dividing the model by sequential layer stages, versus sharding the matrix operations within individual layers across devices simultaneously.
- DeepSpeed's ZeRO Optimizer — rather than duplicating optimizer states on every GPU, ZeRO partitions them across devices, dramatically cutting per-GPU memory usage and enabling much larger model training runs.
- What a DeepSpeed integration looks like — the framework wraps around a standard PyTorch workflow; a JSON config file handles parallelism settings, and the core training loop requires minimal changes.
- Common pitfalls and practical guidance — the episode flags key traps including ignoring communication overhead, failing to re-tune batch size and learning rate after scaling up, and trying to combine every parallelism strategy at once before profiling incrementally.
The real-world use cases discussed range from large language models and BERT-family architectures to massive recommender systems with embedding tables that routinely exceed single-GPU memory. The throughline is consistent: DeepSpeed doesn't eliminate the complexity of distributed training, but it makes that complexity configurable rather than something every team has to re-engineer from scratch. If you've been thinking about LLM inference infrastructure more broadly, the episode Why Your LLM Service Needs an Async Prompt Queue covers a complementary piece of the production puzzle.
DEV