accelerate

Hugging Face Accelerate 分布式训练

补充说明

Accelerate 用少量代码改动把普通 PyTorch 训练脚本跑在多 GPU、TPU 或混合精度环境。它封装了设备放置、分布式初始化和混合精度,适合快速从单卡扩展到多卡。

常用示例

生成配置:

accelerate config

查看配置:

accelerate env

单机多卡启动:

accelerate launch --num_processes 4 train.py

混合精度:

accelerate launch --mixed_precision fp16 --num_processes 4 train.py

多机启动:

accelerate launch \
  --multi_gpu --num_machines 2 --num_processes 16 \
  --machine_rank 0 --main_process_ip 10.0.0.10 \
  --main_process_port 29500 train.py

代码中使用:

from accelerate import Accelerator
accelerator = Accelerator()
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
accelerator.backward(loss)

易错点与排错