Accelerate documentation
Accelerate
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}Aprende los conceptos básicos y familiarízate con el uso de Accelerate. ¡Comienza aquí si es la primera vez que usas Accelerate!
Guías prácticas para ayudarte a lograr un objetivo específico. Echa un vistazo a estas guías para aprender a usar Accelerate para resolver problemas del mundo real.
Explicaciones de alto nivel para construir una mejor comprensión de temas importantes, como evitar matices sutiles y errores comunes en el entrenamiento distribuido y DeepSpeed.
Descripciones técnicas de cómo funcionan las clases y los métodos de Accelerate.