AdamW กับ Accelerator
ในแบบฝึกหัดนี้ จะปรับแต่ง training loop โดยใช้ Accelerator และใช้ AdamW เป็น optimizer อ้างอิงสำหรับโมเดลแปลภาษา สร้าง training loop ที่ใช้งาน AdamW
อ็อบเจกต์สำหรับการเทรนบางส่วนถูกโหลดและกำหนดไว้ล่วงหน้าแล้ว ได้แก่ model, train_dataloader และ accelerator
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเทรน AI Model อย่างมีประสิทธิภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- เตรียมอ็อบเจกต์สำหรับการเทรนแบบกระจายก่อนเริ่มลูป
- อัปเดตพารามิเตอร์ของโมเดลภายใน training loop
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")