Xây dựng vòng lặp huấn luyện với Accelerator
Bạn đã sẵn sàng triển khai một vòng lặp huấn luyện cho dịch vụ dịch ngôn ngữ của mình. Sau khi thấy Accelerator điều chỉnh vòng lặp PyTorch cho huấn luyện phân tán như thế nào, bạn có thể tận dụng lớp Accelerator trong vòng lặp huấn luyện của mình!
Một số dữ liệu đã được nạp sẵn:
acceleratorlà một thể hiện củaAcceleratortrain_dataloader,optimizer,model, vàlr_schedulerđã được định nghĩa và chuẩn bị vớiAccelerator
Bài tập này là một phần của khóa học
Huấn luyện Mô hình AI Hiệu quả với PyTorch
Hướng dẫn bài tập
- Gọi
optimizerđể đặt lại gradient về 0. - Cập nhật các tham số của mô hình.
- Cập nhật learning rate của
optimizer.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
for batch in train_dataloader:
# Call the optimizer to zero the gradients
____.____()
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model's parameters
____.____()
# Update the learning rate of the optimizer
____.____()