Accelerate 文件

Accelerate

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

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

Accelerate 基於 `torch_xla` 和 `torch.distributed` 構建,負責繁重的工作,因此您無需編寫任何自定義程式碼來適應這些平臺。將現有程式碼庫轉換為使用 DeepSpeed,執行完全分片資料並行,並自動支援混合精度訓練!

要更好地瞭解此過程,請務必檢視教程

然後可以透過 Accelerate 的 CLI 介面在任何系統上啟動此程式碼

accelerate launch {my_script.py}
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.