การเพิ่ม Validation และ Testing

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

Sergiy Tkachuk

Director, GenAI Productivity

ทำไมต้องใช้ Validation และ Testing?

  • Validation
    • ตรวจพบปัญหาประสิทธิภาพของโมเดลได้เร็ว
    • ป้องกัน overfitting และ underfitting
  • Testing
    • วัดประสิทธิภาพบนข้อมูลที่ไม่เคยเห็น

แผนภาพ Validation และ Test

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

การนำ Validation ไปใช้

  • ประเมินประสิทธิภาพโมเดลในแต่ละ epoch
  • รวม metric เพื่อให้ภาพรวมเสถียรขึ้น
def validation_step(self, batch, batch_idx):
  x, y = batch
  preds = self(x)
  loss = F.cross_entropy(preds, y)
  self.log('val_loss', loss)


def validation_epoch_end(self, outputs): avg_loss = torch.stack([x['loss'] for x in outputs]).mean() self.log('avg_val_loss', avg_loss)
AI Models แบบ Scalable ด้วย PyTorch Lightning

การนำ Testing ไปใช้

  • ประเมินประสิทธิภาพสุดท้ายของโมเดลบนข้อมูลที่ไม่เคยเห็น
  • วัดประสิทธิผลในสถานการณ์จริง
  • ให้ metric สำหรับการ deploy โมเดล
def test_step(self, batch, batch_idx):
  x, y = batch
  y_hat = self(x)
  loss = F.cross_entropy(y_hat, y)
  self.log('test_loss', loss)


def test_epoch_end(self, outputs): avg_loss = torch.stack([x['loss'] for x in outputs]).mean() self.log('avg_test_loss', avg_loss)
AI Models แบบ Scalable ด้วย PyTorch Lightning

การประเมินผลด้วย Torchmetrics

$$

  • ติดตาม metric เช่น accuracy
  • ผสานเข้ากับ Lightning workflow ได้ง่าย
  • กำหนดค่าเริ่มต้น accuracy
  • คำนวณ accuracy ในแต่ละ validation step
from torchmetrics import Accuracy

class BaseModel(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.accuracy = Accuracy()

def validation_step(self, batch, batch_idx): x, y = batch preds = self(x) acc = self.accuracy(preds, y) self.log('val_acc', acc)
AI Models แบบ Scalable ด้วย PyTorch Lightning

เชื่อมต่อ DataModule, Validation และ Testing

  • รวมตรรกะข้อมูลไว้ใน DataModule

  • แบ่งข้อมูล train/val/test อย่างสม่ำเสมอ

  • บันทึก validation metric โดยอัตโนมัติ

  • pipeline ที่ reproduce ได้ตั้งแต่เตรียมข้อมูลถึงรายงานผล

แผนภาพ DataModule, Validation และ Testing

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

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

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

Preparing Video For Download...