Začlenění validace a testování

Škálovatelné modely AI s PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Proč začlenit validaci a testování?

  • Validace
    • Včasné odhalení problémů s výkonem modelu
    • Prevence přetrénování a podtrénování
  • Testování
    • Výkon na dosud neviděných datech

Diagram validace a testování

Škálovatelné modely AI s PyTorch Lightning

Implementace validace

  • Vyhodnocení výkonu modelu v každé epoše
  • Agregace metrik pro stabilnější přehled
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)
Škálovatelné modely AI s PyTorch Lightning

Implementace testování

  • Posouzení finálního výkonu modelu na neviděných datech
  • Benchmark reálné účinnosti
  • Poskytnutí metrik pro nasazení modelu
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)
Škálovatelné modely AI s PyTorch Lightning

Vyhodnocení pomocí Torchmetrics

$$

  • Sledování metrik, např. přesnosti
  • Snadná integrace do Lightning workflow
  • Inicializace přesnosti
  • Výpočet přesnosti při každém validačním kroku
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)
Škálovatelné modely AI s PyTorch Lightning

Propojení DataModule, validace a testování

  • Datová logika centralizována v DataModule

  • Konzistentní rozdělení dat na train/val/test

  • Automatické zaznamenávání validačních metrik

  • Reprodukovatelný pipeline od přípravy po reporting

Diagram propojení DataModule, validace a testování

Škálovatelné modely AI s PyTorch Lightning

Pojďme si procvičit!

Škálovatelné modely AI s PyTorch Lightning

Preparing Video For Download...