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는 단 4줄의 코드만 추가하면 동일한 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를 활용하도록 변환하고, fully sharded data parallelism을 수행하며, 혼합 정밀도 학습에 대한 자동 지원을 제공하세요!

이 과정을 더 잘 이해하려면 튜토리얼을 꼭 확인해 보세요!

이 코드는 Accelerate의 CLI 인터페이스를 통해 어떤 시스템에서든 실행할 수 있습니다:

accelerate launch {my_script.py}
Update on GitHub