PartIR: Composing SPMD Partitioning Strategies for Machine Learning
arXiv:2401.11202 · doi:10.1145/3669940.3707284
Abstract
Training of modern large neural networks (NN) requires a combination of parallelization strategies encompassing data, model, or optimizer sharding. When strategies increase in complexity, it becomes necessary for partitioning tools to be 1) expressive, allowing the composition of simpler strategies, and 2) predictable to estimate performance analytically. We present PartIR, our design for a NN partitioning system. PartIR is focused on an incremental approach to rewriting and is hardware-and-runtime agnostic. We present a simple but powerful API for composing sharding strategies and a simulator to validate them. The process is driven by high-level programmer-issued partitioning tactics, which can be both manual and automatic. Importantly, the tactics are specified separately from the model code, making them easy to change. We evaluate PartIR on several different models to demonstrate its predictability, expressibility, and ability to reach peak performance..
References in corpus (6)
- Denoising Diffusion Probabilistic Models
- PaLM: Scaling Language Modeling with Pathways
- Training Compute-Optimal Large Language Models
- DISTAL: The Distributed Tensor Algebra Compiler
- Automatic Cross-Replica Sharding of Weight Update in Data-Parallel Training
- Automatic Discovery of Composite SPMD Partitioning Strategies in PartIR