Gradient checkpointing ด้วย Trainer
ต้องการใช้ gradient checkpointing เพื่อลดการใช้หน่วยความจำของโมเดล คุณได้เรียนรู้วิธีเขียน training loop แบบชัดเจนด้วย Accelerator มาแล้ว และตอนนี้อยากลองใช้อินเทอร์เฟซที่เรียบง่ายกว่าผ่าน Trainer โดยไม่ต้องเขียน training loop เอง แบบฝึกหัดนี้จะใช้เวลาสักครู่เมื่อเรียก trainer.train()
ตั้งค่าอาร์กิวเมนต์ของ Trainer ให้ใช้ gradient checkpointing
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเทรน AI Model อย่างมีประสิทธิภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- กำหนดจำนวน gradient accumulation steps เป็น 4 ขั้นตอนใน
TrainingArguments - เปิดใช้งาน gradient checkpointing ใน
TrainingArguments - ส่งอาร์กิวเมนต์สำหรับการเทรนไปยัง
Trainer
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
training_args = TrainingArguments(output_dir="./results",
evaluation_strategy="epoch",
# Use four gradient accumulation steps
gradient_accumulation_steps=____,
# Enable gradient checkpointing
gradient_checkpointing=____)
trainer = Trainer(model=model,
# Pass in the training arguments
args=____,
train_dataset=dataset["train"],
eval_dataset=dataset["validation"],
compute_metrics=compute_metrics)
trainer.train()