huggingface笔记:使用accelerate加速

1 介绍

  • 随着模型规模的增大,并行处理已成为在有限硬件上训练大型模型和提高训练速度的重要策略。
  • Hugging Face 创建了Accelerate库,帮助用户在任何类型的分布式环境中轻松训练Transformers模型,无论是单机多GPU还是跨多机的多GPU

2 创建Accelerator对象

from accelerate import Accelerator

accelerator = Accelerator()
  •  Accelerator类初始化分布式训练所需的一切,并且会根据代码启动的方式自动检测你的训练环境(单机单GPU、单机多GPU、多机多GPU或TPU等)
  • 默认情况下,Accelerator类会自动将对象放置到合适的设备上
    • 可以通过在初始化Accelerator时传递device_placement=False来关闭自动设备放置
    • 如果想明确地将对象放置到某个设备上,确保使用accelerator.device

3 训练对象传递给prepare方法

train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare(
    train_dataloader,
    eval_dataloader, 
    model, 
    optimizer
)

4 反向传播

唯一不同的是把loss.backward()替换成Accelerate的backward

5 总结

绿色的是加上的,红色的是去掉的

6  训练

运行以下命令创建并保存配置文件


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值