TAPAS: Fast and Automatic Derivation of Tensor Parallel Strategies for Large Neural Networks

Ziji Shi, Le Jiang, Ang Wang, Jie Zhang, Chencan Wu +4 more
2/1/2023
cs.LGcs.AIcs.DC

No confident code implementation found for this paper.

Abstract

Tensor parallelism is an essential technique for distributed training of large neural networks. However, automatically determining an optimal tensor parallel strategy is challenging due to the gigantic search space, which grows exponentially with model size and tensor dimension. This prohibits the adoption of auto-parallel systems on larger models. We observe that neural networks usually contain repeated substructures, and build an automatic parallelism framework named TAPAS that eliminates redundant search efforts. TAPAS employs a divide-and-conquer approach that efficiently folds the search space by identifying those unique substructures. As a result, it runs at sub-linear complexity concerning the model size, making it a scalable solution for training large-scale networks. Our evaluations demonstrate that TAPAS outperforms the state-of-the-art automatic parallelism frameworks by up to $160\times$ in search speed on a wide range of models, and the performance of derived strategies is competitive or even better compared with the expert-engineered Megatron-LM library.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{shi2023tapas,
  title  = {TAPAS: Fast and Automatic Derivation of Tensor Parallel Strategies for Large Neural Networks},
  author = {Ziji Shi and Le Jiang and Ang Wang and Jie Zhang and Chencan Wu and Yong Li and Xiaokui Xiao and Wei Lin and Jialin Li},
  year   = {2023},
  eprint = {2302.00247},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2302.00247v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2302.00247.svg)](https://codeofpaper.com/paper/2302.00247)

Discussion