Mixed precision training ด้วย Accelerator
ลองใช้ Accelerator เพื่อลดความซับซ้อนของ PyTorch loop สำหรับ mixed precision training ของโมเดลแปลภาษา แล้วสร้าง training loop ใหม่โดยใช้ประโยชน์จาก Accelerator
ออบเจกต์ต่อไปนี้ถูกโหลดไว้แล้ว: dataset, model, dataloader และ optimizer
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเทรน AI Model อย่างมีประสิทธิภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- เปิดใช้งาน mixed precision training แบบ FP16 ใน
Accelerator - เตรียมออบเจกต์สำหรับ training ให้พร้อมใช้งาน mixed precision training ก่อนเริ่ม loop
- คำนวณ gradient ของ loss สำหรับ mixed precision training
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Enable mixed precision training using FP16
accelerator = Accelerator(____="____")
# Prepare training objects for mixed precision training
model, optimizer, train_dataloader, lr_scheduler = ____.____(____, ____, ____, ____)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Compute the gradients of the loss
____.____(loss)
optimizer.step()
optimizer.zero_grad()