From PyTorch DDP to Accelerate to Trainer, mastery of distributed training with ease
General Overview
This tutorial assumes you have a basic understanding of PyTorch and how to train a simple model. It will showcase training on multiple GPUs through a process called Distributed Data Parallelism (DDP) through three different levels of increasing abstraction:
Native PyTorch DDP through the pytorch.distributed module
Utilizing ๐ค Accelerate's light wrapper around pytorch.distributed that also helps ensure the code can be run on a single GPU and TPUs with zero code changes and miminimal code changes to the original code
Utilizing ๐ค Transformer's high-level Trainer API which abstracts all the boilerplate code and supports various devices and distributed scenarios
General Overview
This tutorial assumes you have a basic understanding of PyTorch and how to train a simple model. It will showcase training on multiple GPUs through a process called Distributed Data Parallelism (DDP) through three different levels of increasing abstraction:
Native PyTorch DDP through the pytorch.distributed module
Utilizing ๐ค Accelerate's light wrapper around pytorch.distributed that also helps ensure the code can be run on a single GPU and TPUs with zero code changes and miminimal code changes to the original code
Utilizing ๐ค Transformer's high-level Trainer API which abstracts all the boilerplate code and supports various devices and distributed scenarios