English

GSPMD: General and Scalable Parallelization for ML Computation Graphs

Distributed, Parallel, and Cluster Computing 2021-12-28 v2 Machine Learning

Abstract

We present GSPMD, an automatic, compiler-based parallelization system for common machine learning computations. It allows users to write programs in the same way as for a single device, then give hints through a few annotations on how to distribute tensors, based on which GSPMD will parallelize the computation. Its representation of partitioning is simple yet general, allowing it to express different or mixed paradigms of parallelism on a wide variety of models. GSPMD infers the partitioning for every operator based on limited user annotations, making it convenient to scale existing single-device programs. It solves several technical challenges for production usage, allowing GSPMD to achieve 50% to 62% compute utilization on up to 2048 Cloud TPUv3 cores for models with up to one trillion parameters.

Keywords

Cite

@article{arxiv.2105.04663,
  title  = {GSPMD: General and Scalable Parallelization for ML Computation Graphs},
  author = {Yuanzhong Xu and HyoukJoong Lee and Dehao Chen and Blake Hechtman and Yanping Huang and Rahul Joshi and Maxim Krikun and Dmitry Lepikhin and Andy Ly and Marcello Maggioni and Ruoming Pang and Noam Shazeer and Shibo Wang and Tao Wang and Yonghui Wu and Zhifeng Chen},
  journal= {arXiv preprint arXiv:2105.04663},
  year   = {2021}
}
R2 v1 2026-06-24T01:57:54.340Z