Favicon of Accelerate

Accelerate

A PyTorch library for local or distributed training and inference, with CPU, GPU and TPU support and automatic mixed precision.

Screenshot of Accelerate website

Accelerate is a Python library for developers and researchers who write their own PyTorch training loops. It handles hardware and distributed execution so they can keep control of how their models train.

  • Local and distributed workloads: Use the same PyTorch code on a local machine or across multiple machines for training and inference.
  • Hardware support: Run on CPUs, GPUs or TPUs, including multiple CPUs or GPUs across machines, with automatic device placement.
  • Mixed precision: Train with FP16, BF16 or FP8; FP8 support uses Transformer Engine or MS-AMP.
  • Notebook training: Run distributed training from notebooks, including Colab and Kaggle notebooks with a TPU backend.

Accelerate is open source under Apache 2.0 and runs in your chosen local or cluster environment. Colab and Kaggle notebook workloads run on those hosted services. Its command-line launcher is optional, and you'll still need to write the training loop yourself.

Similar to Accelerate