Accelerate documentation

Accelerate

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.15.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Accelerate

Accelerate est une bibliothèque qui permet d’exécuter le même code PyTorch sur n’importe quelle configuration distribuée en n’ajoutant que quatre lignes de code ! En résumé, l’entraînement et l’inférence à grande échelle rendus simples, efficaces et adaptables.

+ from accelerate import Accelerator
+ accelerator = Accelerator()

+ model, optimizer, training_dataloader, scheduler = accelerator.prepare(
+     model, optimizer, training_dataloader, scheduler
+ )

  for batch in training_dataloader:
      optimizer.zero_grad()
      inputs, targets = batch
      inputs = inputs.to(device)
      targets = targets.to(device)
      outputs = model(inputs)
      loss = loss_function(outputs, targets)
+     accelerator.backward(loss)
      optimizer.step()
      scheduler.step()

Construit sur torch_xla et torch.distributed, Accelerate prend en charge les tâches complexes, vous évitant ainsi d’écrire du code personnalisé pour vous adapter à ces plateformes. Convertissez vos bases de code existantes pour utiliser DeepSpeed, effectuer une fully sharded data parallelism et bénéficier d’un support automatique de l’entraînement en précision mixte !

Pour mieux comprendre ce processus, n'hésitez pas à consulter les tutoriels !

Ce code peut ensuite être lancé sur n'importe quel système via l'interface en ligne de commande d'Accelerate :

accelerate launch {my_script.py}
Update on GitHub