Incluindo validação e teste

Modelos de IA escaláveis com PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Por que incluir validação e teste?

  • Validação
    • Identifica problemas cedo
    • Evita overfitting e underfitting
  • Teste
    • Desempenho em dados inéditos

Diagrama de validação e teste

Modelos de IA escaláveis com PyTorch Lightning

Implementando validação

  • Avalie o modelo a cada época
  • Agregue métricas para visão estável
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)
Modelos de IA escaláveis com PyTorch Lightning

Implementando teste

  • Meça o desempenho final em dados inéditos
  • Faça benchmark da eficácia no mundo real
  • Gere métricas para deploy do modelo
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)
Modelos de IA escaláveis com PyTorch Lightning

Avaliação com Torchmetrics

$$

  • Monitore métricas como accuracy
  • Integre fácil ao fluxo do Lightning
  • Inicie a métrica de accuracy
  • Calcule a accuracy em cada validação
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)
Modelos de IA escaláveis com PyTorch Lightning

Conectando DataModule, validação e teste

  • Lógica de dados centralizada no DataModule

  • Divisões train/val/test consistentes

  • Log automático de métricas de validação

  • Pipeline reproduzível do prep ao reporting

Diagrama de DataModule, validação e teste

Modelos de IA escaláveis com PyTorch Lightning

Vamos praticar!

Modelos de IA escaláveis com PyTorch Lightning

Preparing Video For Download...