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 — это библиотека, которая позволяет запускать один и тот же код PyTorch в любой распределённой конфигурации, добавив всего четыре строки кода! Коротко: обучение и инференс в масштабе — просто, эффективно и гибко.

+ 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()

Построен на torch_xla и torch.distributed, Accelerate берёт на себя всю тяжёлую работу, поэтому вам не нужно писать собственный код для адаптации к этим платформам. Конвертируйте существующие кодовые базы для использования DeepSpeed, выполнения полностью шардированного параллелизма данных и получения автоматической поддержки обучения с смешанной точностью!

Чтобы лучше понять этот процесс, обязательно загляните в раздел Учебники!

Затем этот код можно запустить на любой системе через интерфейс командной строки Accelerate:

accelerate launch {my_script.py}
Update on GitHub