Bắt đầu ngayBắt đầu miễn phí

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:

  • accelerator là một thể hiện của Accelerator
  • train_dataloader, optimizer, model, và lr_scheduler đã được định nghĩa và chuẩn bị với Accelerator

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

Xem khóa học

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()
Chỉnh sửa và Chạy Mã