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 es una biblioteca que permite ejecutar el mismo código de PyTorch en cualquier configuración distribuida añadiendo solo cuatro líneas de código. En resumen, el entrenamiento y la inferencia a gran escala, simplificados, eficientes y 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()

Construido sobre torch_xla y torch.distributed, Accelerate se encarga del trabajo pesado, por lo que no tienes que escribir código personalizado para adaptarte a estas plataformas. Convierte bases de código existentes para utilizar DeepSpeed, realizar fully sharded data parallelism y tener soporte automático para el entrenamiento con precisión mixta.

Para tener una mejor idea de este proceso, asegúrate de consultar los Tutorials!

A continuación, este código puede ejecutarse en cualquier sistema a través de la interfaz de línea de comandos de Accelerate:

accelerate launch {my_script.py}
Update on GitHub