Accelerate

1.13.0 · active · verified Thu Mar 26

Hugging Face library to run PyTorch training across any distributed configuration with minimal code changes. Current version is 1.13.0 (Mar 2026). Requires Python >=3.10. Core pattern: Accelerator() + accelerator.prepare() + accelerator.backward(). Must run accelerate config before first use.

Warnings

Install

Imports

Quickstart

Core Accelerate pattern. Run with: accelerate launch train.py

from accelerate import Accelerator
import torch
import torch.nn as nn

def train():
    accelerator = Accelerator(mixed_precision='bf16')
    
    model = nn.Linear(10, 1)
    optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3)
    dataloader = ...  # your DataLoader
    
    # prepare() handles device placement and distributed wrapping
    model, optimizer, dataloader = accelerator.prepare(
        model, optimizer, dataloader
    )
    
    model.train()
    for batch in dataloader:
        optimizer.zero_grad()
        outputs = model(batch['input'])
        loss = nn.functional.mse_loss(outputs, batch['target'])
        accelerator.backward(loss)  # not loss.backward()
        optimizer.step()
    
    # Save on main process only
    accelerator.wait_for_everyone()
    if accelerator.is_main_process:
        accelerator.save_model(model, 'output/')

view raw JSON →