1 介绍
- 随着模型规模的增大,并行处理已成为在有限硬件上训练大型模型和提高训练速度的重要策略。
- Hugging Face 创建了Accelerate库,帮助用户在任何类型的分布式环境中轻松训练Transformers模型,无论是单机多GPU还是跨多机的多GPU
2 创建Accelerator对象
from accelerate import Accelerator
accelerator = Accelerator()
3 训练对象传递给prepare方法
train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare(
train_dataloader,
eval_dataloader,
model,
optimizer
)
4 反向传播
唯一不同的是把loss.backward()替换成Accelerate的backward
5 总结
绿色的是加上的,红色的是去掉的
6 训练
运行以下命令创建并保存配置文件
accelerate config
然后启动训练:
accelerate launch train.py