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