Accelerate documentation
Accelerate
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}Apprenez les bases et familiarisez-vous avec l'utilisation d'Accelerate. Commencez ici si c'est votre première utilisation d'Accelerate !
Guides pratiques pour vous aider à atteindre un objectif précis. Consultez ces guides pour apprendre à utiliser Accelerate afin de résoudre des problèmes concrets.
Explications de haut niveau pour mieux comprendre des sujets importants, tels que l'évitement des nuances subtiles et des pièges dans l'entraînement distribué et DeepSpeed.
Descriptions techniques du fonctionnement des classes et méthodes d’Accelerate.