Integrare validazione e test

Modelli di AI scalabili con PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Perché integrare validazione e test?

  • Validazione
    • Individua presto problemi di performance
    • Previeni overfitting e underfitting
  • Test
    • Performance su dati mai visti

Diagramma di validazione e test

Modelli di AI scalabili con PyTorch Lightning

Implementare la validazione

  • Valuta le performance a ogni epoch
  • Aggrega metriche per una vista più stabile
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)
Modelli di AI scalabili con PyTorch Lightning

Implementare i test

  • Valuta le performance finali su dati mai visti
  • Confronta l’efficacia nel mondo reale
  • Fornisce metriche per il deployment
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)
Modelli di AI scalabili con PyTorch Lightning

Valutazione con Torchmetrics

$$

  • Monitora metriche come l'accuracy
  • Integra facilmente nel workflow Lightning
  • Inizializza l'accuracy
  • Calcola l'accuracy a ogni step di validazione
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)
Modelli di AI scalabili con PyTorch Lightning

Collegare DataModule, validazione e test

  • Logica dati centralizzata nel DataModule

  • Split train/val/test coerenti

  • Logging automatico delle metriche di validazione

  • Pipeline riproducibile dalla prep al reporting

Diagramma di DataModule, validazione e test

Modelli di AI scalabili con PyTorch Lightning

Ayo berlatih!

Modelli di AI scalabili con PyTorch Lightning

Preparing Video For Download...