Trenowanie z mieszaną precyzją przy użyciu Accelerator
Chcesz uprościć pętlę treningową PyTorch do trenowania modelu tłumaczenia językowego z mieszaną precyzją – w tym celu użyj Accelerator. Zbuduj nową pętlę treningową, która korzysta z Accelerator!
Następujące obiekty zostały wcześniej załadowane: dataset, model, dataloader oraz optimizer.
To ćwiczenie jest częścią kursu
Efektywne trenowanie modeli AI z PyTorch
Instrukcje do ćwiczenia
- Włącz trenowanie z mieszaną precyzją z użyciem FP16 w
Accelerator. - Przed pętlą przygotuj obiekty treningowe do trenowania z mieszaną precyzją.
- Oblicz gradienty funkcji straty dla trenowania z mieszaną precyzją.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Enable mixed precision training using FP16
accelerator = Accelerator(____="____")
# Prepare training objects for mixed precision training
model, optimizer, train_dataloader, lr_scheduler = ____.____(____, ____, ____, ____)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Compute the gradients of the loss
____.____(loss)
optimizer.step()
optimizer.zero_grad()