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
Hướng dẫn bài tập
- Chỉ định
Adafactorlàm bộ tối ưu hóa trongTrainingArguments. - 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")