เพิ่มประสิทธิภาพการเทรนด้วย Lightning callbacks

AI Models แบบ Scalable ด้วย PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Callbacks คืออะไร?

$$

  • ฟังก์ชันที่ทำงานในช่วงสำคัญของการเทรน
  • เพิ่ม action แบบกำหนดเองโดยไม่ทำให้โค้ดรกรุงรัง
  • เพิ่มความยืดหยุ่นและควบคุมได้มากขึ้น

ภาพรวม callbacks

AI Models แบบ Scalable ด้วย PyTorch Lightning

Callbacks คืออะไร?

$$

from lightning.pytorch.callbacks import Callback

class MyPrintingCallback(Callback):

def on_train_start(self, trainer, pl_module): print("Training is starting")
def on_train_end(self, trainer, pl_module): print("Training is ending")
  • เพิ่ม action แบบกำหนดเองในแต่ละช่วงของการเทรน
AI Models แบบ Scalable ด้วย PyTorch Lightning

Lightning ModelCheckpoint callback

$$

  • บันทึกโมเดลอัตโนมัติตามช่วงที่กำหนด

  • เลือก metric ที่ต้องการติดตาม

  • เก็บเฉพาะโมเดลที่ดีที่สุด

from lightning.pytorch.callbacks
import ModelCheckpoint

checkpoint_callback = ModelCheckpoint(
monitor='val_loss',
dirpath='my/path/',
filename='{epoch}-{val_loss:.2f}',
save_top_k=1,
mode='min'
)
1 https://lightning.ai/docs/pytorch/stable/api/lightning.pytorch.callbacks.ModelCheckpoint.html
AI Models แบบ Scalable ด้วย PyTorch Lightning

Lightning EarlyStopping callback

$$

  • ติดตาม metric
  • หยุดการเทรนเมื่อ metric ไม่ดีขึ้น
from lightning.pytorch.callbacks
import EarlyStopping

early_stopping_callback = EarlyStopping(

monitor='val_loss',
patience=3,
mode='min'
)
1 https://lightning.ai/docs/pytorch/stable/api/lightning.pytorch.callbacks.EarlyStopping.html
AI Models แบบ Scalable ด้วย PyTorch Lightning

การปรับแต่งและใช้งาน Lightning callbacks

from lightning.pytorch import Trainer
from lightning.pytorch.callbacks import EarlyStopping, ModelCheckpoint

checkpoint = ModelCheckpoint( monitor='val_accuracy', save_top_k=2, mode='max')
early_stopping = EarlyStopping( monitor='val_accuracy', patience=5, mode='max')
trainer = Trainer(max_epochs=50, callbacks=[checkpoint, early_stopping])
1 https://lightning.ai/docs/pytorch/stable/common/trainer.html
AI Models แบบ Scalable ด้วย PyTorch Lightning

มาฝึกกันเถอะ!

AI Models แบบ Scalable ด้วย PyTorch Lightning

Preparing Video For Download...