Accelerate 文档
Accelerate
加入 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 上更新