การสร้าง training logic

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

Sergiy Tkachuk

Director, GenAI Productivity

กำหนด training step

  • รับ batch ของ input และ label
  • คำนวณค่าพยากรณ์ด้วย forward pass
  • คำนวณ cross entropy loss สำหรับการจำแนกประเภท
  • บันทึก training loss เพื่อติดตามผล
def training_step(self, batch, batch_idx):
    x, y = batch

y_hat = self(x)
loss = cross_entropy(y_hat, y)
self.log("train_loss", loss) return loss
AI Models แบบ Scalable ด้วย PyTorch Lightning

การกำหนดค่า optimizer

  • เลือก optimizer ที่เหมาะสมสำหรับการอัปเดต
  • เชื่อมโยงพารามิเตอร์โมเดลเพื่อคำนวณ gradient
  • กำหนด learning rate ที่เหมาะสมสำหรับการ converge
  • คืนค่า optimizer สำหรับการใช้งานกับ Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
AI Models แบบ Scalable ด้วย PyTorch Lightning

การฝึกด้วย Lightning Trainer

  • ผสาน training logic เข้ากับ Lightning Trainer
  • จัดการ training loop และ epoch โดยอัตโนมัติ
  • ติดตาม performance metric แบบ real-time

ขั้นตอนการทำงานของ LightningTrainer

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

การใช้ trainer.fit และ trainer.validate

$$

  • เริ่มการฝึกด้วยเมธอด trainer.fit
  • ตรวจสอบโมเดลด้วยเมธอด trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • ทำให้ training และ validation cycle เป็นอัตโนมัติ
  • ติดตาม metric ในทั้งสองขั้นตอน
AI Models แบบ Scalable ด้วย PyTorch Lightning

ตัวอย่าง training logic แบบครบถ้วน

$$

  • กำหนด LightningModule แบบกำหนดเองพร้อม classifier
  • สร้าง training_step เพื่อคำนวณและบันทึก loss
  • กำหนดค่า optimizer เพื่ออัปเดตพารามิเตอร์โมเดล
  • ฝึกและตรวจสอบโมเดล
class LightClassifier(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.layer=torch.nn.Linear(28 * 28, 10)
    def forward(self, x):
        return self.layer(x.view(x.size(0), -1))

def training_step(self, batch, batch_idx): ...
def configure_optimizers(self): params=self.parameters() optimizer=torch.optim.Adam(params,lr=1e-3) return optimizer
model = LightClassifier() # Define classifier model trainer = Trainer(max_epochs=5) # Define trainer trainer.fit(model, train_dataloader) trainer.validate(model, val_dataloader)
AI Models แบบ Scalable ด้วย PyTorch Lightning

การประยุกต์ใช้ในอุตสาหกรรม

เหตุใด training logic จึงสำคัญ?

  • ติดตาม loss อย่างแม่นยำเพื่อควบคุมคุณภาพ
  • ปรับ training pipeline ให้รองรับการใช้งานขนาดใหญ่

ตัวอย่างในโลกจริง:

  • ยกระดับการวิเคราะห์ภาพในการวินิจฉัยทางการแพทย์
  • สนับสนุนการตรวจจับการทุจริตในธุรกิจการเงิน

ภาพทางการแพทย์

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

การประยุกต์ใช้ในอุตสาหกรรม

เหตุใด training logic จึงสำคัญ?

  • ติดตาม loss อย่างแม่นยำเพื่อควบคุมคุณภาพ
  • ปรับ training pipeline ให้รองรับการใช้งานขนาดใหญ่

ตัวอย่างในโลกจริง:

  • ยกระดับการวิเคราะห์ภาพในการวินิจฉัยทางการแพทย์
  • สนับสนุนการตรวจจับการทุจริตในธุรกิจการเงิน

ภาพทางการแพทย์และการตรวจจับการทุจริต

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

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

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

Preparing Video For Download...