Đặt mô hình ở chế độ đánh giá
Bạn đã sẵn sàng đặt mô hình ngôn ngữ vào chế độ đánh giá. Nếu mô hình không ở chế độ đánh giá khi suy luận, các tầng như batch normalization và dropout sẽ làm thay đổi hành vi của mô hình, dẫn đến chất lượng dịch không nhất quán. Hãy xây dựng vòng lặp để đánh giá mô hình!
Một số dữ liệu đã được nạp sẵn: model, eval_dataloader, accelerator, và metric.
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
- Đặt mô hình ở chế độ đánh giá trước khi lặp qua các batch trong tập dữ liệu.
- Gom
predictionsvàlabelstrên nhiều thiết bị để tính chỉ số đánh giá bằng phương thức.gather_for_metrics()của Accelerator. - Tính toán chỉ số đánh giá ở cuối cùng.
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.
metric = evaluate.load("glue", "mrpc")
# Set the model in evaluation mode
____.____()
for step, batch in enumerate(eval_dataloader):
with torch.no_grad():
outputs = model(**batch)
predictions = outputs.logits.argmax(dim=-1)
# Aggregate values across devices
predictions, references = ____.____((predictions, batch["labels"]))
metric.add_batch(predictions=predictions, references=references)
# Compute the evaluation metric
eval_metric = metric.____()
print(eval_metric)