paper-with-me

홈 › Papers

PyTorch Distributed: Experiences on Accelerating Data Parallel Training

2020-06-28 · Shen Li, Yanli Zhao, Rohan Varma, Omkar Salpekar, Pieter Noordhuis, Teng Li, Adam Paszke, Jeff Smith, Brian Vaughan, Pritam Damania, Soumith Chintala

This paper presents the design, implementation, and evaluation of the PyTorch distributed data parallel module. PyTorch is a widely-adopted scientific computing package used in deep learning research and applications. Recent advances in deep learning argue for the value of large datasets and large models, which necessitates the ability to scale out model training to more computational resources. Data parallelism has emerged as a popular solution for distributed training thanks to its straightforward principle and broad applicability. In general, the technique of distributed data parallelism replicates the model on every computational resource to generate gradients independently and then communicates those gradients at each iteration to keep model replicas consistent. Despite the conceptual simplicity of the technique, the subtle dependencies between computation and communication make it non-trivial to optimize the distributed training efficiency. As of v1.5, PyTorch natively provides several techniques to accelerate distributed data parallel, including bucketing gradients, overlapping computation with communication, and skipping gradient synchronization. Evaluations show that, when configured appropriately, the PyTorch distributed data parallel module attains near-linear scalability using 256 GPUs.

📄 PDF Abstract BibTeX arXiv:2006.15704

Code (3)

pytorch/pytorch/blob/master/torch/nn/parallel/distributed.py 공식 구현 jax
lancelee82/necklace pytorch
ncfrey/litmatter pytorch

Methods 이 논문이 사용한 방법론

PyTorch DDP PyTorch DDP (Distributed Data Parallel) is a distributed data parallel implementation for PyTorch. To guarantee mathematical equivalence, all replicas start from the same…

Similar Papers 제목 키워드 기반

PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel

2023-04-21 · Yanli Zhao, Andrew Gu, Rohan Varma, Liang Luo 외

It is widely acknowledged that large models have the potential to deliver superior performance across a broad range of domains. Despite the remarkable progress made in the field of machine learning systems research, whic…

EmbRace: Accelerating Sparse Communication for Distributed Training of NLP Neural Networks

2021-10-18 · Shengwei Li, Zhiquan Lai, Dongsheng Li, Yiming Zhang 외

Distributed data-parallel training has been widely adopted for deep neural network (DNN) models. Although current deep learning (DL) frameworks scale well for dense models like image classification models, we find that t…

image-classificationImage ClassificationScheduling

TorchTitan: One-stop PyTorch native solution for production ready LLM pre-training

2024-10-09 · Wanchao Liang, Tianyu Liu, Less Wright, Will Constable 외

The development of large language models (LLMs) has been instrumental in advancing state-of-the-art natural language processing applications. Training LLMs with billions of parameters and trillions of tokens require soph…

GPU

A Distributed Data-Parallel PyTorch Implementation of the Distributed Shampoo Optimizer for Training Neural Networks At-Scale

2023-09-12 · Hao-Jun Michael Shi, Tsung-Hsien Lee, Shintaro Iwasaki, Jose Gallego-Posada 외

Shampoo is an online and stochastic optimization algorithm belonging to the AdaGrad family of methods for training neural networks. It constructs a block-diagonal preconditioner where each block consists of a coarse Kron…

GPUStochastic Optimization

A Linear Algebraic Approach to Model Parallelism in Deep Learning

2020-06-04 · Russell J. Hewett, Thomas J. Grady II

Training deep neural networks (DNNs) in large-cluster computing environments is increasingly necessary, as networks grow in size and complexity. Local memory and processing limitations require robust data and model paral…

Deep Learning