Scalable AI Models with PyTorch Lightning
Sergiy Tkachuk
Director, GenAI Productivity
$$
標準 PyTorch:

PyTorch Lightning:

$$
LightningModule 與 Trainerfrom lightning.pytorch import LightningModule
from lightning.pytorch import Trainer
關鍵元件:

關鍵元件:

關鍵元件:

重點:
__init__:定義模型架構forward():資料傳遞經模型training_step():定義訓練import lightning.pytorch as pl class LightClassifier(pl.LightningModule): def __init__(self, model, criterion, optimizer):super().__init__() self.model = model self.criterion = criterion self.optimizer = optimizerdef forward(self, x): return self.model(x)def training_step(self, batch, batch_idx): x, y = batch logits = self(x) loss = self.criterion(logits, y) return loss
重點:
model = LightClassifier()trainer = Trainer(max_epochs=10, accelerator="gpu", devices=1) trainer.fit(model, train_dataloader, val_dataloader)
一組模擬 MNIST 風格的資料集,涵蓋四種屬於亞非語系與尼日-剛果語系的文字系統:Ge'ez(衣索比亞文)、Vai、Osmanya 與 N'Ko。


Scalable AI Models with PyTorch Lightning