Hugging Face發(fā)布PyTorch新庫「Accelerate」:適用于多GPU、TPU、混合精度訓(xùn)練
多數(shù) PyTorch 高級(jí)庫都支持分布式訓(xùn)練和混合精度訓(xùn)練,但是它們引入的抽象化往往需要用戶學(xué)習(xí)新的 API 來定制訓(xùn)練循環(huán)。許多 PyTorch 用戶希望完全控制自己的訓(xùn)練循環(huán),但不想編寫和維護(hù)訓(xùn)練所需的樣板代碼。Hugging Face 最近發(fā)布的新庫 Accelerate 解決了這個(gè)問題。

import torchimport torch.nn.functional as Ffrom datasets import load_dataset+ from accelerate import Accelerator+ accelerator = Accelerator()- device = 'cpu'+ device = accelerator.devicemodel = torch.nn.Transformer().to(device)optim = torch.optim.Adam(model.parameters())dataset = load_dataset('my_dataset')data = torch.utils.data.DataLoader(dataset, shuffle=True)+ model, optim, data = accelerator.prepare(model, optim, data)model.train()for epoch in range(10):for source, targets in data:source = source.to(device)targets = targets.to(device)optimizer.zero_grad()output = model(source)loss = F.cross_entropy(output, targets)+ accelerator.backward(loss)- loss.backward()optimizer.step()
import torchimport torch.nn.functional as Ffrom datasets import load_dataset+ from accelerate import Accelerator+ accelerator = Accelerator()- device = 'cpu'+ model = torch.nn.Transformer()- model = torch.nn.Transformer().to(device)optim = torch.optim.Adam(model.parameters())dataset = load_dataset('my_dataset')data = torch.utils.data.DataLoader(dataset, shuffle=True)+ model, optim, data = accelerator.prepare(model, optim, data)model.train()for epoch in range(10):for source, targets in data:- source = source.to(device)- targets = targets.to(device)optimizer.zero_grad()output = model(source)loss = F.cross_entropy(output, targets)+ accelerator.backward(loss)- loss.backward()optimizer.step()
accelerate configaccelerate launch my_script.py --args_to_my_scriptaccelerator = Accelerator()model, optim, data = accelerator.prepare(model, optim, data)accelerator.backward(loss)CPU
單 GPU
單一節(jié)點(diǎn)多 GPU
多節(jié)點(diǎn)多 GPU
TPU
帶有本地 AMP 的 FP16(路線圖上的頂點(diǎn))
End 
聲明:部分內(nèi)容來源于網(wǎng)絡(luò),僅供讀者學(xué)術(shù)交流之目的,文章版權(quán)歸原作者所有。如有不妥,請聯(lián)系刪除。
猜您喜歡:

等你著陸!【GAN生成對抗網(wǎng)絡(luò)】知識(shí)星球!
附下載 | 經(jīng)典《Think Python》中文版
附下載 | 《Pytorch模型訓(xùn)練實(shí)用教程》
附下載 | 最新2020李沐《動(dòng)手學(xué)深度學(xué)習(xí)》
附下載 | 《可解釋的機(jī)器學(xué)習(xí)》中文版
附下載 |《TensorFlow 2.0 深度學(xué)習(xí)算法實(shí)戰(zhàn)》
附下載 | 超100篇!CVPR 2020最全GAN論文梳理匯總!
附下載 |《計(jì)算機(jī)視覺中的數(shù)學(xué)方法》分享
評(píng)論
圖片
表情
