Walidacja i testowanie

Skalowalne modele AI z PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Dlaczego warto stosować walidację i testowanie?

  • Walidacja
    • Wczesne wykrywanie problemów z modelem
    • Zapobieganie przeuczeniu i niedouczeniu
  • Testowanie
    • Wydajność na niewidzianych danych

Diagram walidacji i testowania

Skalowalne modele AI z PyTorch Lightning

Implementacja walidacji

  • Ocena wydajności modelu w każdej epoce
  • Agregowanie metryk dla stabilniejszego obrazu
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)
Skalowalne modele AI z PyTorch Lightning

Implementacja testowania

  • Ocena końcowej wydajności modelu na niewidzianych danych
  • Weryfikacja skuteczności w rzeczywistych warunkach
  • Dostarczanie metryk do wdrożenia 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)
Skalowalne modele AI z PyTorch Lightning

Ewaluacja z Torchmetrics

$$

  • Monitorowanie metryk, np. dokładności
  • Łatwa integracja z przepływem Lightning
  • Inicjalizacja dokładności
  • Obliczanie dokładności w każdym kroku walidacji
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)
Skalowalne modele AI z PyTorch Lightning

Łączenie DataModule, walidacji i testowania

  • Logika danych scentralizowana w DataModule

  • Spójne podziały danych na zbiory train/val/test

  • Automatyczne rejestrowanie metryk walidacji

  • Odtwarzalny potok od przygotowania do raportowania

Diagram DataModule, walidacji i testowania

Skalowalne modele AI z PyTorch Lightning

Czas na ćwiczenia!

Skalowalne modele AI z PyTorch Lightning

Preparing Video For Download...