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

Adafactor với Trainer

Bạn đang huấn luyện một mô hình Transformer với hàng tỷ tham số cho dịch vụ dịch ngôn ngữ của mình. Việc này đang gây áp lực lớn lên tài nguyên tính toán, nên bạn quyết định thử bộ tối ưu hóa Adafactor để giảm yêu cầu bộ nhớ so với AdamW. Hãy chuẩn bị Trainer cho Adafactor!

Một số đối tượng phục vụ huấn luyện đã được nạp sẵn, bao gồm model, train_dataset, validation_dataset, và compute_metrics.

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

  • Chỉ định Adafactor làm bộ tối ưu hóa trong TrainingArguments.
  • Truyền vào trạng thái của bộ tối ưu hóa để in kích thước.

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.

# Specify Adafactor as an optimizer
training_args = TrainingArguments(output_dir="./results",
                                  evaluation_strategy="epoch",
                                  optim="____")

trainer = Trainer(model=model,
                  args=training_args,
                  train_dataset=train_dataset,
                  eval_dataset=validation_dataset,
                  compute_metrics=compute_metrics)
trainer.train()

# Pass in the optimizer state
total_size_megabytes, total_num_elements = compute_optimizer_size(trainer.optimizer.state.____())
print(f"\nNumber of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")  
Chỉnh sửa và Chạy Mã