Vòng lặp huấn luyện trước và sau khi dùng Accelerator
Bạn muốn chỉnh sửa một vòng lặp huấn luyện PyTorch để dùng Accelerator cho mô hình ngôn ngữ, nhằm đơn giản hóa việc dịch bằng bộ dữ liệu MPRC gồm các cặp câu diễn đạt lại. Hãy cập nhật vòng lặp huấn luyện để chuẩn bị mô hình cho huấn luyện phân tán.
Một số dữ liệu đã được tải 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
- Cập nhật các dòng
.to(device)để Accelerator xử lý việc gán thiết bị. - Sửa phần tính gradient để dùng
Accelerator.
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:
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()