Accelerate documentation
Accelerate
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}Освойте основы и познакомьтесь с использованием Accelerate. Начните отсюда, если вы используете Accelerate впервые!
Практические руководства, которые помогут вам достичь конкретной цели. Ознакомьтесь с этими руководствами, чтобы узнать, как использовать Accelerate для решения реальных задач.
Подробные объяснения для формирования глубокого понимания важных тем, таких как избегание тонких нюансов и типичных ошибок при распределённом обучении и использовании DeepSpeed.
Технические описания того, как работают классы и методы Accelerate.