← all repositories
huggingface/accelerate

Keep Your Training Loop, Lose the Distributed Boilerplate

Hugging Face Accelerate exists so you can keep writing raw PyTorch loops while someone else handles the multi-GPU, TPU, and mixed-precision grunt work.

9.8k stars Python ML Frameworks
accelerate
Not currently ranked — collecting fresh signals.
star history

What it does

Accelerate is a thin compatibility shim for PyTorch training scripts. You instantiate an Accelerator, pass it your model, optimizer, and dataloader, and swap loss.backward() for accelerator.backward(loss). The same script then runs unchanged on a single CPU, a single GPU, multiple GPUs, or TPUs, with optional mixed precision in fp8, fp16, or bf16. It does not replace your loop; it just removes the device-placement and distributed-setup tedium.

The interesting bit

The entire API is essentially one class—Accelerator—which acts like a polite butler that handles the housekeeping while you keep the keys. There is an optional CLI launcher that generates a config file so you can forget the incantations for torch.distributed.run or TPU initialization, but you can still ignore it and run scripts directly if you prefer.

Key highlights

  • Adds roughly five lines of code to an existing PyTorch script to enable distributed or mixed-precision training.
  • Handles device placement automatically, letting you drop explicit .to(device) calls.
  • Optional CLI abstracts away the standard PyTorch distributed launcher and TPU-specific bootstrapping.
  • Includes a notebook_launcher for running distributed training inside Colab or Kaggle notebooks.
  • DeepSpeed integration is available via DeepSpeedPlugin, though the README labels it experimental.

Caveats

  • DeepSpeed support is explicitly marked experimental.
  • If you were hoping for a high-level framework that writes the training loop for you, this is not it; the README warns that you still have to write your own loop.

Verdict

Worth a look if you like writing raw PyTorch but hate maintaining separate scripts for every hardware topology. Skip it if you want a full trainer abstraction like fastai or Lightning.

Frequently asked

What is huggingface/accelerate?
Hugging Face Accelerate exists so you can keep writing raw PyTorch loops while someone else handles the multi-GPU, TPU, and mixed-precision grunt work.
Is accelerate open source?
Yes — huggingface/accelerate is open source, released under the Apache-2.0 license.
What language is accelerate written in?
huggingface/accelerate is primarily written in Python.
How popular is accelerate?
huggingface/accelerate has 9.8k stars on GitHub.
Where can I find accelerate?
huggingface/accelerate is on GitHub at https://github.com/huggingface/accelerate.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.