Bucle de antrenament înainte și după Accelerator
Vrei să modifici o buclă de antrenament PyTorch pentru a folosi Accelerator cu modelul tău de limbaj, care simplifică traducerile folosind setul de date MPRC de parafraze de propoziții. Actualizează bucla de antrenament pentru a pregăti modelul în vederea antrenamentului distribuit.
Unele date au fost preîncărcate:
acceleratoreste o instanță a claseiAcceleratortrain_dataloader,optimizer,modelșilr_schedulerau fost definite și pregătite cuAccelerator
Acest exercițiu face parte din cursul
Antrenament eficient al modelelor AI cu PyTorch
Instrucțiuni pentru exercițiu
- Actualizează liniile
.to(device)astfel încât Accelerator să gestioneze plasarea pe dispozitiv. - Modifică calculul gradienților pentru a utiliza
Accelerator.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
for batch in train_dataloader:
optimizer.zero_grad()
inputs, targets = batch["input_ids"], batch["labels"]
# Update the lines so Accelerator handles device placement
inputs = inputs.to(device)
targets = targets.to(device)
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Modify the gradient computation to use Accelerator
____.backward(____)
optimizer.step()
lr_scheduler.step()